Назад | Перейти на главную страницу

Невозможно удалить старые версии ядра в Ubuntu 16.04

У меня есть задача очистить загрузочный диск, который заполнен на 100%.

Перечисляю предыдущие версии:

dpkg -l linux-изображение *

И получит список из 12 версий,

rc  linux-image-4.4.0-45-generic    4.4.0-45.66          amd64                Linux kernel image for version 4.4.0 on 64 bit x86 SMP
rc  linux-image-4.4.0-47-generic    4.4.0-47.68          amd64                Linux kernel image for version 4.4.0 on 64 bit x86 SMP

вот хвост:

[...]

ii  linux-image-4.4.0-78-generic    4.4.0-78.99          amd64                Linux kernel image for version 4.4.0 on 64 bit x86 SMP
iF  linux-image-4.4.0-79-generic    4.4.0-79.100         amd64                Linux kernel image for version 4.4.0 on 64 bit x86 SMP
iF  linux-image-4.4.0-81-generic    4.4.0-81.104         amd64                Linux kernel image for version 4.4.0 on 64 bit x86 SMP
in  linux-image-4.4.0-83-generic    <none>               amd64                (no description available)
iU  linux-image-virtual             4.4.0.83.89          amd64                This package will always depend on the latest minimal generic kerne

Хорошо, поэтому я хочу удалить старые версии и оставить последнюю. Я сейчас на:

uname -r

4.4.0-78-generic

Итак, я хочу удалить старые версии:

apt-get autoremove -f

The following NEW packages will be installed:
  linux-image-4.4.0-83-generic
0 upgraded, 1 newly installed, 0 to remove and 48 not upgraded.
10 not fully installed or removed.
[...]
Unpacking linux-image-4.4.0-83-generic (4.4.0-83.106) ...
dpkg: error processing archive /var/cache/apt/archives/linux-image-4.4.0-83-generic_4.4.0-83.106_amd64.deb (--unpack):
 cannot copy extracted data for './boot/vmlinuz-4.4.0-83-generic' to '/boot/vmlinuz-4.4.0-83-generic.dpkg-new': failed to write (No space left on device)
No apport report written because the error message indicates a disk full error
                                                                              dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 4.4.0-83-generic /boot/vmlinuz-4.4.0-83-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 4.4.0-83-generic /boot/vmlinuz-4.4.0-83-generic
Errors were encountered while processing:
 /var/cache/apt/archives/linux-image-4.4.0-83-generic_4.4.0-83.106_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Так что не вышло - почему-то написано: 0 удалить.

Пробую вручную

apt-get удалить linux-image- (вкладка)

и получите эти варианты

linux-image-4.4.0-62-generic  linux-image-4.4.0-70-generic  linux-image-4.4.0-75-generic
linux-image-4.4.0-64-generic  linux-image-4.4.0-71-generic  linux-image-4.4.0-78-generic
linux-image-4.4.0-66-generic  linux-image-4.4.0-72-generic  linux-image-virtual

Так что все они там не появляются.

Я пытаюсь удалить один из них

apt-get удалить linux-image-4.4.0-62-generic

Результат:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 linux-image-virtual : Depends: linux-image-4.4.0-83-generic but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

??? Я хочу удалить их, и вместо этого предлагается использовать установку? Что я не могу сделать, так как загрузочный диск заполнен на 100% ...

Вам нужно освободить место на диске под /boot раздел. Вы можете удалить файлы, относящиеся к определенному образу ядра Linux, которое вы хотите удалить. Вам просто нужно убедиться, что вы не удалили образ Linux по умолчанию, который будет загружаться во время запуска системы (обычно следует сохранить самую последнюю версию).

Тогда вы можете попробовать apt-get remove linux-image-version и apt-get -f install исправить сломанные зависимости.