中断 apt-get dist-upgrade:会发生什么?

fdi*_*rre 11 apt

假设我通过 ssh 进入我的计算机并运行

sudo apt-get dist-upgrade
Run Code Online (Sandbox Code Playgroud)

并且,当 apt-get 正在运行并安装软件包时,坐在终端并登录到 gnome 的另一个人决定通过 GUI 关闭计算机。

在这种情况下可能发生的最坏情况是什么?是否有任何机制可以防止包裹处于“脏”状态?如果不是,如何防止?

Lnx*_*lck 8

在最坏的情况下,它可能会破坏您的系统,使其无法正常启动,但您始终可以启动到救援模式并修复它。

  1. 通过使用 Ubuntu 安装 CDROM 引导并在引导提示符下输入“rescue”来使用救援模式

  2. 挂载所有分区并执行 chroot 到挂载根分区的 /target。

  3. 系统启动到菜单后,选择显示“Drop to root shell prompt with networking”的项目。这使您能够从 Internet 更新软件包。

  4. 出现提示时,首先确保配置了所有当前安装的程序:

    dpkg --configure -a

这可能需要很长时间,具体取决于在系统停止之前安装了多少程序。

  1. 然后继续更新当前的包列表:

apt-get 更新

  1. 在此之后,升级系统上的软件:

apt-get 升级

同样,这最后一步可能需要很长时间才能完成。您应该注意保留的包列表(列在此命令输出的顶部);这些包必须特别要求。

通常,软件包被阻止是因为它们需要新软件或其他剧烈变化:Linux 内核总是被阻止。使用这样的命令来安装这些软件包:

apt-get install some-package some-other-package

您可能需要多次重复此操作,直到安装了所有软件包并且没有任何软件包被阻止。

然后,您应该重复更新和升级,以完全验证系统是否已尽可能更新:

apt-get 更新

apt-get 升级

这些最后的命令应该快速执行,因为一切都可能已经完成——但是,升级可能会影响需要再次升级的东西。不这样做可能没有关系,但为什么不这样做呢?

完成后,需要重新启动以确保不再使用旧软件,并且使用的只是新升级的软件。不要只是继续引导:重新启动。

之后还可以做一件事来清理——可能是在重新启动之后。在命令 shell 中,输入以下命令以删除不需要的软件:

apt-get 自动删除

来源

  • 我建议在上面建议的“apt-get upgrade”的任何地方运行“apt-get dist-upgrade”。这样,您就不需要手动安装“阻止”的软件包。 (2认同)