每次我安装一个新的 Linux 内核时,它都会留在 grub_config 中,每次都会使引导菜单变长。
我知道我可以手动搜索已安装的软件包并删除它们。
Ubuntu 是否提供了更简单的方法来清理它们或防止它们显示在引导列表中?
我的/boot
分区快满了,每次重新启动系统时都会收到警告。我已经删除了旧的内核包(linux-headers ...),实际上我这样做是为了安装自动更新附带的较新内核版本。
安装新版本后,分区又快满了。那我还能删除什么?是否有其他一些与旧内核映像相关的文件?
这是我的/boot
分区上的文件列表:
:~$ ls /boot/
abi-2.6.31-21-generic lost+found
abi-2.6.32-25-generic memtest86+.bin
abi-2.6.38-10-generic memtest86+_multiboot.bin
abi-2.6.38-11-generic System.map-2.6.31-21-generic
abi-2.6.38-12-generic System.map-2.6.32-25-generic
abi-2.6.38-8-generic System.map-2.6.38-10-generic
abi-3.0.0-12-generic System.map-2.6.38-11-generic
abi-3.0.0-13-generic System.map-2.6.38-12-generic
abi-3.0.0-14-generic System.map-2.6.38-8-generic
boot System.map-3.0.0-12-generic
config-2.6.31-21-generic System.map-3.0.0-13-generic
config-2.6.32-25-generic System.map-3.0.0-14-generic
config-2.6.38-10-generic vmcoreinfo-2.6.31-21-generic
config-2.6.38-11-generic vmcoreinfo-2.6.32-25-generic
config-2.6.38-12-generic vmcoreinfo-2.6.38-10-generic
config-2.6.38-8-generic vmcoreinfo-2.6.38-11-generic
config-3.0.0-12-generic vmcoreinfo-2.6.38-12-generic
config-3.0.0-13-generic vmcoreinfo-2.6.38-8-generic
config-3.0.0-14-generic vmcoreinfo-3.0.0-12-generic
extlinux vmcoreinfo-3.0.0-13-generic
grub vmcoreinfo-3.0.0-14-generic
initrd.img-2.6.31-21-generic vmlinuz-2.6.31-21-generic
initrd.img-2.6.32-25-generic vmlinuz-2.6.32-25-generic
initrd.img-2.6.38-10-generic vmlinuz-2.6.38-10-generic
initrd.img-2.6.38-11-generic vmlinuz-2.6.38-11-generic
initrd.img-2.6.38-12-generic vmlinuz-2.6.38-12-generic
initrd.img-2.6.38-8-generic vmlinuz-2.6.38-8-generic
initrd.img-3.0.0-12-generic vmlinuz-3.0.0-12-generic
initrd.img-3.0.0-13-generic vmlinuz-3.0.0-13-generic
initrd.img-3.0.0-14-generic vmlinuz-3.0.0-14-generic
Run Code Online (Sandbox Code Playgroud)
目前,我正在使用3.0.0-14-generic
内核。
我的第一个问题是当我尝试apt-get update
或apt-get upgrade
. 升级时出现以下错误:
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
linux-image-server : Depends: linux-image-3.2.0-27-generic but it is not installed
E: Unmet dependencies. Try using -f.
Run Code Online (Sandbox Code Playgroud)
我尝试运行 apt-get install -f ,这是输出(在提示上说是后)
(Reading database ... 186183 files and directories currently installed.)
Unpacking linux-image-3.2.0-27-generic (from .../linux-image-3.2.0-27-generic_3.2.0-27.43_amd64.deb) ...
Done.
dpkg: error processing /var/cache/apt/archives/linux-image-3.2.0-27-generic_3.2.0-27.43_amd64.deb (--unpack):
failed in write on buffer copy for backend dpkg-deb during `./boot/System.map-3.2.0-27-generic': No space left on …
Run Code Online (Sandbox Code Playgroud) 我想做更新,但我的磁盘似乎已满。我试过:
sudo apt-get install -f
Run Code Online (Sandbox Code Playgroud)
但它给了我以下输出:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
checkbox-ng fonts-inconsolata gir1.2-gconf-2.0 ko.tex-extra-hlfont
latex-sanskrit libarchive-extract-perl libboost-date-time1.54.0
libboost-system1.54.0 libcmis-0.4-4 libcolamd2.8.0 libept1.4.12 libglamor0
libglew1.10 libglewmx1.10 libgnome-desktop-3-7 libgphoto2-port10 libilmbase6
libimobiledevice4 libintl-perl libisl10 libllvm3.4 liblog-message-perl
liblog-message-simple-perl libmagick++5 libmagickcore5 libmagickcore5-extra
libmagickwand5 libmbim-glib0 libmodule-pluggable-perl libmodule-runtime-perl
libntdb1 libopenexr6 liborcus-0.6-0 libparams-classify-perl libpocketsphinx1
libpod-latex-perl libpoppler44 libprocps3 libprotobuf8 libprotoc8
libqmi-glib0 libqpdf13 libqt5qml-graphicaleffects libqt5sensors5
libqt5webkit5-qmlwebkitplugin libraw9 librhythmbox-core8 libsphinxbase1
libspice-server1 …
Run Code Online (Sandbox Code Playgroud) 可能重复:
如何删除或隐藏旧内核版本以清理启动菜单?
我知道这个话题被提起过很多次,但我并没有真正找到让我满意的答案。即:我刚刚更新了内核版本(到 2.6.38-11),但我仍然有一些以前版本的“遗留物”。这是/boot文件夹的内容
abi-2.6.38-10-generic
abi-2.6.38-11-generic
config-2.6.38-10-generic
config-2.6.38-11-generic
grub
initrd.img-2.6.38-10-generic
initrd.img-2.6.38-11-generic
memtest86+.bin
memtest86+_multiboot.bin
System.map-2.6.38-10-generic
System.map-2.6.38-11-generic
vmcoreinfo-2.6.38-10-generic
vmcoreinfo-2.6.38-11-generic
vmlinuz-2.6.38-10-generic
vmlinuz-2.6.38-11-generic
Run Code Online (Sandbox Code Playgroud)
我想清理所有不应该再出现在我电脑上的东西,因为新版本的内核工作得很好。我试图用 Synaptic 清理它,但我得到了这个:
编辑:例如,当我更新 grub 时,即使删除了依赖项,我仍然会得到这个:
$ sudo update-grub2
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.38-11-generic
Found initrd image: /boot/initrd.img-2.6.38-11-generic
Found linux image: /boot/vmlinuz-2.6.38-10-generic
Found initrd image: /boot/initrd.img-2.6.38-10-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows Recovery Environment (loader) on /dev/sda1
Found Windows 7 (loader) on /dev/sda2
done
Run Code Online (Sandbox Code Playgroud)
我想摆脱这些图像。
高度评价的问答 如何删除旧内核版本以清理启动菜单?除非安装了额外的应用程序,即Ubuntu-Tweak ,否则不会提供一种简单的方法来选择性地清除旧内核。
该猛砸一个班轮只删除旧内核的Q&A提供了一个“清除一切旧”的解决方案,但我想保持过去的内核中每一代。即删除 4.7.1、4.7.2...但保留 4.7.5。
有没有办法滚动浏览所有已安装内核的列表并选择要清除的特定内核?它不应允许清除当前正在运行的内核。
我正在 Ubuntu virtualbox 上工作并尝试使用安装curl sudo apt-get install curl -y
。
我收到回复说存在未满足的依赖关系,并说您可能需要运行“apt-get -f install”来纠正这些问题:
所以,我执行apt-get -f install
并遇到一个新问题:
After this operation, 43.0 MB of additional disk space will be used.
(Reading database ... 273817 files and directories currently installed.)
Preparing to unpack .../linux-image-3.13.0-91-generic_3.13.0-91.138_amd64.deb ...
Done.
Unpacking linux-image-3.13.0-91-generic (3.13.0-91.138) ...
dpkg: error processing archive /var/cache/apt/archives/linux-image-3.13.0-91-generic_3.13.0-91.138_amd64.deb (--unpack):
cannot copy extracted data for './boot/vmlinuz-3.13.0-91-generic' to '/boot/vmlinuz-3.13.0-91-generic.dpkg-new': failed to write (No space left on device)
No apport report written because the error message …
Run Code Online (Sandbox Code Playgroud) apt ×3
kernel ×3
boot ×2
disk-usage ×2
grub2 ×2
partitioning ×2
11.04 ×1
16.04 ×1
cleanup ×1
dependencies ×1
filesystem ×1
hard-drive ×1
init ×1
upgrade ×1
versions ×1
virtualbox ×1
xubuntu ×1