今天早上我发出了一个我经常使用的命令:
apt-get dist-upgrade
通常它几乎找不到什么可做的事情,有时它会替换内核和头文件。
今天令我大吃一惊的是,它的响应是这样的:
root@xxxxx:~# apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be REMOVED:
apparmor console-setup grub kbd linux-image-3.2.0-23-generic
linux-image-3.2.0-31-generic linux-image-3.2.0-49-generic
linux-image-3.2.0-51-generic linux-image-server linux-server ntfs-3g
plymouth-theme-ubuntu-text ubuntu-minimal
The following NEW packages will be installed:
libudev1
The following packages have been kept back:
udev
0 upgraded, 1 newly installed, 13 to remove and 1 not upgraded.
Need to get 48.1 kB of archives.
After this operation, 605 MB disk space will be freed.
我对释放的软件包数量感到相当震惊,而且明显没有显示新软件包的替换列表。此外,它还说正在删除 grub?
因为我有一个非常新的备份,所以我尝试继续,猜猜看,它确实摧毁了我的服务器并且它无法再启动。
这是怎么回事?
另外,为什么我安装的只有 ,而udev
却说它想要?看起来有些存储库正在做一些疯狂的事情。我安装的所有“奇怪”的存储库都是 PHP FPM 5.4+、和。它们也是 1 个多月前添加的,从未出现过 问题。sysv-rc version 2.88dsf-24
2.88dsf-13.10ubuntu11.1
mysql
nginx
varnish
dist-upgrade
答案1
udev/sysv-rc 的问题在于 udev 现在是从一个 systemd 源构建的,而我的 PPA(ppa:ondrej/systemd)没有使用较新的 sysvinit(提供 sysv-rc)进行更新。
截至今天,该问题已得到修复,但我仍然建议先在非生产环境中测试升级,然后再将其部署到您关心的服务器上。