На этот вопрос уже есть ответ здесь:
Это не дубликат, как предлагалось выше - почему, см. Текст ниже.
У меня странная ситуация, когда работает "старое" ядро (на самом деле это САМОЕ СТАРЫЕ):
uname -r
> 4.13.0-43 -generic
Используя команду для отображения доступных ядер, я вижу только НОВЫЕ ядра (!):
sudo dpkg --list 'linux-image*'|awk '{ if ($1=="ii") print $2}'|grep -v `uname -r`
linux-image-4.13.0-45-generic
linux-image-4.15.0-24-generic
linux-image-4.15.0-29-generic
linux-image-4.15.0-30-generic
linux-image-4.15.0-32-generic
linux-image-4.15.0-33-generic
linux-image-4.15.0-34-generic
linux-image-extra-4.13.0-45-generic
Похоже, что система никогда не перезагружалась, чтобы «перейти к новым ядрам» - я вижу, например, что в корневом каталоге :
ls -al
lrwxrwxrwx 1 root root 33 Sep 11 06:02 initrd.img -> boot/initrd.img-4.15.0-34-generic
lrwxrwxrwx 1 root root 33 Sep 11 06:02 initrd.img.old -> boot/initrd.img-4.15.0-33-generic
lrwxrwxrwx 1 root root 30 Sep 11 06:02 vmlinuz -> boot/vmlinuz-4.15.0-34-generic
lrwxrwxrwx 1 root root 30 Sep 11 06:02 vmlinuz.old -> boot/vmlinuz-4.15.0-33-generic
что вроде подсказывает мне это (я не гуру Ubuntu) ...
Это не повторяющийся вопрос, а новый вопрос, потому что у меня нет старых ядра для удаления. В других ответах подробно описано удаление старых ядер с номерами версий меньше , чем у текущего ядра.
Работающее ядро является самым старым в списке.Я беспокоился об удалении ядер новее , чем текущее ядро - между текущим ядром и самым новым и ядром, которое нужно было установить, - но заблокировал его из-за 100% полного загрузочного раздела.
Все ответы с использованием «apt» не работают, когда загрузочный раздел заполнен на 100% , поэтому, пожалуйста, игнорируйте их :)
Из моего исходного вопроса: Так что у меня возникло искушение перезагрузить машина. Но опасно ли это - поскольку загрузочный раздел заполнен на 100%. «Обычно» я бы удалил старые ядра и т. Д., Чтобы освободить место. Каков наилучший / самый безопасный способ действовать здесь?
Я спрашиваю, потому что мне кажется, что мне «нужно» освободить место (см. Будет ли ubuntu загружаться, если раздел / boot заполнен? ) ... но как в этом конкретном случае?
ЭТО КАК Я РЕШИЛ проблему:
В конце концов, поскольку apt autoremove
и т. Д. Не работают в этой ситуации, я следовал подсказкам, приведенным здесь: https://gist.github.com/ipbastola / 2760cfc28be62a5ee10036851c654600
(См .: «Случай II: не удается использовать apt, т.е. / boot заполнен на 100%» )
В моем случае я удалил более новую версию ядро вручную, чтобы освободить место в / boot
для продолжения:
cd /boot
ls *4.13.0-45*
rm -rf *4.13.0-45*
df -h
sudo apt-get -f install
sudo apt-get autoremove
sudo update-grub
more grub/grub.cfg
reboot
df -h
показывает, что загрузка больше не заполнена на 100%
с more grub / grub.cfg
вы можете проверить, обслуживает ли система правильные ядра (то есть, обновляет ли grub
работал хорошо)
Выполните эти команды, в том порядке, один за другим и проверьте пространство каждый раз.
sudo apt autoremove
затем
sudo apt autoclean
и если недостаточно пространства, все же выполненного:
sudo apt clean
и
sudo update-grub
должен работать.
после перезагрузки в новом ядре подтверждают, что последние ядра полностью установлены. путем выполнения:
uname -r
и
sudo update-initramfs -u -k all
затем выполненный
sudo apt purge $(dpkg -l|egrep 'linux-image-[0-9]|linux-headers-[0-9]'|awk '{print $3,$2}'|grep -v `uname -r|cut -f1,2 -d"-"`|sort -nr|tail -n +4|awk '{ print $2}')
это удалит все старые ядра кроме того, которое Вы используете и последний.
Править
Примечание: Можно работать sudo update-initramfs -u -k all
подтвердить, что последние ядра полностью установлены перед всеми этими командами.