런레벨은 잊어버리세요.

런레벨은 잊어버리세요.

나는 런레벨과 그 작동 방식을 명확하게 이해하지 못합니다.

나는 런레벨이 어떤 프로세스가 시작되어야 하는지를 나타내는 숫자라는 것을 알고 있습니다 init. 실제로: 시작 시 rcS 스크립트에 대한 이 숫자를 보면 init스크립트를 시작해야 하는지 결정됩니까?

Busybox런레벨이 없습니다. rcS에 있는 모든 스크립트를 시작합니다... 그렇죠? 실제로는 스크립트 번호를 확인하지 않나요?

마지막 질문: 왜 systemd런레벨을 사용하지 않습니까? 내 컴퓨터에는 여러 스크립트와 관련 번호(런레벨 번호)가 포함된 rcS 디렉터리가 있습니다.

답변1

런레벨은 잊어버리세요.

AT&T Unix System 3(예, System 5가 아닌 System 3)에 런레벨이 도입되었을 때 /etc/inittabBSD 세계에는 약간의 소문이 있었지만 BSD는 시스템을 채택하지 않았습니다. 몇 년이 지난 지금, System 5 세계의 대부분은 이제 실행 수준을 없앴습니다.

IBM AIX에서는 System Resource Controller의 출현으로 버전 3.1에서 사용되는 실제 실행 수준 수가 1로 줄었습니다. IBM은 1990년에 사람들이 실행 수준을 잊어버릴 수도 있다고 생각했습니다. 그 시점부터 런레벨 13to는 "보존"됩니다.9

약 20년 후, 시스템을 갖춘 사람들은 doco에서 런레벨이 "구식"이라고 발표했습니다. 이전의 SRC와 마찬가지로 Solaris의 SMF, Laurent Bercot, s6-rcGerrit Pape runit-init또는 내 nosh 시스템 관리 도구 세트와 같은 다른 시스템과 마찬가지로 systemd에는 이러한 시스템이나 구현된 개념이 필요하지 않습니다. 하지만 거기에는더 나은 것이러한 시스템에는 다양한 메커니즘이 존재합니다.

( runit여러 스캔 디렉터리 간 전환 개념으로. s6-rc다음 개념으로"실시간 상태" 전환. 노쉬 의 컨셉 system-control표적이 서비스 번들은 다른 서비스 번들과 함께 사용될 want/수 있습니다. Solaris SMF에는 , 및 와 conflict/같은 "마일스톤"이 있습니다 . 등. )milestone/multi-user-servermilestone/self-assembly-completemilestone/name-services

BusyBox에는 구성 파일 init이 있지만 inittab이는다른보다 일반적인 것으로, 실행 수준 개념을 포함하지 않습니다.

그래서:

  • 아니요, init실제로는아니요런레벨 번호를 기반으로 이러한 디렉터리와 스크립트에서 콘텐츠를 찾으세요. 초기화 시스템은 두 개뿐입니다.이제까지rc, 그 중 하나 내에서도 대신 데이터 파일을 사용하는 옵션이 있습니다 /etc/rc.d/.
  • init아니요, 이 스크립트는 AT&T Unix System 3 시스템(및 후속 시스템 및 복제 시스템)에서도 볼 수 없습니다 . 그것은 rc.
  • 시스템 운영 체제에서 /etc/init.d/스크립트는 기본 서비스 단위로 변환하는 이전 버전과의 호환성 메커니즘에 의해 처리됩니다. 이는 크게소홀히 하다스크립트 자체와 /etc/rc.d/하위 디렉터리 모두에서 실행 수준 정보를 제공하고 해당 코드에 일부 대상을 하드와이어합니다.
  • 아니요, 런레벨은 숫자가 아닙니다. , 및 AIX의 , 및 와 S같은 숫자가 아닌 실행 수준입니다 . (이것이 무엇인지에 대해서는 여기서 자세히 설명하지 않겠습니다.mhabc이건 잊어도 되는 일이야.)

TrueOS는 이러한 추세를 거스르는 시스템입니다. FreeBSD를 기반으로 하지만 여전히 Mewburn rc과 FreeBSD를 사용하며 init둘 다 실행 수준 메커니즘이 없습니다. Mewburn을 대체하기 위해 OpenRC를 사용합니다 rc. 아이러니하게도 BSD에 시스템 5 런레벨을 추가한 것은 우주의 시스템 5 측이었으며 결국 시스템 5를 역사의 쓰레기통에 버렸습니다. ☺

추가 읽기

관련 정보