Я случайно удалил все пакеты, начиная с имени jpeg
с:
sudo apt-get remove jpeg*
Это многое испортило, убрал Unity, Firefox, Flash player и т. Д.
Мне как-то удалось восстановить рабочий стол и единство, но потом многие вещи все еще глючили. Например, .rpm
файлы и .tag.gz
просто не открываются вообще.
То, что я хочу, это способ исправить все, что не так. Что-то, что эквивалентно «восстановительной установке» с диском Windows.
Любые советы, кто-нибудь?
Ответы:
Вы можете установить
ubuntu-desktop
задачу:Это установит все пакеты стандартного рабочего стола Ubuntu, который вы удалили. Он не восстановит установленные вами пакеты, которые не являются частью стандартного рабочего стола (т. Е. Переустановит Unity и Firefox, но не Flash Player).
Чтобы установить эти пакеты, вы можете посмотреть
/var/log/apt/history.log
и посмотреть, что именно вы удалили.Примечание: установка
ubuntu-desktop^
задачи отличается от установкиubuntu-desktop
пакета . Первый даст APT несколько советов по разрешению зависимостей, связанных с виртуальными пакетами, последний даст APT свободу выбора пакетов (и в итоге установит бесполезные вещи вродеubiquity
).Почему возникла проблема?
apt-get remove jpeg*
будет не удалить все пакеты , начиная сjpeg
. Вместо этого он удалит все пакеты, содержащиесяjpe
в их имени. Это потому, что apt-get работает с регулярным выражением, поэтому jpeg * означает: все, что содержит jpe, за которым следует ноль или более g .источник
tasksel
чтобы удалить задачу - см. Неприятную ошибкуЛучший способ решить эту проблему - переустановить Ubuntu. (Сначала вы должны выполнить резервное копирование документов, даже если вы планируете переустановить без переформатирования.)
Если вы хотите попытаться исправить систему на месте, то посмотрите файлы журналов менеджера пакетов, чтобы увидеть, какие пакеты были удалены, и переустановите их:
/var/log/dpkg.log
(полная информация, но трудно читаемая)/var/log/apt/history.log
(сокращенно сообщит вам каждый пакет, удаленный или иным образом измененный - вероятно, ваш лучший выбор)/var/log/apt/term.log
(если вы удалили пакеты сapt-get
помощью терминала, это должно показать то, что вы видели тогда, включая списки того, какие пакеты должны были быть удалены, так что это может быть лучшим способом)Переустановка только пакетов, имена которых начинаются с
jpeg
, не будет работать, потому что многие (почти наверняка большинство) из удаленных пакетов были удалены, потому что они полагались на эти пакеты.В будущем я рекомендую тщательно проверить последствия удаления пакета. Если вы работаете из командной строки, вы всегда будете уведомлены. (Если вы не используете
-y
опцию, в этом случае, как правило, нет. Я рекомендую не использовать эту опцию, если вы не знаете, что делаете, особенно для удалений.)Один из способов проверить последствия операции управления пакетами, выполняемой
apt-get
без риска ихapt-get -s
возникновения , - запустить вместоsudo apt-get
. Это просто имитирует указанное действие и сообщает, какие пакеты будут затронуты в результате и как.источник
Я работаю
sudo apt-get purge wine*
на Ubuntu 15.10, поэтому нет графического интерфейса при загрузке только с терминала.Как предположил Элиа Каган, я использовал информацию из
/var/log/apt/history.log
журнала nano для history.log и создал простой скрипт, содержащийsudo apt-get install
все очищенные пакеты, которые я нашел в строке:Но сначала я должен был вручную удалить текст между всеми: и, в том числе:,
на этом этапе новый скрипт будет полезен, потому что пакетов было сотни. после этого я запустил скрипт и удалил несколько
Unable to locate packages
(которые я установил вручную). запустите скрипт снова и все. Все работает нормально ... к счастьюисточник
Установите пакет ubuntu-desktop
Он установит необходимые пакеты для вашей системы.
источник
Я случайно удалил,
libssl1.0.0
и моя машина была повреждена. Для восстановления я сделал:cp /var/log/apt/term.log ~/libssl.term.log
vi ~/libssl.term.log
ping google.com
), перезагрузите компьютер в режиме восстановления и включите сетьcat ~/libssl.term.log | grep ^Removing | sed -e 's/^Removing //g;s/ (.*$//g;/diversion of/d;/dangling symlinks/d' | xargs sudo apt-get -y install
источник
Вот небольшой скрипт на python, где вы можете написать (непригодную) строку пакета из вашей массовой деинсталляции, которая включена
/var/log/apt/history.log
. Он выведет строку, которую вы можете скопировать вставить в команду apt-get install, чтобы легко установить все удаленные пакеты.источник