如能就以下问题提供任何帮助,我们将不胜感激:
几天前,我安装了最新的稳定 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 中除与 3.16.3 相关的 4 个文件之外的所有文件?我是否可以手动删除它们,然后使用以下命令升级 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