如果我运行命令apt-get install [package_name]
并点击CTRL-C中间过程,它会停止安装并回滚到原始状态吗?
当我将一台 Ubuntu 机器升级到 12.04 时,我设法不小心关闭了连接到更新过程的终端。奇怪的是,这个过程实际上在后台继续(直到它遇到“你想安装这个配置文件的新版本吗”提示并且我杀死了它)。这表明更新过程是健壮的。
昨天在 Debian Sid 机器上我Ctrl+ C:ed 在安装过程中。提示被返回给我,但 Aptitude 会在短时间内向终端抛出有关进度的消息,直到当前正在进行的操作完成。
我相信Aptitude(我使用的,我猜它的apt-get
行为类似)会尝试智能地处理信号,并且一旦操作开始(例如安装/更换/删除),它会尽力在退出之前实际完成此操作该过程不会使系统(尤其是全局包配置状态)处于不确定状态。
刚才在下载包的时候尝试发送Ctrl+ C,当前正在下载的包被打断了,没有保存在半下载状态。只需在sudo aptitude dist-upgrade
未正确下载的文件处执行新的重新启动过程。
赞美之词是:如果已经配置了几个包,如果过程中断,它们将不会回滚到以前的版本。它可以做的最好的事情是快速清理,智能地让您重新启动更新过程,并希望从您离开的地方开始。执行此操作并执行所有未决操作后,包状态再次“清除”,您可以开始尝试回滚版本等,如果需要的话。
最后注意:不要依赖于这种行为开始,因为它是对包系统的非常粗暴的处理,并且总是可能导致包问题(可修复,但通常需要一些手动包下载和dpkg
修补)。
归档时间: |
|
查看次数: |
3306 次 |
最近记录: |