런레벨 2를 5로 변경할 때 FTP 서버 시작

런레벨 2를 5로 변경할 때 FTP 서버 시작

나는 이것을 한동안 찾고 있었습니다:

런레벨 2에서 런레벨 5로 변경할 때 fe proftpd를 어떻게 시작합니까?

런레벨 2로 돌아가면 서비스가 다시 중지되어야 합니다.

따라서 - 런레벨 2에서 5로 변경할 때 ftp-server를 시작하고, 런레벨로 다시 변경할 때 ftp-server를 중지하십시오.

(참고: FTP 서버는 부팅 시 시작할 수 없으므로 변경하면 안 됩니다.)

내가 찾은 가장 가까운 것은 다음과 같습니다.

# update-rc.d -n <service> start 2 . stop 2 .

물론 이것은 잘못된 것입니다. 어떤 아이디어가 있나요?

답변1

살펴보면 man update-rc.d몇 가지 예를 볼 수 있습니다. 이것은 아마도 당신이 원하는 것입니다:

update-rc.d proftpd start 80 5 . stop 20 0 1 2 3 4 6 .

80과 20은 proftpd가 대부분의 다른 서비스보다 늦게 시작되도록 하기 위한 것입니다.

다음 명령을 사용하여 먼저 기존 링크를 제거해야 할 수도 있습니다 update-rc.d -f proftpd remove.


최신 버전의 운영 체제를 사용하는 경우 위 방법이 작동하는 것처럼 보일 수 있지만 옵션이 고려되지는 않습니다. 대신 파일을 편집 /etc/init.d/proftpd하고 헤더를 다음과 같이 변경해야 합니다.

#!/bin/sh
### BEGIN INIT INFO
# Provides:          proftpd
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     5
# Default-Stop:      0 1 2 3 4 6
# X-Interactive:     false
# Short-Description: proftpd
### END INIT INFO

그리고 update-rc.d proftpd defaults대신 달리세요.

update-rc.d나중에 호출하기만 하면 insserv작업이 완료되고 이제 모든 종속성과 시작/중지가 자동으로 계산되어 변경할 수 없기 때문입니다 .

올바른 링크가 있는지 확인하세요 ls -l /etc/rc*/*proftpd. 예를 들어 출력은 다음과 같습니다.

lrwxrwxrwx 1 root root  /etc/rc0.d/K01proftpd -> ../init.d/proftpd
lrwxrwxrwx 1 root root  /etc/rc1.d/K01proftpd -> ../init.d/proftpd
lrwxrwxrwx 1 root root  /etc/rc2.d/K01proftpd -> ../init.d/proftpd
lrwxrwxrwx 1 root root  /etc/rc3.d/K01proftpd -> ../init.d/proftpd
lrwxrwxrwx 1 root root  /etc/rc4.d/K01proftpd -> ../init.d/proftpd
lrwxrwxrwx 1 root root  /etc/rc5.d/S04proftpd -> ../init.d/proftpd
lrwxrwxrwx 1 root root  /etc/rc6.d/K01proftpd -> ../init.d/proftpd

관련 정보