잠시만 기다려 주세요

     '싸우지 않는 이재명을 규탄한다. 민생충, 협치충, 역풍충.. 국민들은 치가 떨린다.'
전체검색 :  
이번주 로또 및 연금번호 발생!!   |  HOME   |  여기는?   |  바다물때표   |  알림 (16)  |  여러가지 팁 (1056)  |  추천 및 재미 (151)  |  자료실 (22)  |  
시사, 이슈, 칼럼, 평론, 비평 (600)  |  끄적거림 (129)  |  문예 창작 (705)  |  바람 따라 (69)  |  시나리오 (760)  |  드라마 대본 (248)  |  
살인!


    리눅스 서버

리눅스 서버 - systemd 에서 부팅시 실행할 서비스 관리하기 (CentOS 7), systemctl, 자동 시작 등록.
이 름 : 바다아이   |   조회수 : 12464         짧은 주소 : https://www.bada-ie.com/su/?341591810839

원래 부팅시 정해진 서비스 또는 스크립트를 실행시키는 건 init (System V Init)라는 프로그램의 몫이였습니다. 유닉스가 처음 생길때부터 그래왔고, 지금도 그렇습니다.(하지만 지금은 다른 아이로 교체되는 시기입니다.) init는 그 이름처럼 리눅스의 초기화부분을 담당합니다.

 

init 사용자들이 /etc/rc.d/init.d 디렉토리에 부팅시 실행할 서비스 스크립트를 넣으면, init는 부팅이나 특정행동이 있을때 그 스크립트들을 자동으로 실행시키는 역활을 했었습니다. 그러면 사용자들은 chkconfig명령으로 자동실행 서비스를 관리하거나 service start 명령으로 서비스들을 실행키거나 끌 수 있었습니다.

 

하지만 centos 7을 넘어온 현재...

끝까지 유지될 것 같았던 init는 systemd이라는 새로운 아이에게 임무를 빼앗버렸답니다. 결국 유눅스 탄생부터 항상 init가 있었던 자리.. 프로세스1(PID 1)의 자리 또한 systemd에게 빼앗기고 말았습니다. 

따라서 centos 7에서는 부팅 서비스를 systemd 에서 관리하게 되었습니다. init는 없어지지는 않았지만 제 기능을 하지못하는 상태입니다.

 

 

1. init를 밀어낸 새로운 아이 systemd의 정체

systemd는 init에 비해 우월한 성능과 뭐든지 잘하는 재능(기능)을 가지고 있었습니다. 그야말로 "엄친아"였던 것입니다. 그러니까 개발자들도 systemd 매력에 흠뻑 빠졌기에 데려왔겠죠.. 

 

systemd는 정말 기능이 많습니다. 서비스관리, 시스템 로그관리, 사용자관리, 시간, 원격, cgroup 관리등.. 참 할 수 있는 일이 많습니다. 시스템의 전반적인 관리를 전부 systemd 이 담당하고 있습니다. 그리고 아이는 부팅시 실행하는 서비스를 최소화하고, 추후 병렬실행이라는 정책을 갖고 있었습니다. 때문에 centos 7 에서는 부팅시간이 많이 잛아졌답니다.

 

참조사항 : http://www.freedesktop.org/wiki/Software/systemd/

 

잡설이지만, 아이를 데려오기전 말들이 많았다고 해요.. 기능많은 아이가 "한가지만 잘하자"라는 유닉스의 철학(?)과 맞지않다는 의견도 있었고, 오랫동안 함께한 init를 버리자니, 슬프다(?)는 의견도 있었습니다. 이처럼 논란이 있었다고 해요.. 집안(리눅스)에 새로운 아이를 들이는 문제로...

 

 

2. systemd 잠시 살펴보기

이 글의 목적과는 별로 상관없지만, 그래도 새로운 아이를 만났으니, 한번 살펴봅시다.

 

먼저 systemd의 설정파일들은 /etc/systemd 에 있습니다. 

( bootchart.conf  logind.conf  system.conf  user.conf )

 

systemd는 설정파일과 미리 정의된 Service, Target 파일을 통해서 시스템을 제어하게 됩니다. 파일이 있는 디렉토리는 다음과 같습니다.

 

  • 관련된 바이너리 실행파일 : /usr/lib/systemd
  • Service, Target 파일 : /usr/lib/systemd/system

 

 

* 유용한 명령어

