总结- 是否有任何理由/vmlinuz
或/vmlinuz.old
应该是目录,而不是引导中图像的符号链接?是否有任何理由不使用正确的符号链接替换这些(空)目录?
整个故事:最近在安装一些软件包时,dpkg 会出现以下错误:
Setting up linux-image-3.13.0-147-generic (3.13.0-147.196) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
The link /initrd.img is a dangling linkto /boot/initrd.img-3.13.0-147-generic
Hmm. vmlinuz is a directory, which I did not expect. I am
trying to create a symbolic link with that name linked to
/ . Since a directory exists here, my assumptions
are way off, and I am aborting.
dpkg: error processing package linux-image-3.13.0-147-generic (--configure):
subprocess installed post-installation script returned error exit status 2
dpkg: dependency problems prevent configuration of linux-image-generic:
linux-image-generic depends on linux-image-3.13.0-147-generic; however:
Package linux-image-3.13.0-147-generic is not configured yet.
关键部分似乎是vmlinuz is a directory, which I did not expect
。果然,/vmlinuz
和/vmlinuz.old
在本系统上是空目录,而在我使用的其他 Ubuntu 系统上,它们是指向 中的文件的符号链接/boot
。
基于https://ubuntuforums.org/showthread.php?t=2259423听起来我应该能够创建指向 中最新和次最新图像的预期符号链接/boot
,因为 中没有任何内容/boot/grub/grub.cfg
指向vmlinuz
或vmlinuz.old
目录。另一方面,我还发现了类似http://www.linfo.org/vmlinuz.html这句话vmlinuz
应该是通过复制编译后的图像来实现的。根据日期,我认为后者已经过时了。
这似乎阻止了 apt 完成新内核的安装,所以我真的很想解决这个问题,通过将/vmlinuz
和/vmlinuz.old
目录替换为它们应该是的符号链接。但这是在一台关键的研究计算机上,因此意外破坏操作系统(因为有充分的理由认为这些应该是目录)肯定是一件坏事。有谁知道这些应该是目录而不是指向 下图像的符号链接的原因/boot
,或者我不能手动修复它的原因?
编辑: 按照要求:
$ ls -la /vmlinuz* /initrd.img*
lrwxrwxrwx 1 root root 34 Jul 26 19:13 /initrd.img -> boot/initrd.img-3.13.0-147-generic
lrwxrwxrwx 1 root root 34 Jul 20 20:06 /initrd.img.old -> boot/initrd.img-3.13.0-147-generic
/vmlinuz:
total 8
drwxr-xr-x 2 root root 4096 Nov 5 2016 .
drwxr-xr-x 24 root root 4096 Jul 26 19:13 ..
/vmlinuz.old:
total 8
drwxr-xr-x 2 root root 4096 Nov 5 2016 .
drwxr-xr-x 24 root root 4096 Jul 26 19:13 ..
这两个initrd.img
链接目前都处于悬空状态,但我怀疑这是因为dpkg
被阻止配置虚拟机映像:
$ ls -la /boot/
total 70412
drwxr-xr-x 3 root root 16384 Jul 9 17:27 .
drwxr-xr-x 24 root root 4096 Jul 26 19:13 ..
-rw-r--r-- 1 root root 1166518 Oct 18 2016 abi-3.13.0-100-generic
-rw-r--r-- 1 root root 1168650 May 2 10:48 abi-3.13.0-147-generic
-rw-r--r-- 1 root root 1164852 Mar 10 2015 abi-3.13.0-46-generic
-rw-r--r-- 1 root root 165931 Oct 18 2016 config-3.13.0-100-generic
-rw-r--r-- 1 root root 166136 May 2 10:48 config-3.13.0-147-generic
-rw-r--r-- 1 root root 165748 Mar 10 2015 config-3.13.0-46-generic
drwxr-xr-x 5 root root 4096 Jul 9 17:27 grub
-rw-r--r-- 1 root root 19901593 Feb 6 06:40 initrd.img-3.13.0-100-generic
-rw-r--r-- 1 root root 19869425 Dec 6 2017 initrd.img-3.13.0-46-generic
-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-r--r-- 1 root root 691 May 2 10:48 retpoline-3.13.0-147-generic
-rw------- 1 root root 3395101 Oct 18 2016 System.map-3.13.0-100-generic
-rw------- 1 root root 3413068 May 2 10:48 System.map-3.13.0-147-generic
-rw------- 1 root root 3389458 Mar 10 2015 System.map-3.13.0-46-generic
-rw------- 1 root root 5836896 Oct 18 2016 vmlinuz-3.13.0-100-generic
-rw------- 1 root root 5887024 May 2 10:48 vmlinuz-3.13.0-147-generic
-rw------- 1 root root 5814592 Mar 10 2015 vmlinuz-3.13.0-46-generic