시작 후 문제

시작 후 문제

설치 후 스크립트를 실행하는 Kickstart의 제한 사항에 대해 아직 명확하지 않습니다.

제가 처음 이해한 것은 킥스타트 파일의 %post 영역이 설치가 완료된 후 시스템에서 명령을 실행하는 데 사용되었다는 것이었습니다. Bash를 인터프리터로 사용하도록 Kickstart 파일에 지시했지만 제가 오해할 수 있는 것은 이 실행의 컨텍스트입니다. CentOS 시스템을 네트워크의 키오스크로 구성하는 Bash 스크립트가 있습니다. 이 스크립트는 자체적으로 실행될 때 잘 작동하지만 일반적으로 설치가 완료되고 GNOME 세션에 로그인한 후에는 잘 실행됩니다. 나는 그 스크립트를 가져와서 약간 수정하고 Kickstart가 가능한 한 무인에 가깝게 실행하도록 하고 싶습니다. 스크립트를 복사하여 붙여넣는 것만으로도 심각하게 바람직하지 않은 결과가 발생할 수 있습니다. 먼저, 포스트 스크립트에는 다음이 필요합니다.시간가서 끝내세요. GNOME에서 수동으로 실행하면 최악의 경우 실행에 1분도 걸리지 않습니다. 둘째, 완성되었을 때 전혀 작동하지 않는 것처럼 보이는 여러 측면이 있었습니다. 예를 들어, 내 사용자 정의 영역과 서비스가 전혀 없기 때문에 방화벽을 구성하는 부분이 아직 실행되지 않는 것 같습니다. 이 스크립트의 또 다른 버전은 조건부로 다른 스크립트를 실행하기 위해 트리거 파일을 chmod하려고 시도하며, 트리거 파일이 생성되는 동안 파일을 chmoding하는 것이 작동하지 않는 것 같습니다. 또한, 내가 아는 한, anaconda의 로그 파일인 /tmp/program.log 및 /tmp/install.log는 오류로 인한 예외를 표시하지 않습니다.

일부 중요한 요소가 제거된 Bash 스크립트의 약간 수정된 복사본이 있습니다(이 작업을 수행할 때 언급됨).https://pastebin.com/uSkcdynf. 킥스타트 파일은 매우 표준적입니다. 해당 섹션의 %post와 %end 사이에 이 스크립트를 붙여넣으면 됩니다.

답변1

@Haxiel 당신은 머리에 못을 박았습니다. chroot에 대한 나의 이해는 이 모험을 시작했을 때보다 나아졌지만 여전히 필요하다고 생각하는 정도는 아닙니다. chroot를 벗어나면 눈에 띄는 속도 향상은 말할 것도 없이 변경 사항을 더욱 영구적으로 적용할 수 있었습니다.

다른 사람들에게 전하고 싶은 또 다른 경고는 스크립트가 Anaconda를 통해 설치된 프로그램 사용에 의존하는 경우 chroot 후에도 해당 프로그램이 여전히 작동하는지 확인하기 위해 몇 가지 테스트를 수행해야 한다는 것입니다. 부서진. 예를 들어 프로그램이 기본 템플릿 디렉터리를 찾을 수 없기 때문에 git을 사용할 수 없습니다. 전역 구성을 통해 이를 지정한 후에도 뚜렷한 수정 사항 없이 다른 모든 종류의 불안정 문제가 여전히 존재했습니다. 스크립팅 작업 흐름을 기본 사항까지 단순화한 것이 이 작업을 수행하는 데 큰 도움이 되었습니다.

관련 정보