之前一直以为Mint 14像Windows一样,过期之后还可以一直用,后来发现Linux和Windows的一个很大的不同,就是由于Linux是通过Repo安装和更新软件的,所以一旦发行版制作者不再维护这个版本,就会把该版本的Packages从Repo中移除,比如Mint 14是今年(2014年)5月份生命周期结束的(End of Life, EOL),之后除非下载deb包安装,否则用"apt-get update"和"apt-get install ..."都会报错,因为Repo中已经没有Nadia和Quantal的目录了,手工升级的方法是:
-
到/etc/apt/source.list中的地址看看哪些版本还在,比如在http://mirrors.ustc.edu.cn/ubuntu/dists/ , http://security.ubuntu.com/ubuntu/dists/ 和 http://archive.ubuntu.com/ubuntu/dists/ 下面可以看到,比Nadia高的有saucy和trusty两个版本,因为saucy距离nadia比较近,升级成功的可能性大,所以我们先升级到saucy,由于这个版本马上也要到期了,我们在升级完后可以再次升级到trusty,就可以用到2019年4月了;
-
确定了升级的目标版本,把/etc/apt/source.list中的nadia都该为petra,quantal改为saucy,参考Linux Mint Releases确定Mint的对应版本代码;
-
sudo apt-get update
,如果出现错误,修复之,比如出现了一个PuppetLab更新错误,是由于之前曾把puppetlabs的ppa加入进来了,运行rm sources.list.d/puppetlabs.list
删除之,重新apt-get update,直到没有错误为止; -
sudo apt-get dist-upgrade
, 这一步很慢,比如nadia升价到petra下载了2GB多安装包,所以网络一定要够快,否则就只能整夜下载了;安装过程中会询问是否更新版本号,我认为还是更新好,否则真实的版本与/etc/issue和lsb_release的结果不符会造成困惑;下载完成后的安装也很慢,整个升级过程大约2小时左右(网速大约1MB/s),远比用新的Live盘安装慢多了,而且如果版本间间隔大,还存在升级失败的风险,所以还是应该把/home做到一个单独的分区上,然后用目标版本的Live盘安装新系统,如果只能用apt升级的方法,建议找一本有意思的书,守在电脑旁,因为升级过程中时不时会要求用户决定使用哪个配置文件(这次升级过程中我所有的项目都输入Y,即使用新版本的配置文件),所以无法做到完全自动化; -
sudo apt-get upgrade
; -
reboot
; -
验证:
lsb_release -a
;
整个执行过程可以通过ssh登录到服务器上运程执行;
重启后登录屏幕是黑屏,但SSH能够正常登录,貌似是Linux Mint的登录管理器MDM出了问题,卸载了相关的两个模块:
# dpkg -P mdm
# dpkg -P mint-mdm-themes
重启后变为字符登录界面,登录后运行startxfce4
可以启动xfce环境。
一个收获是升级后RabbitVCS可以用了;
Debian的更新方法类似,也是先改source.list,然后"apt-get dist-upgrade";
CentOS不同,小版本之间的升级用"yum update"就搞定了,大版本之间只能用重装的方法升级;
ArchLinux属于纯正的rolling release,没有版本的概念,好处是不需要大升级,坏处是有时更近之后系统会起不来;