Debina 9.9 stretch 升级到10 buster
Debian 10 buster 已于2019年7月6日从testing release为stable版, 安装手册在这里
debian.org/buster/installmanual debian 10.0buster 安装手册
本文是我周末升级的流水.
1. 先正常更新系统到最新包和kernel
更新前对常用软件配置进行备份, 系统个人设置等备份.
apt update && apt upgrade -y
apt dist-upgrade -y
2. 接下来修改源文件里面的strech 为buster
同时注意下 /etc/apt/source.list.d/ 的第三方源文件, 我这里把mysql, virtualbox, chrome, 等软件的源全部都手动注释了.
sed -i 's/stretch/buster/' /etc/apt/sources.list
同时先暂时注释掉第三方源, 比如我的下面有 virtualbox的源, 需要注释掉
3. 然后手动清除下包缓存
rm -rf /var/lib/apt/lists/*
再次更新, 然后执行
apt update && apt dist-upgrade
4. 提示要更新2900多个包
速度挺快. 泡杯茶, 在2G多的更新下载完后, apt-listchanges 会读取更新日志, 这步也会有点久.
5. 更新配置.
提示修改smb.conf 去使用WINS 设置从DHCP, 选No
提示minissdpd, 是否自动启动MiniSSDP 守护进程, 选No
6. 接下来是修改一些配置项.
Configuratin /etc/debian_version 选Y, 只更新了版本号
Configuration /etc/issue 选Y, 只更新了版本号
接下来是配置屏保, 直接回车OK就行了
接下来配置了ld.so.conf.d, D后看了下差异, 选Y
要求配置libc6:amd64库, 在包升级的时候直接不用询问, 选Yes
然后就是授信的gpg key, 全部选Y
然后是/etc/security/access.conf, limits.conf, 选Y
然后是/etc/cron.daily/dpkg 还是Y
/etc/logrorate.d/dpkg Y
/etc/securetty Y
目前为止还没有报错. 非常棒.
/etc/mke2fs.conf Y
/etc/systemd/journald.conf
/etc/systemd/logind.conf
下面全部Y, 用系统最新的配置文件. 包括nginx, 数据库等
然后漫长的Y…
报了一大堆错… 然后halt了
重新运行apt update && apt dist-upgrade -y
好吧, 字体库挂掉了. 界面开始变得丑陋…
继续报错
Processing was halted because there were too many errors.
/usr/bin/gdbus: symbol lookup error: /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0:undefined symbol: g_date_copy
查了下资料, 之前在更新的时候有提示, 所有的库都从 /lib 移到了/usr/lib
于是去 /lib/x86_64-linux-gnu/ 下, 重命名掉 libglib-2.0.so.0, 引入/usr/lib
cp /usr/lib/x86_64-linux-gnu/libglib-2.0.so.5800.3 /lib/x86_64-linux-gnu/
ln -sf /lib/x86_64-linux-gnu/libglib-2.0.so.5800.3 /lib/x86_64-linux-gnu/libglib-2.0.so.0
重新运行
apt update && apt dist-upgrade -y
再次报错, 这次是elpa-magit, elpa-git-commit, elpa-ghub, elpa-treepy 一堆包error, 去官方下载这4个包.
https://packages.debian.org/stretch/elpa-magit
https://packages.debian.org/stretch/elpa-git-commit
https://packages.debian.org/stretch/elpa-ghub
https://packages.debian.org/stretch/elpa-treepy
然后用u盘挂载到主机上… 没错. 自动挂载也挂了…
fdisk -l 显示新插入的corsair U盘是sdb1
mkdir /mnt/corsair && mount -r /dev/sdb1 /mnt/corsair
再次运行继续报错
In toplevel form:Cannot open load file: no such file or directory, map
ERROR: install script from elpa-treepy package failed
dpkg:Error processing package elpa-treepy (--configure):installed elpa-treepy package post-installation script subprocess returned error ext status 1
Setting up elpa-git-commit (2.90.1-2)...
无语. 重新gdeb -i 安装这几个包还是报错. 干脆干掉吧…
dpkg --purge --force-all elpa-magit elpa-ghub elpa-git-commit elpa-treepy
然后… 升级就结束了…结束的措不及防
7. 升级结束
重新下进入桌面, 这次的更新内容还是相当大. 相当多的包都更新到了最新版. 但是兼容性和依赖性的测试却没有之前8 升 9来得好. 字体的渲染变得更好好看生动. 很多依赖插件的功能现在都原生支持了.