Ubuntu版本更替所引发的“血案”

Ubuntu版本更替所引发的“血案”

      今天,我兴致很高的装了双系统,并且配置了Linux的网络,接下来就是安装一些软件,来实现我想达到的功能了,结果被一个小小的命令卡的体无完肤!仔细想想还是自己对于某一些事情一知半解,或者是三天打鱼两天晒网,以前知道现在却忘了,搞得非常的被动,从下午三四点一直搞到了现在九点多,我不知道是自己的毅力支撑着,还是自己的不服输的精神和求知的欲望在坚持着,总算是让我找到了原因。

     事情是这样的,当我想安装一个软件的时候,按照Ubuntu固有的规范,我只需要sudo apt-get install [软件名],这样系统就会拿着这个软件名从/etc/apt/source.list文件中读取‘源’,然后根据这个源,其实也就是网址,网址上存着我们需要的资源,来帮助我们下载并且安装,自动解决各种依赖问题,这种思路是非常好的,并且一直受到很多软件的借鉴,比如rpm等等,可是有一个问题,我一直都没有仔细想过,当我运行这个安装命令的时候,出现找不到这个软件,最初我认为是不是网络的问题,ping一下IP地址,发现是畅通的,之后检查一下域名,这个我用的是教育网,我也不清楚具体的域名是什么,但是可以正常访问外网说明domain也没有问题,之后我还查看了/etc/hosts文件,将源的IP和DNS写到了里面,免去了在网上查找,即使是这样我仍然不能解决这个问题,排除了网络的问题,那就只能是“源”的问题了。

      我开始拿着错误拼命地搜索,还真的搜到了很多的解释,我仔细看了一下,大概是说,让我修改一下描述‘源’的文件,将其中的内容修改成别的‘源’,原因可能是我的‘源’已经太老旧了,被淘汰了,之后我不断的搜寻着新的‘源’,并且不断地替换/etc/apt/sources.list文件,有一次有了一定的改观,错误的形式发生了改变,这就更加坚定了我认为就是‘源的错误,之后,我继续尝试,将国内的好多大学,各种公司,网易,阿里云,搜狐等等都试了很多遍,渐渐地我明白了‘源’的格式和定义,以及每一次版本的区别和联系,知道了这些,我更加的得心应手了,更有意思的是我在一个网站上搜到了说明,果然我安装的Ubuntu kylin15.04的源已经被淘汰了,我打开淘汰的‘源’,看到了其中标准的格式,代码编号为‘vivid’,于是我又尝试了很多的国内、国外、标准的网址,结果都失败了,经过这么多次尝试,我的心理承受能力得到了很大的增强,哈哈,尝试了这么多,我的思路渐渐的明朗起来了,我在网上搜索,难道旧版本的Ubuntu已经被彻底的废弃了吗,因为维持Ubuntu工作的就是这些‘源’,现在不被维护了,并且从原来的服务器上下架了,所以我在网上搜到的资料对于当时是有用的,但是对于现在是一点用都没有,在不断的尝试中,我基本上都快放弃了,决定装最新的版本,或者仍然在维护的版本,可是当我搜到相关的问题的时候,总算是找到了一些也是遇到这样问题的人,并且提供了一个所有Ubuntu下架之后存放的网址,根据这个网址,我总算是进行了修改,保证了能够正确的寻找到‘源’,虽然速度慢一点,但是总算是解决了我的问题,忙碌了一天总算是搞定了这个问题,赞一个!

      具体的网址为:http://old-releases.ubuntu.com/

   

同样的,修改并替换/etc/apt/source.list文件为:

   deb http://old-releases.ubuntu.com/ubuntu vivid main restricted universe multiverse

    deb http://old-releases.ubuntu.com/ubuntu vivid-security main restricted universe multiverse

    deb http://old-releases.ubuntu.com/ubuntu vivid-updates main restricted universe multiverse

    deb http://old-releases.ubuntu.com/ubuntu vivid-proposed main restricted universe multiverse

    deb http://old-releases.ubuntu.com/ubuntu vivid-backports main restricted universe multiverse

    deb-src http://old-releases.ubuntu.com/ubuntu vivid main restricted universe multiverse

   deb-src http://old-releases.ubuntu.com/ubuntu vivid-security main restricted universe multiverse

   deb-src http://old-releases.ubuntu.com/ubuntu vivid-updates main restricted universe multiverse

   deb-src http://old-releases.ubuntu.com/ubuntu vivid-proposed main restricted universe multiverse

   deb-src http://old-releases.ubuntu.com/ubuntu vivid-backports main restricted universe multiverse

这里大致说一下,对于任意一个版本,我们保持这十行数据的格式不变,只需要做以下操作,首先,将网址替换为 http://old-releases.ubuntu.com/ubuntu,其次,查找自己版本对应的编号,比如我这里Ubuntu kylin15.04对应的编号是vivid,其他的版本,可以通过如下图片的圈中的地方来查看。当然了,这里适用的是已经停止维护的版本,对于那些正在提供服务的版本,只需要按照官方的设置就可以了。经过了这一次困惑,我又对‘源’这个概念有了深刻的认识,这种设计理念和开发理念是非常不错的,但是就会造成这样的问题,就好像是一家网店,当它开业的时候,我们在上面买了一些东西,用了之后觉得不错,又过了一两年,突然觉得这家店的东西还是很不错的,自己还想再买一次看看,可是再去买的时候就找不到这家店了,网上还有一些琐碎的连接,我们拿着这些链接,总是找的网址不正确,这个时候假如那些下架的商品都被统一放到了一个网址里面,那我们从这里肯定可以找到适合我们的商品的,例子不怎么恰当,可是就是这个道理啦,有时候困扰我们几个小时,甚至几天的问题其实道理都非常的加单,我们要用发展的眼光看问题,这样问题就迎刃而解了!

