是否必须在每次启动时创建 /dev/random 和 /dev/urandom,或者它们是可以放入 tar 中的静态文件吗?

是否必须在每次启动时创建 /dev/random 和 /dev/urandom,或者它们是可以放入 tar 中的静态文件吗?

是否必须在每次启动时创建 /dev/random 和 /dev/urandom,或者它们是可以放入 tar 中的静态文件吗?

我试图了解是否需要在每次操作系统启动时重新创建它们,或者一旦创建就不需要再次创建。

相关问题是,一旦创建,这两个设备可以放入 tar 中并恢复吗?

答案1

/dev/random并且/dev/urandom不是普通文件...它们是字符特殊设备。在 Linux 中,块特殊设备和字符特殊设备是操作系统设备驱动程序的文件系统接口。如果运行该命令,ls -l /dev您将看到第一列中包含“b”[表示块]或“c”[表示字符]的列表。按照惯例,它们放置在 /dev 目录树中,但可以在文件系统上的任何位置创建特殊设备。

块和字符特殊设备不是通过复制或移动创建的...它们是使用命令创建的mknod

通常,/dev/random/dev/urandom在操作系统启动时创建。当随机数生成器运行时,会动态创建设备。如果您重新启动 Linux 系统并且它们没有自动创建,那么您需要检查内核配置中是否发生了某些更改以禁用它。

如果文件消失或被意外删除,可以按如下方式重新创建它们(以 root 身份):

/bin/mknod -m 0666 /dev/random c 1 8
/bin/mknod -m 0666 /dev/urandom c 1 9
/bin/chown root:root /dev/random /dev/urandom

答案2

/dev/random/dev/urandom是设备文件;设备文件是在系统启动时创建还是在重新启动后保留可能取决于您的特定操作系统。在大多数(甚至可能是所有)Linux 发行版上,/dev都是临时(基于 RAM)文件系统,并且设备文件是在系统启动时以及每当插入设备时生成的。您不需要创建它们;系统应该自动执行此操作。

我不认为有任何理由将它们放入 tar 存档中,但如果您愿意,也可以这样做。

相关内容