Ubuntu. В разделе /boot не осталось места.

Недавно столкнулся с проблемой, что система ubuntu не может обновиться. Пишет ошибки про неудвлетворенные зависимости и не дает возможности завершится командам. Пробую починить:

sudo apt-get -f install

Результата нет. Начиная копать в чём дело. Оказывается, что в разделе /boot не осталось места, совсем нет. Как почистить?

sudo apt-get autoremove
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Возможно, для исправления этих ошибок вы захотите воспользоваться «apt-get -f install».
Пакеты, имеющие неудовлетворённые зависимости:
 linux-image-extra-4.4.0-87-generic : Зависит: linux-image-4.4.0-87-generic но он не установлен
 linux-image-extra-4.4.0-92-generic : Зависит: linux-image-4.4.0-92-generic но он не установлен
 linux-image-generic : Зависит: linux-image-4.4.0-92-generic но он не установлен
 ...

Результата нет. Всё теже неудовлетворенные зависимости. Прочитал, что можно отключить вручную пакеты с "Неудвлетворенные зависимости".

sudo apt-mark hold linux-image-extra-4.4.0-92-generic
linux-image-extra-4.4.0-92-generic помечен как зафиксированный.
sudo apt-mark hold linux-image-4.4.0-92-generic
linux-image-4.4.0-92-generic помечен как зафиксированный.

Тоже не помогает. Значит надо руками удалять файлы в /boot разделе. Насколько я понял, обычно место съедяются ядрами. Смотим список всех ядер.

sudo dpkg -l | grep linux-image

Важно не затронуть файлы, относящиеся к текущему ядру. Смотрим действующее ядро.

uname -a
4.4.0-79-generic

Стоит попытаться удалить пакеты командой apt-get remove, например:

sudo apt-get remove -f linux-image-2.6.32-24-generic

Мне не помогло, я просто удлалил через rm. После освобождени хоть какого-то места сработала команда sudo apt-get autoremove

P.S. Еще наткнулся на такую команду.

dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge

Она вроде как тоже должна удалять неиспользуемые ядра в Ubuntu, но конкретно в моей ситауции она тоже не сработала.

Похожие записи

Перенести базы PostgreSQL на другой диск Windows

Если у вас установлен Postgres в конфигурации по умолчанию, то его базы хранятся в Program Files. Если есть необходимость освободить место на системном диске C, то можно перенести базы данных Postgres на другой диск.

Как запускать shell (*.sh) скрипты?

Shell - это один из командных интерпретаторов, поставляемых вместе с ОС unix. Программа на языке Shell называется скриптом. Shell скрпитам указывают расширение *.sh и работают они в Unix системах. Если вам надо запустить shell скрипт в windows, то можно установить подсистему Linux Ubuntu или установить отдельно интерпретатор Shell для windows.

Lets Encrypt Wildcard SSL вручную

Определение wildcard SSL. Краткий список шагов ручного получения бесплатного wildcard SSL-сертификат от Lets Encrypt на примере CentOS 7 и утилиты acme.sh