rc0.d, rc1.d,... /etc의 디렉토리

rc0.d, rc1.d,... /etc의 디렉토리

/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

질문:

  1. 여러 "rc" 디렉토리의 목적은 무엇입니까?
  2. Ubuntu는 왜 dovecot및를 제외한 ntp모든 디렉토리에 및의 복사본을 설치합니까?rc0.drc6.d
  3. 위와 같이 여러 번 지정하면 실제로 여러 번 실행되나요?
  4. 위의 내용을 통해 시작 중에 어떤 명령이 dovecot실행되는지 알 수 있습니까 ntp?
  5. ntp부팅하기 전에 Ubuntu가 항상 실행되도록 지시하는 올바른 방법은 무엇입니까?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.dK. 다시 시작하려면 모두 중지해야 하고 아무것도 시작하면 안 되기 때문입니다.

첫 글자 뒤의 숫자는 링커 스크립트가 실행되는 순서를 나타냅니다. 낮은 숫자가 높은 숫자보다 먼저 실행됩니다. 따라서 특정 예에서는 S23ntp실행됩니다(이 경우 실행).앞으로 S24dovecot.

답변2

  1. 이들 및 are는 대부분의 *NIX 시스템(기반 시스템 제외 ) runlevel에서 사용되는 System V 스타일 부팅입니다 . systemd커널/사용자가 시작되면 runlevel무엇을 실행해야 할지 결정하고 해당 runlevel. 이는 runlevel다른 어셈블리로 시작할 수 있음을 의미합니다. 중지하고 다시 시작하기 위한 런레벨도 있지만 시작 부분에 중점을 두고 있으므로 지금은 무시하겠습니다.
  2. 시작 시 하나만 실행되므로 일부 프로그램은 동일하거나 다른 순서로 다르거나 동일한 매개변수를 사용하여 runlevel다른 s에서 시작/중지해야 합니다 (모든 운영 체제에서 모든 런레벨이 동일하지는 않습니다). runlevel그러나 우분투는 런레벨 3-5를 2에서 복사했기 때문에 동일합니다.
  3. No.s runlevel는 시작 시 또는 변경 시 한 번만 실행됩니다 runlevel.
  4. ntp스크립트는 dovecot런레벨 1이 아닌 런레벨 2-5에서 먼저 실행되어야 합니다. 스크립트 이름의 일련번호( )는 실행 순서를 나타냅니다. 따라서 그것은 모두 사용하는 런레벨에 따라 다릅니다.S23ntp
  5. 배포판에 따라 다르지만 Ubuntu의 특별한 경우에는 런레벨 1과 2에 스크립트를 추가할 수 있습니다.

자세한 내용은위키피디아Ubuntu 런레벨에 관한 기사

답변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) 이것이 4번 항목입니다.

관련 정보