/etc/rc.d vs /etc/init.d


15

우분투의 /etc/init.d디렉토리 는 내가 더 표준 /etc/rc.d/적이 라고 생각하는 것과 (기능적으로) 정확히 동일 합니까 (적어도 아치에서는)? 시작 스크립트에 rc.d 대신 정식으로 사용 된 특별한 이유가 있습니까?


1
실제로 아치 리눅스는 /etc/rc.d내가 본 것을 사용 하는 유일한 배포판입니다 ... bsd에서 사용될 것으로 생각됩니다.
xenoterracide

1
그것은 freebsd에서 사용됩니다
wlraider70

답변:


16

Ubuntu는 /etc/init.d데비안을 기반으로하기 때문에 데비안이 사용 하기 때문에 Ubuntu는 SysVinit 스크립트를 저장하는 데 사용합니다. Red Hat은을 사용합니다 /etc/rc.d/init.d. 슬랙웨어가 사용하는 것을 잊었습니다. 표준 위치는 없습니다.

Ubuntu는 SysVinit에서 Upstart 로 전환하는 중이며 구성 파일을 사용합니다 /etc/init.


2
죄송하지만 Linux 시작 스크립트가 복사 한 SVR4 표준의 일부로 /etc/init.d가 표준입니다.
Rich Homolka

Upstart의 웹 사이트는 Ubuntu가 버전 6.10부터 사용하고 있다고 주장합니다.
badp

@badp : 6.10인데도 여전히 SysV 스타일의 init 스크립트를 사용했습니다 /etc/init.d. /etc/init/*.conf나중에 시작으로 전환 (8.04는 여전히 모든 SysV 스타일, 10.04는 이미 전환 중임)
Gilles 'SO- 악마 그만해'

2
Ubuntu는 15.04 이후 Upstart에서 systemd로 전환했습니다.
PetroCliff

7

/etc/init.d는 SVR4의 이전 기록 위치입니다. redhat이 /etc/rc.d/ 레벨을 추가 한 이유를 잊었습니다. 나는 물건을 rc.d로 격리하려고 생각하지만 이전 버전과의 호환성을 위해 어쨌든 많은 심볼릭 링크를 추가해야했습니다. 따라서 redhat에는 /etc/init.d가 있으며 다른 곳에서 심볼릭 링크됩니다.

따라서 표준 위치는 /etc/init.d이지만 실제 디렉토리가 아닌 심볼릭 링크 일 수 있습니다.

/etc/rc.local과 함께 BSD를 복사 한 오래된 리눅스 배포판이 있었지만 더 이상 아무도 사용하지 않습니다.



5

역사적으로, /etc/rc.d디렉토리 트리는 4.4 BSD 시스템 초기화 전통을 따르는 Init 시스템을 나타내며, 보통 rcinit 시스템 이라고합니다 . 모든 최신 (Free / Open / Net) BSD 시스템과 Slackware Linux는이 전통을 따릅니다.

/etc/init.d디렉토리 트리는 AT & T UNIX, SunOS의 시스템 초기화의 솔라리스의 전통을 따르는 시스템 V (시스템 V) 초기화 시스템을 의미한다. 이것을 일반적으로 SysV Init 시스템이라고합니다. 데비안 고유는 여전히 Wheezy 시리즈에서이 전통을 따르지만 Jessie 시리즈에서는 SystemD를 사용할 계획입니다. 역사적으로 RedHat 및 파생 상품은 SysV Init을 사용했지만 더 이상 사용하지 않습니다.

또한 시간이 지남에 따라 두 init 구성표의 기능이 배포판에 채택되었습니다.


그리고 "/etc/rc.d/init.d/"가있는 AIX가 있습니다. 약간의 열 A와 약간의 열 B.
DarkHeart

0

실제로 적어도 CentOS 6.8 Santiago에서는 /etc/init.d에 대한 소프트 링크 일뿐 /etc/rc.d입니다.


그게 내가 의미 한 바야, 하하 철자가 잘못되어 죄송합니다. 지금 답장을 수정했습니다.
chromechris

사람들은 왜 설명을하지 않고 공감합니까? 의도적으로 관련이없는 한이 진술은 일부 초보 독자에게 여전히 가치 또는 의미를 가질 수 있습니다. downvote 때 설명하십시오. -1의 효과를 취소하기 위해 +1
Asad Iqbal

0

PuppyLinux에는 /etc/rc.d/etc/init.d 가 있으며 심볼릭 링크가 아닙니다. 심볼릭 링크는 /etc/rc.d/init.d 이며 레벨을 /etc/init.d에 연결합니다 (슬랙웨어 기반 강아지를보고 있습니다-우분투 기반 및 기타 맛도 있습니다 .) 각각에 README.txt가 있으며 접근 방식을 설명합니다.


0

/etc/init.d, init 스크립트를 빠르게 배포 할 수있는 곳입니다. 이 스크립트를 활성화하는 두 번째 단계는 chkconfig명령 을 실행하는 것입니다. 당신이 실행하는 말 chkconfig --add <yourscript>, 기호 링크를 사이에 생성됩니다 /etc/init.d/<yourscript>/etc/rc.d/rcX.d/S50<script>예를 들어. 스크립트의 실행 수준 번호를 나타내는 rcX.d의 X와 스크립트 유형을 나타내는 S50 (S & K의 두 가지 유형이 있습니다. S / K 다음의 숫자는 다른 스크립트에 먼저 의존하는 스크립트가있는 경우 이러한 순서를 나타냅니다. 기본적으로 스크립트 내에 런레벨이 지정되어 있지 않거나 런레벨 명령을 실행할 때 CentOS6는 런레벨 2,3,4,5에 대한 S50 스크립트와 런레벨 0,1,6에 대한 K50을 생성합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.