Fedora Live ISO unsquash
에 있는 경우 라이브 이미지의 루트 파일 시스템이 포함된 파일을 마운트하면 디렉터리가 비어 있는 것을 볼 수 있습니다.squashfs.img
rootfs.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
이므로 useradd
Live CD 생성 중에는 이 명령이 실행되지 않으며 홈 디렉터리도 생성되지 않습니다.