升级后缺少 /dev/random

升级后缺少 /dev/random

我在升级 Fedora 系统时遇到了问题。最近,Amazon 添加了基于 EBS 的图像,我决定尝试一下。我启动了一个基本的 FC8 实例,并使用 yum 对其进行了升级。首先升级到 FC10,然后升级到 FC12。

好吧,我现在在 FC12 实例上丢失了 /dev/random,还有一些其他模糊的东西。例如:/dev/null 有 600 个权限,而 /dev/urandom 不是块设备。/dev/random 绝对消失了 :)

我在这里读http://markus.revti.com/2007/12/creating-devrandom/,如何“修复”上述问题,但是每次启动系统时一切都一样。我打算将修复程序添加到 /etc/rc.local 。您认为这是一个好的解决方案/解决方法吗?

有人知道问题到底出在哪里吗?

感谢您的任何建议和分享的知识,

斯坦。

ps 该实例正在运行此内核:2.6.21.7-2.ec2.v1.2.fc8xen

答案1

我相信它们是由 udev 创建的。将 /etc/udev 目录的内容与工作系统进行比较或查看 /var/log/udev 可能会给您一些启发。

答案2

您无法真正升级这样的 ec2 映像。由于内核由 Amazon 提供,因此您必须确保使用匹配的内核启动实例,否则将发生奇怪的行为(如您所述)。

“升级”需要内核更改的系统的唯一方法几乎是从头开始构建新映像或找到具有所需操作系统版本的现有 AMI。

答案3

您可以运行:

/sbin/MAKEDEV std

创建这些设备文件(以及一些其他文件)。

答案4

我发现我的问题出在哪里:

https://bugs.launchpad.net/ubuntu-on-ec2/+bug/397187

事实上,当我升级到较新的 Udev 时,它使用 signalfd(2),而这在我的 EC2 内核中不可用。

我希望这些信息能够对其他人有所帮助。

斯坦。

相关内容