Система Ubuntu повреждена после случайного удаления множества пакетов

Я случайно удалил все пакеты, начинающиеся с имени jpeg, с помощью:

sudo apt-get remove jpeg*

Это напутало много вещей, удалили Unity, Firefox, Flash Player и т. д.

Мне как-то удалось восстановить рабочий стол и единство, но тогда многие вещи по-прежнему не работают. Например, файлы .rpm и .tag.gz просто не будут открываться вообще.

То, что я хочу, - это способ исправить все, что не так. Что-то, что эквивалентно «ремонтной установке» с диском Windows.

Любые советы, кто-нибудь?

1
задан 12 December 2017 в 16:18

4 ответа

Лучшим способом устранения этой проблемы может быть переустановка Ubuntu. (Вы должны сначала создать резервную копию своих документов, даже если вы планируете переустанавливать без переформатирования.)

Если вы хотите попытаться исправить систему на месте, то посмотрите файлы журналов менеджера пакетов, чтобы узнать, что пакеты были удалены и переустановлены:

/var/log/dpkg.log (полная информация, но трудно читать) /var/log/apt/history.log (сокращенно укажет вам, что каждый пакет удален или иным образом изменен - ​​скорее всего, ваш лучший выбор) (если вы удалили пакеты с помощью apt-get в терминале, это должно показать то, что вы видели, включая списки того, какие пакеты будут удалены - так что это может быть лучшим способом)

Переустановка только пакеты, имена которых начинаются с jpeg, не будут работать, потому что многие (почти наверняка большинство) удаленных пакетов были удалены, потому что они полагались на эти пакеты.

В будущем я рекомендую внимательно проверяя последствия удаления пакета. Если вы работаете из командной строки, вы всегда будете уведомлены. (Если вы не используете опцию -y, в этом случае обычно нет. Я рекомендую не использовать эту опцию, если вы не знаете, что делаете, особенно для удаления.)

Один из способов проверить последствия операции управления пакетами, выполненной с помощью apt-get, без риска их возникновения, заключается в том, чтобы запустить apt-get -s вместо sudo apt-get. Это просто имитирует указанное действие и сообщает о том, какие пакеты будут затронуты как результат и как.

5
ответ дан 25 May 2018 в 01:57

Я запускаю sudo apt-get purge wine* на Ubuntu 15.10, поэтому нет графического интерфейса при загрузке только для входа в терминал.

Как сказал Элиа Каган, я использовал информацию из /var/log/apt/history.log, я запускаю nano в history.log и сделал простой скрипт, содержащий sudo apt-get install во всех очищенных пакетах, найденных в строке:

Purge: evolution:amd64 (3.16.5-1ubuntu3.1), libtotem-plparser18:amd64 (3.10.5-1) ...... etc

Но сначала мне пришлось вручную удалить текст между всеми: и, включая:,

[d3 ] на этом этапе новый скрипт был бы полезен, потому что пакеты были сотнями. после этого я запустил скрипт и удалил несколько Unable to locate packages (которые я установил вручную). снова запустите сценарий, и вот оно. Все работает нормально ... к счастью

1
ответ дан 25 May 2018 в 01:57

Установите пакет ubuntu-desktop

sudo apt-get update && sudo apt-get install ubuntu-desktop

Он установит необходимые пакеты для вашей системы.

0
ответ дан 25 May 2018 в 01:57

Вот небольшой скрипт python, в котором вы можете написать (непригодную) строку пакета из вашей массовой деинсталляции, которая находится на /var/log/apt/history.log. Он выведет строку, которую вы можете скопировать в команду apt-get install, чтобы легко установить все удаленные пакеты.

import re

apt_str = u"INSERT YOUR PACKAGE STRING HERE, BETWEEN THE COMMAS"

match =  re.findall(r'([\w\d\.-]+).+? \(.+?\)', apt_str)
print " ".join(match)
0
ответ дан 25 May 2018 в 01:57

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

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