Как удалить устаревшие пакеты после отказавшего обновления версии через-обновление-версии на Ubuntu?

Иногда, когда я обновляю систему через do-release-upgrade, сбои процесса обновления и сценарий говорят мне заканчивать процесс вручную через dpkg --configure -a. Это - не серьезная проблема - после ручного решения проблемы зависимостей, и заканчивающееся обновление обрабатывают все работы хорошо.

Но do-release-upgrade сценарий имеет процесс очистки после окончания обновления:

Remove obsolete packages?  
XXX packages are going to be removed.  
Continue [yN]  Details [d]y

который удаляет некоторые устаревшие пакеты из старой версии системы.

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

Как я могу работать, "Удаляют устаревшие пакеты" процесс вручную после окончания обновления вручную?

16
задан 26 April 2017 в 23:30

4 ответа

Проверьте это:

Откройте терминал (нажмите Ctrl + Alt + T ).

Запустите это:

sudo -i

apt-get update
apt-get autoremove
apt-get clean
 
UNUSCONF=$(dpkg -l|grep "^rc" | awk '{print $2}')
apt-get remove --purge $UNUSCONF

NEWKERNEL=$(uname -r|sed 's/-*[a-z]//g'|sed 's/-386//g')

ADDKERNEL="linux-(image|headers|ubuntu-modules|restricted-modules)"

METAKERNEL="linux-(image|headers|restricted-modules)-(generic|i386|server|common|rt|xen)"

UNUSKERNELS=$(dpkg -l | awk '{print $2}' | grep -E $ADDKERNEL | grep -vE $METAKERNEL | grep -v $NEWKERNEL)

apt-get remove --purge $UNUSKERNELS

update-grub
23
ответ дан 23 November 2019 в 03:19

Я считаю, что «Удалить устаревшие пакеты» на самом деле просто запускает sudo apt-get autoremove . Попробуйте, посмотрите, поможет ли.

2
ответ дан 23 November 2019 в 03:19

Я обнаружил, что этот ответ на несвязанный вопрос может предоставить утилиту и команду, которая, кажется, удаляет больше неиспользуемого материала:

  1. Установите пакет «deborphan».
  2. sudo deborphan | xargs sudo apt-get -y remove --purge
2
ответ дан 23 November 2019 в 03:19

В журналах обновления в / var / log / dist-upgrade есть строка в main.log :

main.log:2020-12-23 21:01:53,154 DEBUG Obsolete: linux-headers-5.4.0-56-generic linux-hwe-5.4-headers-5.4.0-56 linux-image-5.4.0-56-generic linux-modules-5.4.0-56-generic linux-modules-extra-5.4.0-56-generic msgpack-tools slirp4netns

I думаю, их удаление в сочетании с apt-get autoremove должно сделать то же самое, что и обновление, если бы оно было выполнено до конца.

0
ответ дан 5 January 2021 в 23:01

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

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