Можно ли сделать
sudo apt-get autoremove
, не удаляя используемые пакеты?
I выполнил команду autoremove, и он спросил мой, хочу ли я удалить эти пакеты. Поскольку было много пакетов, я не проверял всех специально. Вместе это было 163mb. После этого удаления я увидел, что мои значки на рабочем столе изменились. Я не хотел, чтобы это произошло, поскольку я использовал эти значки.
Я восстановил эти пакеты из файла журнала благодаря этим комадам
echo '#!/bin/bash' > restore
echo sudo apt-get install `grep Remove /var/log/apt/history.log | tail -1 | sed -e 's|Remove: ||g' -e 's|([^)]*)||g' -e 's|:[^ ]* ||g' -e 's|,||g'` >> restore
chmod +x restore
./restore
Благодаря https://serverfault.com/questions/380856/how-to-undo-apt-get -remove
Благодаря всем ответам заранее
Отметьте пакеты как установленные вручную:
sudo apt-mark manual <package_name>
Из man apt-mark
manual
manual is used to mark a package as being manually installed, which
will prevent the package from being automatically removed if no
other packages depend on it.
После запуска restore
все пакеты были установлены на статус «вручную», которые были установлены restore
.
Функция автоматического удаления не удаляет пакеты, которые можно / нужно использовать в системе.
Он удаляет только потерянные пакеты, которые были установлены из-за зависимостей других пакетов, которые были ранее удалены.
Таким образом, вы можете безопасно запустить эту команду и согласиться удалить все, что она предлагает.
В вашем случае вы, вероятно, удалили какой-то мастер-пакет, который вытянул некоторые другие полезные пакеты.
Если вы переустановите их снова, автоматическое удаление никогда не повлияет на них.