原文地址:https://www.cnblogs.com/zyrblog/p/8495187.html

时间: 2024-10-08 11:44:30

Ubuntu版本更替所引发的“血案”的相关文章

版本不匹配引发的血案:javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint

发现一个API报了错: javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint 'javax.validation.constraints.NotEmpty' validating type 'java.lang.String'. Check configuration for 'cancelReason' at org.hibernate.validator.i

一个无锁消息队列引发的血案(六)——RingQueue(中) 休眠的艺术 [续]

目录 (一)起因 (二)混合自旋锁 (三)q3.h 与 RingBuffer (四)RingQueue(上) 自旋锁 (五)RingQueue(中) 休眠的艺术 (六)RingQueue(中) 休眠的艺术 [续] 开篇 这是第五篇的后续,这部分的内容同时会更新和添加在 第五篇:RingQueue(中) 休眠的艺术 一文的末尾. 归纳 紧接上一篇的末尾,我们把 Windows 和 Linux 下的休眠策略归纳总结一下,如下图: 我们可以看到,Linux 下的 sched_yield() 虽然包括了

一个Sqrt函数引发的血案

我们平时经常会有一些数据运算的操作,需要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系统是如何实现的?就拿最常用的sqrt函数来说吧,系统怎么来实现这个经常调用的函数呢? 虽然有可能你平时没有想过这个问题,不过正所谓是"临阵磨枪,不快也光",你"眉头一皱,计上心来",这个不是太简单了嘛,用二分的方法,在一个区间中,每次拿中间数的平方来试验,如果大了,就再试左区间的中间数:如果小了,就再拿右区间的中间数来试.比如求sqrt(16)的结果,你先试

一次优化引发的血案

前些天一个Nginx+PHP项目上线后遭遇了性能问题,于是打算练练手,因为代码并不是我亲自写的,所以决定从系统层面入手看看能否做一些粗线条的优化. 首先,我发现服务的Backlog设置过小,可以通过ss命令查询Send-Q来确认: shell> ss -ln Recv-Q Send-Q Local Address:Port Peer Address:Port 0 511 *:80 *:* 0 128 127.0.0.1:9000 *:* 明显看出,Nginx的Backlog是511:PHP的Ba

【转载】一个Sqrt函数引发的血案

转自:http://www.cnblogs.com/pkuoliver/archive/2010/10/06/sotry-about-sqrt.html 源码下载地址:http://diducoder.com/sotry-about-sqrt.html 好吧,我承认我标题党了,不过既然你来了,就认真看下去吧,保证你有收获. 我们平时经常会有一些数据运算的操作,需要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系统是如何实现的?就拿最常用的sqrt函数来说吧,系统怎么来实现这

JVM--JVM finalize实现原理与由此引发的血案

原创内容,转载请注明出处 本文由一桩因为使用了JAVA finalize()而引发的血案入手,讲解了JVM中finalize()的实现原理和它的陷阱所在,希望能够对广大JAVA开发者起到一点警示作用.除此之外,本文从实际问题出发,描述了解决问题的过程和方法.如写模拟程序来重现问题,使用jmap工具进行分析等,希望对大家提供借鉴. 本文分三个章节,先介绍实际项目中遇到的问题,随后介绍了问题重现和分析方法,最后对问题的元凶,override finalize()的实现原理和陷阱进行了讲解和介绍.篇幅

事务隔离级别引发的"血案"

事务引发的"血案"见的多了也麻木了,这回遇到个事务隔离级别的"案子",坑了我小半天的时间...也怪自己细节不牢.. 敲着代码遇到这么一个怪事情: class XXXService{ @Transactional public void demo(){ //一堆业务逻辑 rpc.insertOne(); //dubbo调用远程服务插入一条数据 getOne(); //获取刚才插入的数据 } } 其中getOne()的事务的传播属性是required, 因为dubbo是

一个无锁消息队列引发的血案:怎样做一个真正的程序员?(二)——月:自旋锁

前续 一个无锁消息队列引发的血案:怎样做一个真正的程序员?(一)——地:起因 一个无锁消息队列引发的血案:怎样做一个真正的程序员?(二)——月:自旋锁 平行时空 在复制好上面那一行我就先停下来了,算是先占了个位置,虽然我知道大概要怎么写,不过感觉还是很乱. 我突然想到,既然那么纠结,那么混乱,那么不知所措,我们不如换个视角.记得高中时看过的为数不多的长篇小说<穆斯林的葬礼>,作者是:霍达(女),故事描写了两个发生在不同时代.有着不同的内容却又交错扭结的爱情悲剧,一个是“玉”的故事,一个是“月”

openstack运维实战系列(十三)之glance更改路径引发的&quot;血案&quot;

1. 背景说明 glance在openstack中负责镜像相关的服务,支持将运行的虚拟机转换为快照,镜像和快照都存储在glance中,glance的后端支持多种存储方式,包括本地的文件系统,http,glusterfs,ceph,swift等等. 默认情况下,glance采用本地文件系统的方式存储image,存储的路径为/var/lib/glance/images,随着时间的推移,当镜像越来越多的时候,根目录的空间将会越来越大,所以对于glance的路径来说,需要提前做好规划和准备,如划分一个单