kickstart의 %post 스크립트를 사용하여 부팅 가능한 USB에서 로컬 드라이브로 파일을 복사합니다.

kickstart의 %post 스크립트를 사용하여 부팅 가능한 USB에서 로컬 드라이브로 파일을 복사합니다.

사용자 정의 폴더가 포함된 부팅 가능한 USB를 만들었습니다. 설치 후 USB에서 로컬 디렉터리로 파일을 복사하고 싶습니다. 아래는 kickstart 파일의 %post 부분입니다.

%post --nochroot --erroronfail --log=/mnt/sysimage/root/ks-post.log
cp -af /run/install/repo/custom/Router_CFG.ini /var/lib/tftpboot
%end

위 코드에서 오류가 발생합니다. /var/lib/tftpboot 디렉토리가 존재하지 않습니다. --nochroot를 제거했습니다.

%post --erroronfail --log=/mnt/sysimage/root/ks-post.log
cp -af /run/install/repo/custom/Router_CFG.ini /var/lib/tftpboot
%end

이제 USB 마운트 지점에 대해 불평합니다(/실행/설치/저장소)없는.

그런 다음 USB 드라이브를 마운트하려고 합니다.

%post --erroronfail --log=/mnt/sysimage/root/ks-post.log
mkdir /mnt/myusb
usbblkid=$(blkid -L "CentOS 7 x86_64")
mount $usbblkid /mnt/myusb
cp -af /mnt/myusb/custom/Router_CFG.ini /var/lib/tftpboot
%end

이제 오류가 발생합니다.

mount: Special device /dev/sdc1 doese not exist

답변1

첫 번째 시도는거의옳은. 이 시도:

%post --nochroot --erroronfail --log=/mnt/sysimage/root/ks-post.log
cp -af /run/install/repo/custom/Router_CFG.ini /mnt/sysimage/var/lib/tftpboot
%end

를 사용하면 %post --nochroot새 시스템의 루트 디렉터리가 지정되므로 /mnt/sysimage설치하려는 새 시스템을 참조하는 모든 경로 앞에 접두어를 붙여야 합니다. 설치 미디어는 에 있습니다 /run/install/repo.

제거하면 --nochroot새 시스템의 루트 디렉터리가 위치하게 되지만 /추가 단계를 거치지 않으면 설치 미디어에 액세스할 수 없습니다. 이렇게 하면 두 번째 시도가 성공할 수 있습니다(이전에 만들고 테스트한 작동 중인 RHEL7.2 설치 후 구성에서 조정됨).

%post --erroronfail --log=/root/ks-post.log
mkdir /mnt/myusb
mount /dev/disk/by-label/CentOS*7*x86_64 /mnt/myusb
cp -af /mnt/myusb/custom/Router_CFG.ini /var/lib/tftpboot
umount /mnt/myusb
rmdir /mnt/myusb
%end

관련 정보