어떻게 데비안에서 systemd를 사용합니까

어떻게 데비안에서 systemd를 사용합니까

2022-06-04 last update

7 minutes reading Debian
Linux 커널 프로세스 트리 구조의 루트는 systemd입니다.따라서 자동 제어 서비스와 기계 같은 유용한 활동을 수행하고 안내할 때 실행할 수 있다.우리는 시스템d를 사용하여 실행할 수 있는 모든 관건적인 활동을 연구할 것이다.우리는 소개를 시작한 후에 실현을 토론할 것이다.시작합시다!

systemd란 무엇입니까?


Systemd 소프트웨어 제품군은 Debian 운영 체제에 기반을 제공합니다.Linux 프로세스 트리의 루트 프로세스는 다른 프로세스와 응용 프로그램을 관리하고 커널 모드에서 응용 프로그램을 제어하는 데 사용됩니다.예를 들어, Docker를 서비스로 실행합니다.

다양한 작업에 Systemd 사용 방법


단위 파일 나열


Systemd는 "unit"를 사용하여 모든 시스템 서비스와 절차를 처리합니다.Systemd 단원은 구성 파일을 사용하여 서로 다른 활동을 관리합니다.모듈 구성 파일은 다음과 같은 세 가지 유형으로 나뉩니다.
"기본 모듈 프로필", 프로필은 디렉터리 "/usr/lib/systemd/system"에 포함되어 있습니다
"시스템 단위 프로필", "/etc/systemd/system"에 포함된 시스템 단위 프로필

"런타임 셀 프로필", 프로필은 디렉터리 "/run/systemd/system"
다음은 단위 파일과 출력을 표시하는 명령입니다.
$ systemctl list-unit-files
출력
UNIT FILE                                     STATE
proc-sys-fs-binfmt_misc.automount             static
dev-hugepages.mount                           static
dev-mqueue.mount                              static
proc-sys-fs-binfmt_misc.mount                 static
sys-fs-fuse-connections.mount                 static
sys-kernel-config.mount                       static
sys-kernel-debug.mount                        static
tmp.mount                                     disabled
brandbot.path                                 disabled
systemd-ask-password-console.path             static
systemd-ask-password-plymouth.path            static
systemd-ask-password-wall.path                static
session-1.scope                               static
arp-ethers.service                            disabled
auditd.service                                enabled
[email protected]                               enabled
Linux grep 명령을 사용하여 활성화된 서비스만 필터링합니다.
$ systemctl list-unit-files |grep enabled
출력
auditd.service                                enabled
[email protected]                               enabled
crond.service                                 enabled
dbus-org.fedoraproject.FirewallD1.service     enabled
dbus-org.freedesktop.nm-dispatcher.service    enabled
firewalld.service                             enabled
[email protected]                                enabled
irqbalance.service                            enabled
kdump.service                                 enabled
lvm2-monitor.service                          enabled

서비스 시작 및 중지


$ sudo systemctl start 
$ sudo systemctl stop 
다음은 Docker 용기를 서비스로 실행하는 예입니다.
응용 프로그램 ("X") 을 시스템d 서비스로 실행하려면 "/etc/systemd/system"디렉터리에 다음 파일을 만들고 이름을
'docker.some\u 이름입니다.서비스:
[Unit]
Description=X container
After=docker.service
Wants=network-online.target docker.socket
Requires=docker.socket

[Service]
Restart=always
ExecStart=/usr/bin/docker start -a some_name
ExecStop=/usr/bin/docker stop -t 10 some_name

[Install]
WantedBy=multi-user.target
시스템 부트를 통해 서비스를 시작하려면 다음 명령을 사용합니다.
systemctl enable docker.some_name
다음 명령을 사용하여 수동으로 서비스를 중지하고 시작합니다.
sudo service stop docker.some_name
sudo service start docker.some_name

서비스 상태 확인


다음은 실행 중인 서비스 상태를 확인하는 명령입니다.
$ sudo systemctl status 

서비스 재시작


서비스를 다시 시작할 수 있습니다. 멈추거나 시작할 필요가 없습니다. 더 많은 노력이 필요합니다.다음은 이 작업을 수행하는 명령입니다.
$ sudo systemctl restart firewalld

재부팅 및 종료


다음은 시스템을 다시 시작하고 닫는 데 사용되는 명령입니다.(시스템 관리자로서 명령줄을 사용하여 시스템을 닫는 방법도 알아야 합니다.)
$ sudo systemctl reboot
$ sudo systemctl poweroff

시작 시 서비스 시작


기계가 켜지면 Docker 등의 서비스가 시작됩니다.그것을 완성하려면 다음 명령을 사용할 수 있습니다.
$ sudo systemctl enable firewalld
기계를 시작하려고 시도하면 서비스가 자동으로 시작되고 인공적인 상호작용이 필요 없다는 것을 발견할 수 있습니다.

결론


이 글에서, 우리는 시스템d가 어떻게 당신의 기계에서 흔히 볼 수 있는 관리와 설정 작업을 수행하는지 이해했습니다.시스템 관리자는 위의 명령을 사용하여 컴퓨터에서 실행되는 서비스를 자동으로 구성할 수 있습니다.사용자 정의 서비스에서 이 명령을 시도하고 시스템의 강력한 기능을 이해하십시오.