使用Ubuntu,从5.10Breezy到6.06Dapper,6.10Edgy,7.04Feisty一路走来,每次都是直接从源升级,因为update-manager对我来说太慢了,算是有了一点点经验吧,不成系统,仅供参考。
速度与耐心
升级的下载速度和处理速度都要耗费大量时间,最好有一个快点的源,关掉其他任务,以提高效率。
vi/etc/apt/source.list
sudoaptitudeupdate
sudoaptitudeupgrade
sudoaptitudeinstall
sudoaptitudedist-upgrade
aptitude带上install,upgrade,dist-upgrade要多运行几遍,确认确实没有问题了再重启,有的时候第一次运行未必就能把所有软件更新到最新。
另外aptitude和apt-get可以来回混着用用,这两个软件看似相似,又似乎有一些不太一样的地方,有时候这个卡住了,用那个就可以继续。
一般认为aptitude比apt-get能够更好的解决包依赖性问题,不过有的时候我们的确需要绕过依赖关系,这时候用哪个就自己尝试喽。
老大难的Python
Ubuntu中最难升级的不是内核(别人都编译好了的嘛),而是Python,每次升级都会遇到和Python相关的一大堆依赖性问题,处理方式主要有两种:
通过aptitudeinstall指定安装部分python包,这样依赖性关系更好解决一些,处理完一部分,再处理另外一部分就轻松些了。aptitude提示删除的时候要小心一些,如果是正常删除旧包用新的替代还好,有时候遇到难解决的问题经常让你删了xserver或者ubuntu-desktop什么的,一般不要同意。python版本升级会带来更大的灾难,实在没办法的时候可以考虑修改/usr/bin/python,这个文件是一个链接文件,如果他是指向python2.5,那么就修改为python2.4试试,反正升级完成之后再修改回来,有的时候包升级的顺序不同,会导致青黄不接的情况,需要把python暂时降级。
配置文件尽量单独保存
这样在升级的时候不容易被覆盖,同时把自己的个性设置和系统默认设置分开,管理起来更方便。
及时删除不用的内核版本
本身不影响使用,就是升级的时候影响处理速度,反正也没用了,干嘛不删,注意当前正在使用的内核版本不要删除。
敢于拔掉钉子户
有些包有着乱绕或者互锁的依赖性关系,无法处理的时候不妨删除一个试试,不过最好记下来包的名字方便以后查找问题,另外一些关键的包比如apt,aptitude,dpkg,tar,zip什么的千万别删。
不要傻等
如果出现:
Resolvingdependencies...
Open:5953;closed:4999;defer:0;conflict:11
Nosolutionfoundwithintheallottedtime.Tryharder?[Y/n]
这样的文字,提示在指定的时间内没有找到解决依赖性问题的方案时,趁早用其他的方式吧,如果你回答Y,不仅要不厌其烦的等待下一次提示,而且找到天亮也找不出方案来。
零敲碎打
永远不要太着急,装上一个是一个,更新一个是一个,问题需要一个一个的解决。
最好还能有另外一台能用的电脑,这样即方便查一些包的资料,还能打发升级中的空闲时间。
学会“忘记”
有时候走进依赖陷阱之后,动弹不得,安也不让,卸也不让,实在没法作什么了,试试:
cd/var/lib/dpkg
mvstatusstatus.bak
touchstatus
然后再继续upgrade什么的,系统就会忘记以前已经成为死套的依赖性问题,重新开始计算了。不过此招慎用,文件删除之后,系统要把所有已经安装过的程序全部都configure一遍,极其耗时。
其实真正起作用的,是这个文件中和结成死套的那几个包相关的内容,用vi编辑,把那几个包的内容删除就可以了,注意备份。
Ubuntu从源升级的心得体会Ubuntu从源升级的心得体会Ubuntu从源升级的心得体会Ubuntu从源升级的心得体会Ubuntu从源升级的心得体会Ubuntu从源升级的心得体会Ubuntu从源升级的心得体会Ubuntu从源升级的心得体会Ubuntu从源升级的心得体会Ubuntu从源升级的心得体会
阅读(416) | 评论(0) | 转发(0) |