왜 init.d 스크립트가 포함되어 있습니까?


16

/etc시스템 구성 파일에 대한 읽기 / 듣기를 계속 합니다. 이러한 스크립트를 시작하는 이유는 누군가가 / 나에게 몇 가지 직관을주고 설명 할 수 / 정지 / 다시 시작 다양한 프로그램에 보통 /etc대신에 /var또는 /usr비슷한 나?


질문은 약간의 의견 지향적 일 수 있지만, 실제 사실로 질문에 대답 할 수 있다고 생각합니다.
Julie Pelletier

역사적 이유에 대한 질문은 "의견 기반"입니까? 되돌아 보면 어떤 일이 일어난 이유가있을 수 있습니다. "그랜드 해커 씨가 그렇게했기 때문에"그저 그 질문에 대답 하는 사람의 의견에 달려 있지 않습니다 .
ilkkachu

질문에 "왜 그렇게해야합니까?"라는 말을 제외하고는 의견 기반 "다채로운 토론"을 유발합니다. 조금 덜 편집했습니다. @Adam, 이것이 당신의 의도에 위배된다고 생각되면 되 돌리십시오.
ilkkachu

1
서비스가 시작되는시기와 방법이 시스템 구성이기 때문입니다.
OrangeDog

1
히스테리 건포도
TMN

답변:


22

초기에 (역사적으로 그리고 부팅 과정에서), (첫 번째로 마운트 된 파일 시스템) /etc의 일부 /이지만 /usr디스크가 커질 때까지는 그렇지 않았습니다. 이 스크립트는 임시 데이터가 아닌 임시 데이터를 /var보유 합니다.

그렇게 간단하지는 않지만 그렇게 시작했고 전체 디렉토리 레이아웃을 재 작업 할 이유가 거의 없습니다.


1
당신이 말하는 것처럼, 그렇게 간단하지 않습니다. 다양한 상용 UNIX 시스템에는 /etc특정 시점에서 실제 바이너리 실행 파일이있었습니다 . 최소한 init.d현대 시스템의 스크립트는 대부분입니다. 그러나 여전히 /etc읽기 전용으로 마운트 할 수는 없습니다 .
Satō Katsura

2
@SatoKatsura : 스크립팅 언어와 같은 느낌의 컴파일 된 언어의 출현으로 나는 / etc 스크립트 (초기 스크립트조차도)가 go 프로그램-바이너리 실행 파일로 대체되는 것을 눈치 채기 시작했습니다.
slebetman

또한 최신 sysVinit 교체는 실제 스크립트가 아닌 간단한 구성 파일을 사용하므로 /etc구성이 아닌 항목으로 정리 될 수 있습니다.
GnP

/tmp임시 데이터를 보유합니다. /var변수 데이터 보유
Neil McGuigan

14

시작 스크립트는 실제로 시스템 구성에서 중요한 부분입니다.

부팅 프로세스가 15-30 년 전보다 훨씬 덜 사용자 정의되어 있고 대부분의 시작 구성이 자동화되었지만 시작 순서를 결정하는 모든 관리 선택 사항은 여전히에 /etc있습니다.

이는 시스템 구성을 유지 관리하고 백업하는 매우 중앙 집중화 된 방법을 나타냅니다. 대부분의 시스템에서 백업 /etc하면 전체 시스템을 쉽게 다시 설치할 수 있습니다. 필요한 프로그램으로 전체 재설치를 수행하고 /etc백업을 복원하면 됩니다.


3

디키 (M. Dickey)와 펠레 티에 (M. Pelletier)는이 질문의 구내로 샀습니다. 그러나 전제는 잘못되었습니다.

" /etc시스템 구성 파일을위한 것"이라는 내용을 읽었다면 전체 그림을 그리지 않는 내용을 읽은 것입니다. 이름을 봐 "et cetera"입니다. 사람들은 부엌 싱크대에 모든 것을 한 번에 넣었습니다.

  • /etc/rc 예전에는 모든 시스템을 시작하기 위해 프로그램을 실행했습니다.
  • 첫 번째 사용자 프로세스의 프로그램 이미지 파일 /etc/init은 한 시점에 있었습니다 (예 : XENIX의 경우, 시작하기 훨씬 전에 아이디어였습니다).
  • /etc/profile, /etc/zprofile및 나머지는 모두 스크립트입니다.
  • OpenBSD /etc/netstart는 프로그램입니다. FreeBSD도 마찬가지입니다 /etc/ipfw.rules.
  • 그래서 너무 FreeBSD의의입니다 /etc/rc.suspend/etc/rc.resume; 실제로 /etc/rc.sendmail, /etc/rc.bsdextended/etc/rc.firewall.

마찬가지로, 경우 "시작 스크립트 / 정지 / 다양한 프로그램에 보통 다시 읽었습니다 /etc대신 /var또는 /usr유사하거나 뭔가"당신은 당신을 위해 전체 그림을 그릴하지 않는 다른 뭔가를 읽었습니다.

  • FreeBSD / PC-BSD 규약은 /usr/local/etc/rc.d/비 운영 체제 rc스크립트 용 디렉토리 를 갖는 것 입니다. rc모든 종류의 사물에 대한 스크립트는 아래에있는 것이 아니라 그곳에 산다 /etc.
  • 당신은 데몬 툴즈 - 가족에 일부 서비스 관리 물건을 넣어 사람들이 찾을 수 있습니다 /var/sv, /var/service및 이와 유사한 장소. (예를 들어, 나의 nosh 툴셋은에서 거의 천 개의 서비스 번들을 제공 /var/sv합니다. 필요한 서비스 번들 은 마운트되고 필요한 경우 마운트 및 점검하는 서비스를 포함하여 /etc/service-bundles이전에 필요한 60에서 70 사이 의 유일한 서비스 번들입니다 .)/usr/usr
  • 체계적인 운영 체제 규약에는 어떤 것들이 존재하고 /etc/systemd, 어떤 것이 들어 있고 /run/systemd, 어떤 것이 들어 /usr/lib/systemd있고, ( 적용 할 수없는 이유로 문서화되지 않았더라도 ) 어떤 것이 들어 /usr/local/lib/systemd있습니다. 다시 말하지만, "서비스를 시작 / 중지하기위한 것"의 대부분은 아래가 /usr아니라 아래에 /etc있습니다.

2

Filesystem Hierarchy Standard 를 검토하는 것이 좋습니다. 정확한 이유를 설명하지만 궁금한 다른 경로에 대한 정보도 포함되어 있습니다.

파일 시스템 표준은 Unix 배포 개발자, 패키지 개발자 및 시스템 구현자가 사용하도록 설계되었습니다. 그러나 이것은 주로 참조 용이며 Unix 파일 시스템 또는 디렉토리 계층을 관리하는 방법에 대한 자습서가 아닙니다.


역사적 배경은 설명하지 않습니다.
Thorbjørn Ravn Andersen

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