일련의 응용 프로그램을 시작/다시 시작/중지하는 시작 스크립트를 만들었습니다. /etc/init.d/functions
내 스크립트에서 이 라이브러리를 사용하고 있습니다 . 내 시스템에서는 제대로 작동하지만 내 클라이언트에서는 작동하지 않습니다. 오류가 발생합니다.
해당 파일이나 디렉토리가 없습니다 /etc/init.d/functions
이제 내 클라이언트가 어떤 Linux 배포판을 사용하는지 알 수 없습니다. init.d/functions
Linux 배포판마다 파일이 다릅니까? 그렇다면 어떻게 찾을 수 있나요?
답변1
실행 중인 배포판에 따라 다릅니다. Debian과 Ubuntu에는 그런 기능이 있습니다 /lib/lsb/init-functions
. SuSE에는 그런 기능이 있습니다 /etc/rc.status
.그 중 어느 것도 다른 것과 호환되지 않습니다. 실제로 일부 배포판에서는 /etc/init.d
이를 전혀 사용하지 않거나 호환되지 않는 방식으로 사용합니다(Slackware 및 Arch가 떠오릅니다. 다른 배포판도 있습니다).
답변2
존재하다CentOS 7 도커 이미지initscripts
이 스크립트를 설치하려면 간단히 패키지를 설치해야 했습니다 .
yum install -y initscripts
(감사해요이 질문은docker-library
좀 보자이번에 제출하세요)
답변3
이것은 확실히 분포에 따라 다릅니다. 적절하게 일치하는 init 스크립트를 작성하려면 배포판을 찾아야 합니다.
또한 LSB(Linux Standard Base) 사양을 따르고 관련 배포판도 동일하기를 바랍니다. 현재 사양에는 표준 초기화 스크립트 기능을 다음과 같이 사용할 수 있다고 명시되어 있습니다 /lib/lsb/init-functions
.여기에서 문서를 참조하세요.). Fedora 및 기타 Red Hat 관련 배포판에서는 패키지에서 제공됩니다 redhat-lsb
.임의로 선택할 수 있는.
그러므로, 당신은 정말로 당신의 목표가 무엇인지 알아내야 합니다. 죄송합니다.
답변4
Ubuntu로 마이그레이션할 때 이러한 기능을 놓쳤기 때문에 해당 기능을 다시 만들기 위해 라이브러리를 만들었습니다.기능.