假设我通过 ssh 进入我的电脑并运行
sudo apt-get dist-upgrade
并且,当 apt-get 运行并安装软件包时,另一个坐在终端并登录 gnome 的人决定通过 GUI 关闭计算机。
在这种情况下,最糟糕的情况是什么?是否有任何机制可以防止包裹处于“脏”状态?如果没有,如何防止这种情况发生?
答案1
最坏的情况是它可能会破坏您的系统,使其无法正常启动,但您随时可以启动到救援模式并修复它。
使用 Ubuntu 安装 CDROM 启动并在启动提示符下输入“rescue”来使用救援模式
挂载所有分区并执行 chroot 到挂载根分区的 /target。
系统启动到菜单后,选择“进入 root shell 提示并联网”项。这可让您从互联网更新软件包。
出现提示时,首先确保所有当前安装的程序都已配置:
dpkg--configure-a
这可能需要很长时间,具体取决于系统停止前安装了多少个程序。
- 然后继续更新当前的包列表:
apt-get 更新
- 接下来,升级系统上的软件:
apt-get 升级
这最后一步可能需要很长时间才能完成。您应该注意保留的软件包列表(列在此命令的输出顶部);这些软件包必须专门请求。
通常,软件包被搁置是因为它们需要新软件或其他重大更改:Linux 内核总是被搁置。使用如下命令安装这些软件包:
apt-get 安装某个软件包,某个其他软件包
您可能需要重复此操作多次,直到安装完所有软件包并且没有任何软件包被阻止。
然后,您应该重复更新和升级,以完全验证系统是否已尽可能更新:
apt-get 更新
apt-get 升级
这些最后的命令应该会很快执行,因为一切可能都已完成 - 但是,升级可能会影响需要另一次升级的东西,这并非不可能。不这样做可能没什么大不了的,但为什么不这样做呢?
完成后,需要重新启动以确保旧软件不再使用,并且只使用新升级的软件。不要只是继续启动:重新启动。
之后还可以做另一件事来清理——可能在重启后。在命令 shell 中,输入此命令以删除不需要的软件:
apt-get 自动删除