# systemd-analyze : 부팅에 걸린시간 표시

# systemd-analyze blame : 부팅시 서비스별 걸린 시간표시

# journalctl : 부팅을 포함한 전체적인 시스템 로그

# journalctl -b : 마지막 부팅 이후 시스템 로그

# hostnamectl : 호스트 이름표시

# hostnamectl set-hostname [변경이름] : 호스트이름 변경

 

 

3. systemd 에서 서비스 관리하기

A. 서비스 상태표시

 

- 존재하는 전체 서비스 목록

# systemctl 

 

- 서비스 목록 (활성화 여부만 표시) 

# systemctl list-unit-files

 

- 부팅시 실행에 실패한 서비스목록

# systemctl --failed

 

- 서비스 활성화 여부

# systemctl is-enabled [서비스명]

 

- 서비스 현재 동작 여부

# systemctl is-active [서비스명]

 

- 서비스의 자세한 상태 (해당 서비스의 로그도 표시)

# systemctl status -l [서비스명]

 

 

B. 서비스 제어

서비스를 활성화하게 되면 부팅시 해당 서비스가 자동실행됩니다.

 

- 서비스 활성화

# systemctl enable [서비스명]

 

- 서비스 비활성화

# systemctl disable [서비스명]

 

- 서비스 시작

# systemctl start [서비스명]

 

- 서비스 종료

# systemctl stop [서비스명]

 

- 서비스 재시작

# systemctl restart [서비스명]

 

- 서비스 갱신

# systemctl reload [서비스명]

 

위의 서비스 설정을 데몬에 즉시 반영하려면 아래 명령어를 실행하면 됩니다.

#systemctl daemon-reload

 

- 서비스와 관련된 프로세스도 모두 죽임

# systemctl kill [서비스명]| 복제된 문서입니다. (원본) https://www.conory.com/note_linux/42241


 

| |





      1 page / 5 page
번 호 카테고리 제 목 이름 조회수
148 리눅스 서버 samba ... , ... 바다아이 438
147 리눅스 서버 postfix main.cf ... 바다아이 3416
146 리눅스 서버 /etc/crontab ... 바다아이 2113
145 리눅스 서버 - MEMTEST, , 바다아이 3281
144 리눅스 서버 top , top 바다아이 4098
143 리눅스 서버 , systemd-networkd, archlinux network setting 바다아이 5180
142 리눅스 서버 mirror .. ... 바다아이 5639
141 리눅스 서버 [Ubuntu] (swapfile) , ... 바다아이 5540
140 리눅스 서버 ufw , iptables 바다아이 6811
139 리눅스 서버 ... grub . submenu, grub-mkconfig 바다아이 5628
138 리눅스 서버 CentOS 7 Upgrade Kernel, centos 바다아이 7419
137 리눅스 서버 , dd , 바다아이 5535
136 리눅스 서버 ... ntp .. ... 바다아이 6584
135 리눅스 서버 archlinux netstat , netstat ... 바다아이 6324
134 리눅스 서버 ps , ps option 바다아이 6042
133 리눅스 서버 , swap , ... swap . 바다아이 6288
132 리눅스 서버 crontab , .... 바다아이 6236
131 리눅스 서버 ssh , ssh 바다아이 7339
130 리눅스 서버 SSH SSH , ssh-keygen rsa 바다아이 6875
129 리눅스 서버 , date : () , () , 바다아이 7063
128 리눅스 서버 aws lightsail, ssh .. .pem 바다아이 12114
127 리눅스 서버 , ubuntu generic kernel 바다아이 7460
126 리눅스 서버 .. apt ... 바다아이 7349
125 리눅스 서버 ... ubuntu kernel compile 바다아이 9926
124 리눅스 서버 nginx http2 , . 바다아이 8831
123 리눅스 서버 psql libreadline.so.7: cannot open shared object file: No such file or directory 바다아이 9184
122 리눅스 서버 ssh .bashrc , bash .. .bash_profile 바다아이 8519
121 리눅스 서버 , , 바다아이 7731
120 리눅스 서버 rc.local ... , 바다아이 8453
119 리눅스 서버 ? - IPv4 Subnetting, (Subnet Mask) 바다아이 8154
| |









Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Ubuntu + GoLang + PostgreSQL + Mariadb ]
서버위치 : 오라클 클라우드 춘천  실행시간 : 0.0614
to webmaster... gogo sea. gogo sea.