Как переустановить много удаленных пакетов сразу?

Я использовал sudo apt-get remove python команда и случайно удаленный набор пакетов, которые требовались. Я зарегистрировал на пути командную строку и установил рабочий стол человечности снова, но существуют другие пакеты, которые отсутствуют, и я ищу способ легко переустановить те удаленные пакеты. С тех пор существует журнал в центре программного обеспечения, я хотел спросить, что самый легкий путь мог бы состоять в том, чтобы откатывать изменения или извлечь удаленный список пакетов из центра программного обеспечения...

примечание: Я ввел sudo apt-get install .... .... ... ... для приблизительно двух дюжин тех удаленных программ в том списке, но когда я нажал Enter, он не устанавливал ни одного из них, потому что некоторые имена пакета не могли быть найдены.

Программы были удалены в ту же дату.

8
задан 26 June 2011 в 08:11

2 ответа

В первую очередь, позвольте мне сказать то удаление python может привести ко многим фундаментальным командам не больше, работают. Таким образом, я не делаю известный, если то, что следует, будет работать.

Во-вторых, я предполагаю что package names couldn't be found ошибка, которую Вы имеете, происходит из имени с орфографической ошибкой на командной строке, или от пакета, установленного локально и не доступный в репозиториях.

Затем для получения журнала удаленных пакетов, относительно к последнему dpkg зарегистрируйтесь доступный (я не думаю, что необходимо принять во внимание более старые журналы):

awk '$3 == "remove" { print $1, $2, $4 }' /var/log/dpkg.log | tee list

Затем отредактируйте list файл, созданный в текущем каталоге, и только, оставляет строки относительно пакетов, которые Вы хотите переустановить, на основе метки времени строки. Скажите, что Вы сохранили измененный файл к list-mod.

Для переустановки это упаковывает, используйте следующую команду:

sudo apt-get --simulate install $(awk '{ print $3 }' list-mod)

Я вставил --simulate опция видеть то, что сделала бы команда. Если это - все хорошо, сделайте команду снова с той удаленной опцией.

Если команда говорит, что некоторые пакеты не могут быть найдены, просто удалить их из list-mod и попробуйте еще раз.

16
ответ дан 23 November 2019 в 05:25

Так, я, оказывается, делаю подобную ошибку: sudo apt-get purge python3.6* вместо sudo apt-get purge python3.6.*.

Я смог зафиксировать его довольно быстро со следующими шагами:

  1. Открытый журнал vim /var/log/history.log.
  2. Разыскиваемый моя неверная команда с помощью команды энергии /python3.6\*.
  3. Была строка Purge: unity-control-center-signon:amd64 (0.1.7~+14.04.20140211.2-0ubuntu4), ... с длинным списком очищенных пакетов (в случае удаления это запустится с Remove:), который я скопировал в другой файл без Purge: часть для работы с ним.
  4. В том файле я выполнил команду энергии: %s/:[^,]*,//g, который удалил часть версии и оставил меня со списком пакетов unity-control-center-signon lxc ....
  5. Наконец я скопировал строку с предыдущего шага и работал: sudo apt-get install unity-control-center-signon lxc ..., и это - то, как это было зафиксировано.
2
ответ дан 23 November 2019 в 05:25

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

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