리눅스 시스템의 관리자라면 시스템이 제공하는 서비스의 종류를 알고 있어야 한다.
그리고 필요할 때 어떤 서비스가 실행 중인지 상태를 확인할 수 있어야 하며, 불필요하거나 사용하지 않는 서비스가 있다면 보안 등의 이류로 서비스를 삭제하거나 비활성화시키는 것이 좋다.
그러기 위해서는 우선적으로 부팅 시 지정된 초기 런레벨이 무엇이고 또 어떤 서비스가 초기화 과정에서 실행되는지 알아야 한다.
chkconfig 명령은 주어진 런레벨에서 /etc/rc.d/ 디렉터리에 있는 서비스 중 어떤 서비스가 활성화되어 있는지 보여주거나 활성화 여부를 설정하기 위한 명령이다.
형식 1 : chkconfig [--list] [service]
형식 2 : chkconfig [--level levels] service
chkconfig 또는 chkconfig --list를 실행하면 모든 서비스 각각에 대해 각 런레벨에서의 활성화 여부를 알려준다.
관리자가 특정 런레벨에서 실행되어야 하는 서비스를 추가할 때도 chkconfig 명령을 사용할 수 있다.
ex) chkconfig --level 345 httpd on 명령은 httpd를 런레벨 3,4,5에서 활성화시키는 것이다.
init 프로세스는 일련의 스크립트를 통해 초기화 작업을 진행한다. 그리고 런레벨에 따라 init 프로세스가 종료시켜야 하거나 시작시켜야 하는 서비스가 달라지는 것이다.
해당 런레벨에 해당되는 /etc/rc, d/rc?. d/ 디렉터리에 해당 스크립트가 존재한다.
ls -d /etc/rc.d/rc?. d라는 명령을 실행하면 해당 스크립트 파일을 볼 수 있는데 해당 파일들은 /etc/rc.d/init.d/ 디렉터리에 위치해 있는 실제 스크립트에 대한 심벌릭 링크이다.
/etc/rc.d/init.d/ 디렉터리에는 각 런 레벨마다 서비스를 시작시키는 스크립트와 종료시키는 스크립트가 따로 존재하지 않고 하나의 스크립만 존재하는데, init 데몬에 의해 스크립트가 실행될 때 전달되는 인수에 기초하여 해당 서비스를 시작할지 종료할지 결정한다.
*디렉터리 /etc/rc.d/init.d/에 존재하는 스크립트는 대개 디렉터리 /sbin/ 또는 /usr/sbin/에 있는 실행 파일을 실행하는 스크립트이다.
*/etc/rc.d/rc.local 스크립트는 시스템의 커스터마이징을 위해 유용한 파일로써, 다른 모든 초기화 스크립트가 실행된 후에 마지막으로 실행되며, 이곳에는 특별한 서비스를 시작시키거나 디바이스를 초기화하는 등의 관리자가 원하는 특별한 초기화 작업을 추가할 수 있다.
서비스의 실행과 상태 보기
시스템 운영 중에 서비스를 관리자가 직접 수행하고자 한다면 service 명령을 사용할 수도 있다.
형식 1: service script command
형식 2: service --status-all
예를 들어 웹 서버 데몬 httpd를 시작시키려면 servie httpd start 명령을 수행하고, 정지시키려면 service httpd stop을 수행한다. command 부분은 스크립트에 따라 정해지는데 대개 start, stop, restart, reload, status 중 하나이다.
service --status-all 명령은 status 모드로 실행하여 모든 초기화 스크립트의 상태를 출력한다.
시스템 종료
리눅스 시스템을 안전하게 종료하는 관리자 명령으로 shutdown 명령이 존재한다.
shutdow 명령은 접속 중인 모든 사용자에게 시스템의 종료를 알리고 일반 사용자의 로그인 시도를 차단한 후 시스템을 종료하거나 시스템을 재부팅한다.
형식: shutdown [options] time [message]
사실상 shutdown 명령은 init 프로그램에 런레벨을 변경하라는 시그널을 보내어 종료 작업을 처리한다. 0 레벨은 종료이며 6 레벨은 재부팅이다. 옵션 -r , -h 명령을 사용하지 않고 shutdown 명령을 수행하면 단일 사용자 모드인 런레벨1로 재부팅된다.
-c 옵션을 통해 shutdown 예약을 취소할 수 있다.
시스템 재부팅을 위해서는 reboot 명령을 , 시스템 종료를 위해서는 halt 명령을 사용할 수 있는데 기본적으로 이러한 명령은 -r -h옵션을 사용하여 shutdown 명령을 호출한다.
리눅스 시스템을 재부팅하거나 종료할 때는 사용자 작업에 손실이 안 생기도록 유의해야 한다.
'Linux' 카테고리의 다른 글
[Linux] 파일 찾기와 문자열 검색 명령어 (0) | 2020.11.17 |
---|---|
vi 명령어 (0) | 2020.11.17 |
[Linux] 운영체제의 부팅 (0) | 2020.11.17 |
[Linux] 파일의 종류 (0) | 2020.11.16 |
셸 변수 (0) | 2020.11.16 |
댓글