Как удалить старые файлы ядра из /boot и исправить потенциальную ошибку, указанную в <sudo dpkg --list 'linux-image *'>?
Любая помощь со следующим будет очень цениться:
Несколько дней назад я установил последнее стабильное ядро Linux (3.16.3), а затем использовал один вкладыш, чтобы удалить мои старые ядра. Команда удалила кучу пакетов, включая мои драйверы AMD fglrx (сейчас я использую последнюю версию OpenSource Gallium), однако она не удалила старые ядра из /boot (которые больше не установлены). Детали смотрите ниже.
$ uname -a
Linux linux 3.16.3-031603-generic #201409171435 SMP Wed Sep 17 18:36:23 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
$ sudo ls -l /boot
total 153701
-rw-r--r-- 1 root root 1158016 May 3 01:30 abi-3.13.0-24-generic
-rw-r--r-- 1 root root 1163858 Aug 15 03:56 abi-3.13.0-35-generic
-rw-r--r-- 1 root root 1163858 Sep 3 23:24 abi-3.13.0-36-generic
-rw-r--r-- 1 root root 1204707 Sep 17 20:04 abi-3.16.3-031603-generic
-rw-r--r-- 1 root root 165510 May 3 01:30 config-3.13.0-24-generic
-rw-r--r-- 1 root root 165652 Aug 15 03:56 config-3.13.0-35-generic
-rw-r--r-- 1 root root 165671 Sep 3 23:24 config-3.13.0-36-generic
-rw-r--r-- 1 root root 170795 Sep 17 20:04 config-3.16.3-031603-generic
drwxr-xr-x 5 root root 1024 Sep 30 13:20 grub
-rw-r--r-- 1 root root 28803145 Sep 26 18:48 initrd.img-3.13.0-24-generic
-rw-r--r-- 1 root root 26876001 Sep 23 17:05 initrd.img-3.13.0-35-generic
-rw-r--r-- 1 root root 28958561 Sep 26 18:46 initrd.img-3.13.0-36-generic
-rw-r--r-- 1 root root 28616184 Sep 30 13:31 initrd.img-3.16.3-031603-generic
drwx------ 2 root root 12288 Aug 28 16:23 lost+found
-rw-r--r-- 1 root root 176500 Mar 12 2014 memtest86+.bin
-rw-r--r-- 1 root root 178176 Mar 12 2014 memtest86+.elf
-rw-r--r-- 1 root root 178680 Mar 12 2014 memtest86+_multiboot.bin
-rw------- 1 root root 3372643 May 3 01:30 System.map-3.13.0-24-generic
-rw------- 1 root root 3386444 Aug 15 03:56 System.map-3.13.0-35-generic
-rw------- 1 root root 3386479 Sep 3 23:24 System.map-3.13.0-36-generic
-rw------- 1 root root 3629877 Sep 17 20:04 System.map-3.16.3-031603-generic
-rw------- 1 root root 5776416 May 3 01:30 vmlinuz-3.13.0-24-generic
-rw------- 1 root root 5806368 Aug 15 03:56 vmlinuz-3.13.0-35-generic
-rw------- 1 root root 5806848 Sep 3 23:24 vmlinuz-3.13.0-36-generic
-rw------- 1 root root 6417328 Sep 17 20:04 vmlinuz-3.16.3-031603-generic
Теперь мои вопросы:
Как правильно удалить все файлы в моем / boot, кроме 4 файлов, связанных с 3.16.3? Могу ли я просто удалить их вручную, а затем обновить grub с помощью восстановления загрузки?
Пожалуйста, посмотрите вывод команды ниже. Поскольку я не знаю его значения, может кто-нибудь сообщить мне, если это показывает ошибку или это то, что я должен увидеть?
Большое спасибо!:)
$ sudo dpkg --list 'linux-image*'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-=======================-================-================-===================================================
un linux-image <none> <none> (no description available)
un linux-image-3.0 <none> <none> (no description available)
ii linux-image-3.16.3-0316 3.16.3-031603.20 amd64 Linux kernel image for version 3.16.3 on 64 bit x86
1 ответ
Чтобы избавиться от старых пакетов ядра, я сначала проверяю, не запущено ли ядро, которое я собираюсь удалить:)
uname -a
Затем я grep для пакетов, например:
dpkg -l | fgrep linux-image-
dpkg -l | fgrep 3.13.0-24
Затем я удаляю конкретные пакеты ядра из этого списка (ниже приведен только пример, вы можете скопировать / вставить фактические имена пакетов ядра):
apt-get purge linux-image-3.13.0-24-amd64 linux-headers-3.13.0-24-generic linux-headers-3.13.0-24-amd64
Если по какой-то причине файлы в /boot не удаляются корректно, вы можете удалить их вручную, конечно, следя за тем, чтобы НЕ удалять файлы, связанные с установленными linux-image-версиями, и НЕ удалять файлы, связанные с запущенным вами ядром. прямо сейчас.
После удаления файлов из /boot вы можете запустить update-grub, чтобы удалить связанные пункты меню.
Статус "un" мне не совсем подходит. Вы можете попробовать:
apt-get -f install
или же
apt-get install linux-image