rootfs.imgにliveuserホームディレクトリがないのはなぜですか?

rootfs.imgにliveuserホームディレクトリがないのはなぜですか?

Fedora Live ISOunsquashにある場合は、ライブイメージのルートファイルシステムを含むファイルをマウントすると、ディレクトリが空であることがわかります。squashfs.imgrootfs.img/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

ここで何が起こっているのでしょうか?

答え1

サービスの起動中に対応するliveuserホームディレクトリが作成されます。livesysサービス/初期化スクリプト自体は%postキックスタートファイルに生成されます。注:

cat > /etc/rc.d/init.d/livesys << EOF

スクリプトの行%post。 64行と216行の間のすべてfedora-live-base.ksはinitスクリプトの内容livesysなので、useraddLive CDの作成中にこのコマンドは実行されず、ホームディレクトリも作成されません。

関連情報