미리 설정 및 킥스타트 파일을 통해 설치 질문에 답하는 사용자 정의 Ubuntu Server ISO가 있습니다. 또한 실제 설치 중에 ISO에 배치한 추가 .debs도 설치합니다. 이것은 모두 좋습니다.
이제 구성 요구 사항을 충족하기 위해 처음 부팅할 때 스크립트를 실행하는 방법이 필요합니다. 설치 후 스크립트가 작동하지 않는 것 같습니다(킥스타트 파일에서). systemd 또는 rc.local 파일만 사용할 수 있습니다(적어도 이것이 유일한 옵션이라고 생각합니다...).
양손을 사용하여 키보드를 누르지 않고도 ISO에 이미 존재하는 스크립트를 실행하는 가장 쉬운 방법은 무엇입니까? Systemd에서는 먼저 서비스를 활성화하도록 요구하는 것 같은데, 이는 용납할 수 없습니다(다시 말하지만 키보드에 손을 대지 마십시오). 저는 rc.local을 사용하고 있지만 이 기사에서는 사용하지 말라고 나와 있습니다."/etc/rc.local의 목적과 일반적인 사용법".
이 경고를 무시해야 합니까? 더 쉬운 방법이 있는지 궁금합니다.
답변1
나는 shvahabi의 제안을 따랐습니다.https://askubuntu.com/questions/9853/how-can-i-make-rc-local-run-on-startup. 기본적으로 우분투 컴퓨터에서 rc.local을 활성화하고 사용했습니다. rc.local은 일반적으로 데비안에서는 사용되지 않습니다. Windows 레지스트리 실행 키와 매우 유사합니다. 결국 첫 번째 실행 구성 스크립트에 사용자 정의 rc.local 파일이 생기고 설치 시 상자에 파일을 배치하는 사용자 정의 deb 패키지가 생깁니다(사용자 정의 deb는 ISO 자체에 존재합니다). 그런 다음 부팅할 때마다 rc.local이 스크립트를 실행하고 첫 번째 부팅에서만 실행되는지 확인할 수 있습니다.
중요한 팁:"/etc/init.d/rc.local" 대신 "/etc/rc.local"...을 사용하여 스크립트를 실행하는 줄을 편집하고 추가합니다. 두 번째 패키지는 실제로 다른 패키지에 의해 제어되며 설치 중에 사용자 정의 deb 파일에서 사용자 정의 버전을 설치할 수 없습니다. init.d 버전의 유일한 목적은 어쨌든 "/etc/rc.local"을 호출하는 것입니다.
서비스를 먼저 시작하려면 명령을 입력해야 하기 때문에 systemd나 upstart를 사용하지 않았습니다. 이를 위해서는 손을 자유롭게 해야 합니다. 그러나 나는 이 모든 명령이 링크 파일을 생성하는 것이라고 생각하지만 이를 어디에 두어야 할지 파악하고 싶지 않습니다. 사용자 정의 deb 패키지에 있는 두 파일이 가장 간단합니다.