+ -
当前位置:首页 → 问答吧 → 关于LFS的一个理论问题。

关于LFS的一个理论问题。

时间:2008-12-06

来源:互联网

各位好,有个问题一直想不清楚。

我是使用lfs的livecd做宿主系统的。livecd应该是光盘。是光盘就应该是只读的吧?

既然是光盘livecd做宿主系统,那为什么在root用户状态下还能够建立目录呢?那样livecd不就成了可读的吗?

虽然很幼稚,但希望大家予以解答。

作者: poplar.xu   发布时间: 2008-12-06

说下我的理解,不对欢迎指正:首先linux的文件树,并不是实的东西,而是动态挂接的。比如启动时一般要给内核传递一个root=的参数,是为了(在initramfs之后)传递给内核的根文件系统(/)。经过一些步骤,会按/etc/fstab挂载其他文件系统到根文件树上。这些文件系统可能是本地分区,也可能是网络共享(smbfs/nfs)。它们可写是理所当然的。另外的一些虚拟文件系统,如/proc、/dev等,它们本身只是表示一些当前运行的状况。这部分详细的内容,建议参看《从按下电源开关到bash提示符》
此外就是livecd上非挂载而是直接连在根上的目录是否就一定不可写了呢?其实这也未必。为了解决livecd配置无法持久、每次开机都要重新配置的问题,有人开发了unionfs/aufs这类“联合挂载”的文件系统。所谓联合挂载,就是把多个文件系统挂到同一个。因此比如在/etc下作的修改(以及在用户目录下产生的配置),可以有部分直接存储到本地硬盘或者U盘里面(以文件块的形式),只要开机时载入即可。

作者: palxex   发布时间: 2008-12-06

加载到内存运行的,livecd做了特殊处理,使写入时不写入到光盘,而是内存的某快区域
实际上你做的宿主系统并没有很大的写入操作
你用光盘做宿主系统时,写入的lfs数据实际上被写入到了你挂载的硬盘

作者: hhts1987   发布时间: 2008-12-06

livecd的/ 是创建在内存上的, lz可以看看livecd的制作原理和squasfs

作者: asmart   发布时间: 2008-12-07

我昨天也在想这个问题...

作者: 残剑饮血   发布时间: 2008-12-07