사용자 정의 kickstart .iso에서 시스템 파일을 변경할 수 있습니까?

사용자 정의 kickstart .iso에서 시스템 파일을 변경할 수 있습니까?

CentOS 7의 Kickstart .iso 설치를 설정했는데 제대로 설치되었습니다(.iso는 내부의 ks.cfg 파일과 함께 컴파일되었습니다).

아직 파악하지 못한 것은 iso 설치에서 시스템 파일을 편집하여 프록시 구성이 포함된 /etc/profile.d/proxy.sh 파일을 생성하고 나중에 다음을 수행할 수 있는지 여부입니다. 자체적으로 업데이트되도록 일부 yum 명령을 전달합니다(이 포럼에서 읽은 내용이지만 yum은 프록시 설정 없이는 아무것도 할 수 없습니다).

ks.cfg 파일의 %post 섹션에 있는 명령을 터미널에 입력한 것처럼 간단히 전달하려고 시도했지만 아무 작업도 수행하지 않으므로 어떻게 작동하는지 잘 모르겠습니다.

이것이 가능합니까? 아니면 이를 위해 Ansible을 자동화해야 합니까?

다음 %post 부분을 시도했습니다.

%post
touch /etc/profile.d/proxy.sh
echo 'Proxy info' >> /etc/profile.d/proxy.sh
yum install whatever
%end

하지만 기술적으로 시스템 자체가 아니라 설치 미디어에 있기 때문에 이와 같은 명령을 실행할 수 없다고 생각합니다.

답변1

나에게 잘 작동합니다.

나는 다음 시작 구성을 사용했습니다.

text
url --url=http://mirror.facebook.net/centos/8-stream/BaseOS/x86_64/os/

keyboard --vckeymap=us --xlayouts='us'
lang en-US.UTF-8
network --bootproto=dhcp --ipv6=auto --activate
firewall --enabled --service=ssh
timezone US/Eastern --isUtc
selinux --enforcing
bootloader --location=mbr
clearpart --all --initlabel
autopart
reboot --eject

rootpw --plaintext secret

%packages
@Core
%end

%post
echo 'Proxy info' >> /etc/profile.d/proxy.sh
%end

다음과 같이 테스트했습니다.

$ virt-install --name centos8-stream -r 4096 \
  --disk pool=default,size=10 \
  --os-variant centos8 \
  --location http://mirror.facebook.net/centos/8-stream/BaseOS/x86_64/os/ \
  -w network=default \
  --graphics=none \
  --console pty,target_type=serial \
  --initrd-inject ks.cfg \
  --extra-args='inst.ks=file:/ks.cfg console=ttyS0,115200n8'

시스템이 시작되면 파일이 예상대로 존재합니다.

CentOS Stream 8
Kernel 4.18.0-373.el8.x86_64 on an x86_64

localhost login: root
Password:
Last login: Thu Apr 14 22:46:23 on ttyS0
-bash: Proxy: command not found
[root@localhost ~]# cat /etc/profile.d/proxy.sh
Proxy info

다른 동작이 보이는 경우 해당 동작을 재현하는 예제를 게시해 주시면 자세히 살펴보도록 하겠습니다.

관련 정보