Як я можу призупинити / відновити процес оновлення apt-get у терміналі?


20

Мій Інтернет іноді призупиняється через зміну сигналу 3g, і я знову запускаю весь процес оновлення apt-get оновлення! Кожне оновлення споживає 13-15 Мб, і кожен mb коштує тут !! Чи можу я щось зробити, щоб призупинити оновлення, щоб я міг відновити його після того, як знову підключу Інтернет! ps - Я знаю, що можу відновити завантаження програм / оновлення


Отже, чому саме ви хочете зробити паузу? це виключно, щоб ви могли очистити файли пакунків, які завантажуються для встановлення? Якщо так, просто використовуйте команду clean, яку я окреслив ПІСЛЯ, коли ви запустили інсталяцію програмного забезпечення, вона очистить простір, який зайняли інсталятори завантажених пакетів.
Thomas Ward

@EvilPhoenix Ні. Це не для цього. Справа в тому, якщо з'єднання розривається на останньому кроці мого оновлення, я втрачаю 14 Мб, тому що мені потрібно запустити його ще раз! і моє підключення до Інтернету базується на даних ... тому я не можу дозволити собі втрачати дані без необхідності!
аві

@amith, щоб позначити відповідь як відповідь, натисніть галочку біля відповіді @jgbelacqua.
theTuxRacer

@Kaustubh, але його правильна відповідь не є фактичною відповіддю! Це коментар до іншої відповіді !!
avi

як так, що кожне оновлення займає 13-15 мб? Ви запускаєте попередній реліз? Нове оновлення має займати лише кілька 100 кБ.
user1974

Відповіді:


25

Переглядаючи рекомендації щодо використання Ctrl+ C, я думаю, що було б краще спробувати Ctrl+ Zпризупинити процес у фоновому режимі, коли / якщо мережа впаде. Можливо, ви зможете скористатись fgдля відновлення після повернення підключення. (Я не знаю, наскільки надійний підхід у цьому сценарії.)

Ще однією можливістю буде використання axelі apt-fastсценарію. Це рекламується як прискорення завантажень, роблячи паралельні завантаження, але також, здається, добре відстежувати те, що вже завантажено, імовірно, тому, що він повинен відслідковувати фрагменти файлів під час завантаження паралельними шматками.

Ось оригінальний потік від Ubuntuforum .


Чи може також axel / apt-fast відслідковувати оновлення apt-get? чи можна зробити паузу?
аві

@amith - Що стосується швидкої паузи на підсилювачі / придатності, є можливість зробити паузу, але я не знаю, чи механізм саме те, що вам потрібно.
белаква

хто здійснив голосування? Я проголосував "за"!
avi

5

Ви можете зупинити завантаження пакетів або оновлення системи, натиснувши "Ctrl + C" і зупинивши програму. Це повністю зупинить програму. Наступного разу, коли ви спробуєте цю ж команду, apt-get відновить завантаження з того місця, де воно зупинилось минулого разу


@Amith Він відновить пакети, але не оновлення! Оновлення починається заново!
аві

1
Було б краще спробувати Ctrl-Z призупинити процес у фоновому режимі, якщо мережа впаде - можливо, ви зможете використовувати fgдля відновлення, як тільки ваше з'єднання повернеться. Не знаю, наскільки надійний підхід у цьому сценарії.
belacqua

1
@jgbelacqua ей !! це працює .. як я позначаю це як відповідь ??
аві

@amithv - я додав коментар до верхньої частини своєї оригінальної відповіді, оскільки він, здається, працює. Мені дуже приємно, що це допомагає.
belacqua

5

Спочатку призупиніть цю роботу. призупинити роботу:

Ctrl + z 

для повторного запуску завдання після отримання мережевих сигналів:

для запуску його на передньому плані використовуйте

fg %1 

для запуску його у фоновому режимі використовуйте

 bg %1 

Принаймні, в bash, вам не потрібно вказувати %1для fgабо bg, принаймні, якщо він був просто призупинений.
Xen2050

4

Як мені aptitudeсказали після несподіваної перезавантаження, використовуйте:

sudo dpkg --configure -a

І як man dpkgпояснює:

Якщо замість пакета вказано -a або --pending, всі розпаковані, але неконфігуровані пакети налаштовані.


2

Установка / оновлення - це атомна операція. Або закінчується, або ні. Якщо оновлення перервано / зупинено, воно відкидається до останньої точки до початку оновлення. Оскільки заголовки (файли, що містять дані пакетів, і звідки їх отримати), пакунки розпочинаються з того моменту, коли ваше з'єднання розірвалося. Лише слово поради, не переривайте встановлення, ймовірно, що це зробить систему непридатною.


-1

Мені не подобається термінал. Ні знати, чи можна використовувати термінал чи ні. Але є поганий спосіб зробити те, що ви попросили. Для цього вам потрібен "Synaptic Package Manager". Якщо у вас цього немає, то спочатку встановіть його. Тепер, якщо у вас це є тоді, відкрийте його; Клацніть на "Позначити всі оновлення". Це дозволить отримати всі оновлені (оновлені) пакети. Тепер починайте завантажувати пакунки, поки не буде втрачено з’єднання. Якщо зв’язок втрачено, Synaptic скаржиться на нього та припинить оновлення. Не хвилюйтесь, закрийте менеджера синаптичних пакетів. (Не відкривайте Програмний центр та не використовуйте apt-get через командний рядок, поки оновлення не закінчиться.)

Тепер після підключення знову запустіть синаптичний засіб. І знову натисніть на «Позначити всі оновлення» та починайте оновлення. Цього разу ви побачите, завантажуються лише ті пакунки, які не вдалося завантажити, а інші пропускаються.

Це не гарне рішення, але воно працює. Якщо синаптичний чи програмний центр поскаржиться на якийсь "Блокування", тоді перейдіть до / var / cache / apt / archives та видаліть файл "lock", і вам буде добре піти :)


Іще одне. Не тримайте оновлення протягом декількох днів. Оскільки Canonical виробляє новіші оновлення, то вже завантажені файли стануть застарілими.
Цікавий учень
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.