이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 11617|회답: 0

[리눅스] 리눅스 시스템에서 /etc/init.d 디렉터리와 /etc/rc.local 스크립트를 이해하세요

[링크 복사]
게시됨 2017. 11. 13. 오전 11:53:19 | | |
이 글의 영어 버전은 다음 출처에서 가져왔습니다: http://www.ghacks.net/2009/04/04/get-to-know-linux-the-etcinitd-directory/

1. /etc/init.d에 대하여
     리눅스 시스템을 사용해본 적이 있다면 init.d 디렉터리를 들어본 적이 있을 것입니다. 이 카탈로그는 정확히 무엇을 위한 것인가요? 결국 한 가지 일만 하지만, 사소한 일이 아니라 전체 시스템을 위해 이루어지는 일이기 때문에 매우 중요합니다. init.d 디렉터리에는 시스템의 다양한 서비스에 대한 많은 시작 및 중지 스크립트가 포함되어 있습니다. ACIPD부터 x11-common까지 모든 것을 제어합니다. 물론, init.d는 그렇게 단순하지 않습니다. (번역자 주: ACPID는 리눅스 운영체제를 위한 새로운 전원 관리 표준입니다; X11은 X 윈도우 시스템이라고도 하며, X 윈도우 시스템(X11 또는 X)은 비트맵 디스플레이가 있는 윈도우 시스템입니다. 이 프로토콜은 Unix 및 Unix 계열 운영체제, 그리고 OpenVMS에서 그래픽 사용자 인터페이스를 구축하기 위한 표준 툴킷이자 프로토콜이며, 거의 모든 현대 운영체제에 사용할 수 있습니다.
    /etc 디렉터리를 보면 rc#.d 형태로 존재하는 많은 디렉터리를 볼 수 있습니다(여기서 #은 지정된 초기화 레벨을 나타내며, 범위는 0~6입니다). 이 디렉토리 아래에는 과정을 제어하는 많은 스크립트가 있습니다. 이 문자들은 "K" 또는 "S"로 시작합니다. K로 시작하는 스크립트가 S로 시작하는 스크립트보다 먼저 실행됩니다. 스크립트가 어디에 배치되느냐에 따라 언제 실행 시작이 결정됩니다. 이 디렉터리들 사이에서는 시스템 서비스가 건강한 기계처럼 함께 작동합니다. 하지만 때로는 킬 명령어나 킬 명령어를 사용하지 않고 프로세스를 깔끔하게 시작하거나 종료하고 싶을 때가 있습니다. 그럴 때 /etc/init.d가 유용합니다!
    Fedora 시스템을 사용 중이라면 다음 디렉터리를 찾을 수 있습니다: /etc/rc.d/init.d. 사실 init.d를 어디에 넣든 똑같은 현상이 발생합니다.
     init.d 디렉터리에서 스크립트를 사용하려면 루트 권한이나 sudo 권한이 필요합니다. 각 스크립트는 명령어로 실행되며, 구조는 대략 다음과 같습니다:
     /etc/init.d/command 옵션
     comand는 실제로 실행되는 명령어이며, 옵션은 다음과 같습니다:
시작
멈춰
재장전
재시작
포스 재장전
       대부분의 경우, 시작, 중지, 재시작 옵션을 사용합니다. 예를 들어, 네트워크를 끄고 싶다면 다음과 같은 명령을 사용할 수 있습니다:
     
         /etc/init.d/networking stop
        또 다른 예로는 네트워크 설정을 변경해서 네트워크를 재시작해야 할 때입니다. 다음과 같은 명령어를 사용할 수 있습니다:
        /etc/init.d/networking restart
        init.d 디렉터리에서 일반적으로 사용되는 초기화 스크립트는 다음과 같습니다:
      
네트워킹
삼바
아파치2
FTPD

비둘기집
MySQL
         물론, 설치한 리눅스 운영체제에 따라 더 자주 쓰이는 다른 스크립트들도 있을 수 있습니다.
2. /etc/rc.local에 대하여
      rc.local도 제가 자주 사용하는 스크립트입니다. 스크립트는 시스템 초기화 수준 스크립트가 실행된 후에 실행되므로, 시스템 부팅 후에 실행하려는 스크립트를 추가하는 것이 안전합니다. 일반적인 경우는 NFS 마운트/마운트 스크립트를 추가할 수 있다는 것입니다. 또한 디버깅을 위한 스크립트 명령어를 추가할 수도 있습니다. 예를 들어, 저는 samba 서비스가 항상 제대로 작동하지 않는 상황을 겪었는데, 검사 결과 samba 서비스가 시스템 시작 시 실행되어야 한다고 나오는데, 즉 samba 데몬 구성이 이 기능이 올바르게 수행되도록 보장합니다. 이 경우에는 보통 왜 그런지 굳이 신경 쓰지 않고, /etc/rc.local 스크립트에 이 문장을 추가하면 됩니다:
          /etc/init.d/samba start
     이렇게 하여 SAMBA 서비스 예외 문제가 성공적으로 해결되었습니다.

3. 요약
         리눅스는 유연합니다. 유연성 덕분에 같은 문제를 해결할 수 있는 여러 방법을 항상 찾을 수 있습니다. 시스템 서비스를 시작하는 사례가 좋은 예입니다. /etc/init.d 디렉터리에 있는 스크립트와 /etc/rc.local이라는 강력한 도구를 결합하면 서비스가 완벽하게 정상 작동할 것임을 안심할 수 있습니다.




이전의:Asp.Net EF6.0에 등장하지만 고정된 이름인 "System.Data.SqlClient"로 나타나지 않음...
다음:MySQL 구성 파일 my.cnf가 자세히 설명되어 있습니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com