Debian的发布周期明显缩短。而且这次发布整个系统变化很大,很多基础的包都做了升级;所以升级时感觉错误提示不少,提示需要调整配置的包也相当的多。官方出了个相当详细的升级参考;大部分情况参照之即可。
我的环境是:
- debian 4(从3一直维护到现象,未重装)
- apache在d4的时候已经手工升级到了V2
- php也是如此。已经到了5
- mysql为4,但是已经手工升级到4.1+(支持unicode)版本(后来一直跟随维护体系更新)
- python用的系统默认的2.3
- 未安装X系统,只有命令行。使用ssh远程操作。(值得注意的是这次升级会在升级过程中reload X系统,所以使用图形界面升级的需要注意。估计只能使用命令行)
- 包维护系统在d3时期使用的apt-get。后来转换到的apti
- 内核在d4时期已经手工升级到2.6.x。
- 引导系统用的grub(按照升级参考的说法lilo可能会有问题。建议升级前换成grub)
以下是我的升级路线
- 备份资料
- 先在debian4下面做apti update 和apti upgrade。系统会升级内核到2.6.18版本
- 重启系统。保证新的内核生效。(因为新版本严重依赖新内核)
- 修正可能的依赖和安装问题
- 根据参考,官方强烈建议使用apti作为未来的维护工具
- 执行 apti
- 进入文本界面后按‘g’,会提示有没有需要处理的包。
- 我就有一个cacti,可能是以前用apt-get安装的。提示需要安装,实际上已经安装并已经正常工作了。选择安装,即可。
- 将deb源修改为d5的
deb http://mirrors.163.com/debian/ lenny main contrib
deb-src http://mirrors.163.com/debian/ lenny main contrib
deb http://mirrors.163.com/debian-security lenny/updates main contrib
- 获取新的升级资源信息 apti update。会有关于认证key不存在的告警。问题不大;并非163.com的源出现问题,而是对D5需要的key在D4中不存在。升级后就正常了
W: There is no public key available for the following key IDs: 4D270D06F42584E6
W: You may want to run apt-get update to correct these problems
- 开始最小限度升级 apti safe-upgrade (相当于D4的 apti upgrade)
- 很多重要的模块都会升级到新的版本 libc -> 6, apache -> 2, php -> 5, mysql -> 5, python -> 2.5, 内核 -> 2.6.26
- 升级的过程中会重启几乎所有的重要的模块。特别是libc,这个升级几乎会带动所有的基础模块升级。很多不会有版本升级的模块也因为二进制兼容问题会更新到新的包
- 一起妥当后建议再次reboot;检查基本系统是否工作。
- 同时把所有有过自动升级操作的服务检查一遍。保证其继续在工作
- 我的 phpmyadmin, trac, cacti, apache就都基本挂了。不过svn升级做得很好,完全没影响
- apache是因为修改了虚拟主机的参数只要将自定义的 修改为 重启就即可解决
- phpmyadmin, cacti 则是其默认配置文件做了改动,检查修改一遍即可
- trac 比较麻烦,依赖的python升级了。重新安装一遍即可(其配置与安装时剥离的,重新安装比检查配置来的快)
- 最后来一个完整升级就算完成工作了 apti full-upgrade (相当于D4的 apti dest-upgrade)
说一点点经验。其实更多的算教训
- 重要的服务在D4中已经可以升级到新D5默认版本的建议先手工升级之。可以少很多困扰。
- 官方的发布升级参考很有价值,且有中文版本。建议详细阅读再做升级操作