
/etc/rc0.d
저는 , /etc/rc1.d
, /etc/rc2.d
, ..., 디렉토리가 있는 Ubuntu를 실행하고 있습니다 /etc/rc6.d
.
내 컴퓨터의 예제 파일:
directory example symlinks in the dir
------------------------------------------
/etc/rc1.d: K76dovecot, K77ntp
/etc/rc2.d: S23ntp, S24dovecot
/etc/rc3.d: S23ntp, S24dovecot
/etc/rc4.d: S23ntp, S24dovecot
/etc/rc5.d: S23ntp, S24dovecot
질문:
- 여러 "rc" 디렉토리의 목적은 무엇입니까?
- Ubuntu가 및를 제외한 모든 디렉토리에
dovecot
및 의 중복을 설치한 이유는 무엇입니까 ?ntp
rc0.d
rc6.d
- 위와 같이 여러번 지정하면 실제로는 여러번 실행되는 걸까요?
- 위에서 어떤 순서로 시작 시 실행되는지 알 수
dovecot
있습니까ntp
? - Ubuntu가 시작하기
ntp
전에 항상 실행되도록 지시하는 적절한 방법은 무엇입니까 ?dovecot
답변1
다른 사람들이 지적했듯이 대답은 다음과 같습니다.런레벨이는 기본적으로 운영 체제의 작동 모드입니다. Linux에서는 일반적으로 다음과 같습니다.
ID Name Description
0 Halt Shuts down the system.
1 Single-user Mode Mode for administrative tasks.
2 Multi-user Mode Does not configure network interfaces and
does not export networks services.
3 Multi-user Mode with Networking Starts the system normally.
4 Not used/User-definable For special purposes.
5 Start the system normally with
with GUI As runlevel 3 + display manager.
6 Reboot Reboots the system.
따라서 각 rcN
디렉토리에는 해당 실행 수준에서 실행되어야 하는 스크립트에 대한 심볼릭 링크가 포함되어 있습니다. 실제 스크립트는 모두 일반적으로 다음 /etc/init.d
디렉터리에 있습니다.
$ ls -l /etc/rc5.d/S22cron
lrwxrwxrwx 1 root root 14 Jan 14 2013 /etc/rc5.d/S22cron -> ../init.d/cron
심볼릭 링크 이름 지정
이름이 an으로 시작하는 심볼릭 링크는 S
해당 런레벨에서 시작되고, 이름이 an으로 시작하는 심볼릭 링크 K
는 종료됩니다. rc6.d
재부팅 런레벨 의 모든 링크는 로 시작됩니다 K
. 재부팅을 위해 모두 중지해야 하고 아무것도 시작하면 안 되기 때문입니다.
첫 문자 뒤의 숫자는 연결된 스크립트의 실행 순서를 나타냅니다. 숫자가 작은 항목이 숫자가 높은 항목보다 먼저 실행됩니다. 따라서 특정 예에서는 S23ntp
실행됩니다(이 경우 시작됨).~ 전에 S24dovecot
.
답변2
- 이는
runlevel
s이며 대부분의 *NIX 시스템에서 사용되는 System V 스타일 시작입니다(주요 기반 시스템 제외systemd
). 부팅할 때 커널/사용자는 무엇을runlevel
실행해야 할지 결정하고 해당runlevel
. 즉runlevel
, 다른 프로그램 세트로 부팅할 수 있다는 의미입니다 . 정지 및 재부팅을 위한 런레벨도 있지만 시작 부분에 초점을 맞추고 있으므로 지금은 무시하겠습니다. - 부팅 시 하나만 실행되므로 일부 프로그램은 동일하거나 다른 순서로 다르거나 동일한 매개변수를 사용하여
runlevel
다른 s에서 시작/중지해야 합니다 (모든 런레벨이 모든 OS에서 동일하지는 않습니다).runlevel
그러나 Ubuntu는 런레벨 3-5를 2에서 복사하므로 동일합니다. - 아니요.
runlevel
시작 시 또는 변경할 때 한 번만 실행됩니다runlevel
. ntp
스크립트는 런레벨 1의 경우가 아니라 런레벨 2-5에서 먼저 실행되어야 합니다dovecot
. 스크립트 이름의 서수( )는 실행 순서를 나타냅니다. 따라서 이는 모두 사용 중인 런레벨에 따라 다릅니다.S23ntp
- Distro에 따라 다르지만 Ubuntu의 특별한 경우에는 스크립트를 런레벨 1과 2에 추가할 수 있습니다.
자세한 내용은위키피디아우분투 런레벨에 관한 기사
답변3
1) 여러 rcX.d 디렉토리는 'X' 런레벨 동안 시작하거나 중지할 서비스를 지정합니다.
2) rc0.d는 종료되는 런레벨 0용입니다. rc6.d는 재부팅용입니다. 나머지는 모두 다른 실행 수준(2 - 5)을 위한 것입니다. S는 시작을 의미하고 K는 종료를 의미합니다. 이는 본질적으로 /etc/rc.d의 원본 스크립트에 대한 링크입니다. S/K 뒤의 숫자는 서비스가 시작/종료되는 우선순위입니다.
3) 예, 여러 번 지정하면 시작/종료 스크립트가 여러 번 실행됩니다. 그러나 아무도 그렇게 하고 싶어하지 않습니다.
4) 우선 순위 번호를 보면 ntp 서비스가 먼저 시작되고 그 다음 dovecot 서비스가 시작됩니다.
5) 네 번째 요점이 길입니다.