LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 893|回复: 4

关于LFS的一个理论问题。

[复制链接]
发表于 2008-12-6 12:22:04 | 显示全部楼层 |阅读模式
各位好,有个问题一直想不清楚。

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

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

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

使用道具 举报

发表于 2008-12-6 15:09:01 | 显示全部楼层
加载到内存运行的,livecd做了特殊处理,使写入时不写入到光盘,而是内存的某快区域
实际上你做的宿主系统并没有很大的写入操作
你用光盘做宿主系统时,写入的lfs数据实际上被写入到了你挂载的硬盘
回复 支持 反对

使用道具 举报

发表于 2008-12-7 00:06:09 | 显示全部楼层
livecd的/ 是创建在内存上的, lz可以看看livecd的制作原理和squasfs
回复 支持 反对

使用道具 举报

发表于 2008-12-7 13:55:08 | 显示全部楼层
我昨天也在想这个问题...
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表