如何在终端中暂停/恢复apt-get更新过程?


20

有时由于3g信号强度的变化,我的Internet暂停了,我不得不重新启动整个apt-get更新过程!每个更新消耗13-15 mb,这里每mb的成本!!我可以做些什么来暂停更新,以便在我重新连接互联网后可以恢复它!ps-我知道我可以继续下载应用程序/升级


那么,为什么您要暂停?仅仅是为了清除您为安装而下载的软件包文件吗?如果是这样,只需在运行软件安装后使用我概述的clean命令,它就会清除已下载的软件包安装程序所占用的空间。
托马斯·沃德

@EvilPhoenix否,这不是要点,要点是,如果在更新的最后一步连接中断,我将丢失14 mb,因为我必须再次运行它!而且我的互联网连接是基于数据的..所以我负担不起不必要的数据丢失!
avi

@amith将响应标记为答案,单击@jgbelacqua答案旁边的对勾。
theTuxRacer 2011年

@Kaustubh,但他的正确答案不是实际答案!它是对另一个答案的评论!
avi

每次更新需要13-15mb怎么办?您正在运行预发行版吗?一个新的更新应该只需要几百kB。
user1974

Answers:


25

查看有关使用Ctrl+ 的建议C,我认为最好在网络中断时尝试Ctrl+ Z在后台挂起该进程。fg连接恢复后,您也许可以使用它来恢复。(不过,我不知道在这种情况下apt-get有多么强大。)

另一种可能是使用axelapt-fast脚本。它被宣传为通过并行下载来加快下载速度,但似乎也可以跟踪已经下载的内容,这大概是因为它必须在并行块下载时跟踪文件碎片。

这是来自Ubuntuforum的原始线程


axel / apt-fast还能跟踪apt-get更新吗?它可以暂停吗?
avi

@amith-就axel / apt-fast暂停而言,有暂停的余地,但是我不知道该机制是否正是您所需要的。
belacqua

谁投票了?我投票赞成你!
avi

5

您可以通过按“ Ctrl + C”并停止程序来停止软件包的下载或系统的更新。这将完全停止程序。下次您尝试使用同一命令时,apt-get将从上次停止的位置继续下载


@Amith它将恢复软件包,但不会继续更新!更新将从头再来!
avi

1
如果网络fg断开,最好尝试使用Ctrl-Z在后台挂起该进程- 连接恢复后,您可以使用它来恢复。但是,不知道在这种情况下apt-get有多么健壮。
belacqua

1
@jgbelacqua嘿!这有效..我如何将其标记为答案??
avi

@amithv-我已经将注释添加到了原始答案的顶部,因为它似乎可以正常工作。我很高兴这会有所帮助。
belacqua 2011年

5

首先暂停该工作。暂停工作:

Ctrl + z 

当您收到网络信号时重新启动作业:

用于在前台运行,请使用

fg %1 

用于在后台运行,请使用

 bg %1 

至少在bash中,您不需要指定%1for fgbg,至少在只是将其暂停的情况下。
Xen2050 2014年


2

安装/更新是原子操作。它要么完成,要么没有完成。如果更新中断/停止,则它将回滚到更新开始之前的最后一点。因为标头(包含程序包数据以及从何处获取文件的文件),但是从连接断开的那一刻开始下载程序包。只需提个建议,不要中断安装,这很可能会使系统无法使用。


-1

我不喜欢码头。都不知道是否可以使用终端。但是,按照您的要求进行操作有一种不好的方法。为此,您需要“ Synaptic软件包管理器”。如果没有,请先安装它。现在,如果有,请打开它;单击“标记所有升级”。这将显示所有可升级(可更新)程序包。现在开始下载软件包,直到连接断开。如果连接丢失,Synaptic将对此进行投诉并停止升级。不用担心,请关闭突触包管理器。(在完成升级之前,请勿打开软件中心或通过命令行使用apt-get。)

现在,重新连接后,再次开始突触。然后再次单击“标记所有升级”并开始更新。这次您将看到,只有那些下载失败的软件包才被下载,而其他软件包则被跳过。

这不是一个好的解决方案,但它可以工作。如果突触或软件中心抱怨某种“锁定”,请转到/ var / cache / apt / archives并删除“锁定”文件,您将可以使用:)


还有一件事。不要将更新等待几天。由于Canonical会产生较新的更新,因此您已经下载的文件将过时。
Curious Apprentice
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.