Fedora
為什麼 rootfs.img 中不存在 liveuser 主目錄?
如果您
unsquash
在squashfs.img
Fedora Live ISO 中,然後掛載rootfs.img
包含 live 映像的根文件系統的 .,您將看到該/home
目錄是空的。然而,當您從您的使用者所在的實時映像啟動時
liveuser
,該目錄/home/liveuser
“神奇地”出現了。這個目錄是從哪裡來的,如果它不在
rootfs.img
?您可以通過以下方式進行驗證:
mount -o loop Fedora.iso /mnt/ mkdir iso cp -rpf /mnt/* iso/ umount /mnt unsquashfs iso/LiveOS/squashfs.img cd squashfs-root/LiveOS mount -o loop,ro rootfs.img /mnt ll /mnt/home/ total 0
然而,當您啟動時,您會發現一個
liveuser
主目錄。是如何自發產生的?奇怪的是,在 中
fedora-live-base.ks
,這個目錄和使用者實際上是創建的:action "Adding live user" useradd \$USERADDARGS -c "Live System User" liveuser
然而沒有
liveuser
。這裡發生了什麼 ?
及其主
liveuser
目錄由livesys
服務在引導期間創建。service/init 腳本本身是在%post
kickstart 文件中創建的——請注意:cat > /etc/rc.d/init.d/livesys << EOF
%post
腳本中的行。fedora-live-base.ks中第 64 行和第 216 行之間的所有內容都是livesys
init 腳本的內容,因此useradd
在 Live CD 創建期間不會執行該命令,也不會創建主目錄。