1. SysVinit서비스
- /etc/init.d : SysVinit(Unix System Five Init) 기반의 Linux 시스템에서 시스템 서비스(데몬)를 관리하는 스크립트들이 위치하는 디렉터리
- 서비스(daemon)의 시작(start), 정지(stop), 재시작(restart) 등을 제어하기 위한 실행 스크립트 모음이 저장된 디렉토리
- 스크립트는
start
,stop
,restart
,status
등의 서브 커맨드를 지원 - 대부분의 최신 Linux 배포판(Ubuntu 16.04+, Debian Jessie+, CentOS 7+)에서는
/etc/init.d
대신 **systemd
**가 사용
2. systemctl
- /etc/systemd/system 디렉토리에 명세파일이 존재
- systemd라는 시스템 및 서비스 관리자를 기반으로 작동
- 현재 대부분의 리눅스 배포판(Ubuntu, CentOS, Debian, Fedora 등)에서 systemd가 기본 init 시스템으로 사용
example – vsftpd’s status:
Bash
# systemctl status vsftpd
● vsftpd.service - vsftpd FTP server
Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2025-04-28 07:30:24 UTC; 1 week 2 days ago
Main PID: 928 (vsftpd)
Tasks: 1 (limit: 76878)
Memory: 14.2M
CPU: 1min 48.897s
CGroup: /system.slice/vsftpd.service
└─928 /usr/sbin/vsftpd /etc/vsftpd.conf
Apr 28 07:30:24 centricone systemd[1]: Starting vsftpd FTP server...
Apr 28 07:30:24 centricone systemd[1]: Started vsftpd FTP server.
root@centricone:~#
Bash예시 데몬:
- *d: httpd, sshd, ftpd, vsftpd, proftpd, mariadbd, mysqld
3. systemctl 명령
systemctl
은 systemd 데몬을 제어하는 명령줄 도구- 주로 서비스 시작/중지, 부팅 시 자동 실행 설정, 상태 확인, 로그 조회 등을 관리합니다.
init.d
의service
명령의 대체 명령(init.d의 service 명령은 구식)
4. systemctl 서비스 제어 명령
명령어 | 설명 |
---|---|
systemctl start [서비스명] | 서비스 시작 |
systemctl stop [서비스명] | 서비스 중지 |
systemctl restart [서비스명] | 서비스 재시작 |
systemctl reload [서비스명] | 설정만 다시 읽기 (재시작 없이) |
systemctl status [서비스명] | 서비스 상태 확인 |
systemctl enable [서비스명] | 부팅 시 자동 시작 설정 |
systemctl disable [서비스명] | 자동 시작 비활성화 |
systemctl is-enabled [서비스명] | 현재 자동 시작 여부 확인 |
systemctl mask [서비스명] | 서비스 실행 완전 차단 (시작 불가) |
systemctl unmask [서비스명] | mask 해제 (다시 실행 가능하게) |
5. systemctl 전체 시스템 관리 명령
명령어 | 설명 |
---|---|
systemctl list-units --type=service | 실행 중인 서비스 목록 |
systemctl list-unit-files | 설치된 서비스 목록과 활성화 상태 |
systemctl reboot | 시스템 재부팅 |
systemctl poweroff | 시스템 종료 |
systemctl suspend | 시스템 절전 모드 |
systemctl halt | 시스템 정지 (전원은 켜짐) |
systemctl isolate [타겟명] | 런레벨(타겟) 전환 (예: multi-user → graphical) |
6. 서비스 예시
Bash
systemctl start nginx # nginx 서버 시작
systemctl status sshd # SSH 서비스 상태 확인
systemctl enable apache2 # 부팅 시 아파치 자동 시작
systemctl stop firewalld # 방화벽 서비스 중지
systemctl restart NetworkManager
Bash
답글 남기기