无法更新内核

无法更新内核

我在 VPS 中有一个 Natty Linux 服务器,其中装有 Linux 2.6.18。

当我意识到 Natty 不再受支持时,我想现在在其中安装新软件。所以我将存储库更改为 Oneiric (debhttp://archive.ubuntu.com/ubuntu梦幻主受限宇宙等)

在解决了很多问题之后(我整个下午都在这里),我意识到一些依赖项也需要更新的内核。所以我决定将内核升级到 3.0.0-32:

apt-get 安装 linux 镜像

这里失败了。当它要求我更新 grub 时,它说无法检测到我的存储设备 (/dev/vzfs) 的文件系统,现在我被卡在这里:

root@server1:/tmp# apt-get install linux-image
正在读取软件包列表...完成
构建依赖关系树
正在读取状态信息...完成
linux-image 已经是最新版本。
升级了 0 个,新安装了 0 个,删除了 0 个,并且未升级 351 个。
3 未完全安装或删除。
此操作后将使用0B的额外磁盘空间。
您想继续吗 [Y/n]?Y
设置 linux-image-3.0.0-32-generic (3.0.0-32.51) ...
运行 depmod。
update-initramfs:生成 /boot/initrd.img-3.0.0-32-generic
E: /usr/share/initramfs-tools/hooks/fixrtc 失败并返回 1。# <===== 此处
update-initramfs: /boot/initrd.img-3.0.0-32-generic 失败
无法创建 initrd 映像。
dpkg: 处理 linux-image-3.0.0-32-generic (--configure) 时出错:
 子进程安装后安装脚本返回错误退出状态 2
dpkg:依赖性问题阻止了 linux-image-generic 的配置:
 linux-image-generic 依赖于 linux-image-3.0.0-32-generic;然而:
  软件包 linux-image-3.0.0-32-generic 尚未配置。
dpkg: 处理 linux-image-generic (--configure) 时出错:
 依赖问题 - 未配置
dpkg:依赖性问题阻碍了 linux-image 的配置:
 linux-image 依赖于 linux-image-generic (= 3.0.0.32.36);然而:
  软件包 linux-image-generic 尚未配置。
dpkg: 处理 linux-image 时出错(--configure):
 依赖问题 - 未配置
没有写入批准报告,因为错误消息表明它是上次故障的后续错误。
                                                                                                          没有写入批准报告,因为错误消息表明它是上次故障的后续错误。
                                                                                                 处理时遇到错误:
 Linux-映像-3.0.0-32-通用
 linux-image-通用
 Linux 映像
E: 子进程 /usr/bin/dpkg 返回错误代码 (1)

我到处搜索,但找不到任何答案。我甚至试图找到有关“fixrtc”为什么会失败的信息,但甚至没有关于它做什么或如何工作的文档……

任何想法?

附加信息:

root@server1:/tmp# 更新-grub
正在生成 grub.cfg ...
找到 Linux 映像:/boot/vmlinuz-3.0.0-32-generic
/usr/sbin/grub-probe:错误:没有这样的磁盘。
/usr/sbin/grub-probe:错误:没有这样的磁盘。
取消共享失败:操作不允许
找不到分区列表!(尝试挂载 /sys。)
完毕

显然新内核已经安装,并且 grub 能够找到它。但我真的很担心重启服务器,因为 grub 可能无法正常工作并启动我的机器。

root@server1:/sys# mount
/dev/vzfs 开启 / 类型 vzfs (rw)
/proc 上的 proc 类型 proc (rw)
/sys 上的 sysfs 类型 sysfs (rw)
/dev/pts 上无类型 devpts (rw)

尽管我的 /boot/grub 中的 grub.cfg 文件有:

菜单项‘Ubuntu,带有 Linux 3.0.0-32-generic’--class ubuntu --class gnu-linux --class gnu --class os {
        記錄失敗
        设置 gfxpayload=$linux_gfx_mode
        安装gzio

        linux /boot/vmlinuz-3.0.0-32-generic root=/dev/vzfs ro quiet splash vt.handoff=7
}
菜单项‘Ubuntu,带有 Linux 3.0.0-32-generic(恢复模式)’--class ubuntu --class gnu-linux --class gnu --class os {
        記錄失敗
        安装gzio

        echo ‘正在加载 Linux 3.0.0-32-generic...’
        linux /boot/vmlinuz-3.0.0-32-generic root=/dev/vzfs ro 单一 nomodeset
}

答案1

我认为这是不可能的。

我设法跳过这个“钩子”,将这个 fixrtc 设置为不可执行 (chmod -x),从而通过了 /usr/share/initramfs-tools/hooks/fixrtc。但是当他执行 update-grub 时,它发出了抱怨。

过了一会儿,我意识到我的机器上没有安装内核。是的,我仍然无法理解一台没有 Linux 内核的 Linux 机器怎么能工作,但我认为这是因为 VPS 的问题。

我的 VPS 是 Virtuozzo(我可以通过 mount -> /dev/vzfs 看到它有一个 vzfs 文件系统(不是像 ext3 这样的“普通”文件系统),并且https://serverfault.com/questions/158323/no-grub-on-vpsEEAA 的回答看起来我无法选择我的内核。

所以我卸载了内核,现在 /boot 看起来和以前一样空了。只能换到另一台服务器(这台服务器太便宜了,不好用……)

相关内容