Как отменить действие «apt-get remove» после нажатия CTRL + Z

Я запустил по ошибке apt-get remove WRONG_PACKAGE, осознав это, я нажал CTRL + Z , чтобы прервать процесс, поскольку удаление этого пакета начало удалять около 100+ других пакетов.

Теперь, когда я пытаюсь запустить apt-get install REMOVED_ONES, он сообщает:

E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.

Есть ли способ вернуть его?

4
задан 4 January 2013 в 22:15

2 ответа

На самом деле...

CTRL+Z приостановит процесс.

CTRL+c уничтожит процесс.

Обратите внимание, что приостановка процесса отправит его в фон, пока Вы не назовете его снова. Так как это приостановлено, можно запустить другую программу. Это "посмотрит" как, не стал, но не. Это на самом деле скажет Вам идентификатор Процесса, который был присвоен ему прежде, чем идти в фон.

Знать, какие процессы работают на фоне, который мы используем jobs команда, которая показала бы все фоновые процессы выполнения на открытом терминале с их соответствующим фоновым числом.

Назвать процесс снова (На самом деле для продолжения процесса, где Вы оставили его), тип fg.

fg средства ForeGround. Принести к переднему плану происхождения, если Вы хотите иметь идею его. Если у Вас, оказывается, есть другой приостановленный процесс, можно перейти к ним путем выполнения fg 1 для процесса 1, fg 2 для процесса 2 и так далее.

Знайте при отправке процесса в фон с помощью CTRL+Z, об отправке процесса в фон, но он будет остановлен. Чтобы заставить его работать снова, просто работайте bg сопровождаемый фоновым идентификационным заданием для того процесса, как bg 2 для задания 2 в фоновом режиме.

Различие при применении к apt-get (Или способность или любой другой диспетчер пакетов), то, что файлы блокировки не будут стерты при выполнении удаления/обновления/устанавливания или что repo файл мог бы быть поврежден.

Необходимо будет буквально удалить файлы с rm.

Прежде, чем удалить что-либо пробуют то, что диспетчер пакетов предлагает в этом случае:

sudo dpkg --configure -a или sudo dpkg-reconfigure -a в случае, если Вы сделали обновление. В большинстве случаев (во ВСЕХ случаях для меня) я должен был сначала удалить файлы блокировки, как сопровождается:

sudo rm -fr /var/cache/apt/archives/lock
sudo rm -fr /var/lib/dpkg/lock

Если случайно Вы хотите удалить процесс (если это все еще активно), можно или искать его при помощи ps -e и нахождение PID numer, затем с помощью kill -9 PID где PID является числом, Вы нашли или издание sudo killall NAME_OF_PROCESS

Альтернатива можно также сделать:

sudo fuser -cuk /var/lib/dpkg/lock
sudo fuser -cuk /var/cache/apt/archives/lock
sudo rm -fr /var/cache/apt/archives/lock
sudo rm -fr /var/lib/dpkg/lock

После всего этого можно или использовать команды, рекомендуемые приложением, как я упомянул в начале, или просто попытайтесь переустановить пакет, который Вы по ошибке удалили. Я также рекомендую делать sudo apt-get update только для проверки все корректно.

Обратите внимание, что, если пакет удалил все те другие пакеты, попытайтесь сначала установить, сказал пакет. Например, если Вы сделали:

sudo apt-get remove unity по ошибке, затем первая попытка сделать шаги, я упомянул и затем устанавливаю тот точный пакет снова:

sudo apt-get install unity.

Если случайно это не добиралось, удаление затем сделайте:

sudo -apt-get install --reinstall unity

11
ответ дан 4 January 2013 в 22:15

Однажды у меня была похожая проблема, и я выполнил команду, как было предложено. После этого вы можете apt-get install WRONG_PACKAGE. Следует переустановить все пакеты, которые он пытался удалить. Вам не нужно устанавливать каждый из них вручную.

0
ответ дан 4 January 2013 в 22:15

Другие вопросы по тегам:

Похожие вопросы: