Quản trị viên Linux - Quản lý tài nguyên với systemctl
systemctllà tiện ích được sử dụng để điều khiển systemd. systemctl cung cấp cho quản trị viên CentOS khả năng thực hiện vô số hoạt động trên systemd bao gồm:
- Định cấu hình đơn vị systemd
- Nhận trạng thái của systemd unsis
- Bắt đầu và dừng dịch vụ
- Bật / tắt dịch vụ systemd cho thời gian chạy, v.v.
Cú pháp lệnh cho systemctl khá cơ bản, nhưng có thể phức tạp với các công tắc và tùy chọn. Chúng tôi sẽ trình bày các chức năng cơ bản nhất của systemctl cần thiết để quản trị CentOS Linux.
Basic systemctl syntax:
systemctl [OPTIONS] COMMAND [NAME]
Sau đây là các lệnh phổ biến được sử dụng với systemctl :
- start
- stop
- restart
- reload
- status
- is-active
- list-units
- enable
- disable
- cat
- show
Chúng ta đã thảo luận về bắt đầu , dừng , tải lại , khởi động lại , bật và tắt với systemctl. Vì vậy, chúng ta hãy xem xét các lệnh thường được sử dụng còn lại.
trạng thái
Ở dạng đơn giản nhất, lệnh trạng thái có thể được sử dụng để xem toàn bộ trạng thái hệ thống -
[root@localhost rdc]# systemctl status
● localhost.localdomain
State: running
Jobs: 0 queued
Failed: 0 units
Since: Thu 2017-01-19 19:14:37 EST; 4h 5min ago
CGroup: /
├─1 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
├─user.slice
│ └─user-1002.slice
│ └─session-1.scope
│ ├─2869 gdm-session-worker [pam/gdm-password]
│ ├─2881 /usr/bin/gnome-keyring-daemon --daemonize --login
│ ├─2888 gnome-session --session gnome-classic
│ ├─2895 dbus-launch --sh-syntax --exit-with-session
Sản lượng trên đã được cô đọng. Ở trạng thái systemctl trong thế giới thực sẽ xuất ra khoảng 100 dòng trạng thái quy trình đã xử lý.
Giả sử chúng tôi muốn kiểm tra trạng thái của dịch vụ tường lửa -
[root@localhost rdc]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2017-01-19 19:14:55 EST; 4h 12min ago
Docs: man:firewalld(1)
Main PID: 825 (firewalld)
CGroup: /system.slice/firewalld.service
└─825 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
Như bạn thấy, dịch vụ tường lửa của chúng tôi hiện đang hoạt động và đã hơn 4 giờ.
đơn vị danh sách
Lệnh list-units cho phép chúng ta liệt kê tất cả các đơn vị của một loại nhất định. Hãy kiểm tra các ổ cắm được quản lý bởi systemd -
[root@localhost]# systemctl list-units --type=socket
UNIT LOAD ACTIVE SUB DESCRIPTION
avahi-daemon.socket loaded active running Avahi mDNS/DNS-SD Stack Activation Socket
cups.socket loaded active running CUPS Printing Service Sockets
dbus.socket loaded active running D-Bus System Message Bus Socket
dm-event.socket loaded active listening Device-mapper event daemon FIFOs
iscsid.socket loaded active listening Open-iSCSI iscsid Socket
iscsiuio.socket loaded active listening Open-iSCSI iscsiuio Socket
lvm2-lvmetad.socket loaded active running LVM2 metadata daemon socket
lvm2-lvmpolld.socket loaded active listening LVM2 poll daemon socket
rpcbind.socket loaded active listening RPCbind Server Activation Socket
systemd-initctl.socket loaded active listening /dev/initctl Compatibility Named Pipe
systemd-journald.socket loaded active running Journal Socket
systemd-shutdownd.socket loaded active listening Delayed Shutdown Socket
systemd-udevd-control.socket loaded active running udev Control Socket
systemd-udevd-kernel.socket loaded active running udev Kernel Socket
virtlockd.socket loaded active listening Virtual machine lock manager socket
virtlogd.socket loaded active listening Virtual machine log manager socket
Bây giờ hãy kiểm tra các dịch vụ đang chạy hiện tại -
[root@localhost rdc]# systemctl list-units --type=service
UNIT LOAD ACTIVE SUB DESCRIPTION
abrt-ccpp.service loaded active exited Install ABRT coredump hook
abrt-oops.service loaded active running ABRT kernel log watcher
abrt-xorg.service loaded active running ABRT Xorg log watcher
abrtd.service loaded active running ABRT Automated Bug Reporting Tool
accounts-daemon.service loaded active running Accounts Service
alsa-state.service loaded active running Manage Sound Card State (restore and store)
atd.service loaded active running Job spooling tools
auditd.service loaded active running Security Auditing Service
đang hoạt động
Lệnh đang hoạt động là một ví dụ về các lệnh systemctl được thiết kế để trả về thông tin trạng thái của một đơn vị.
[root@localhost rdc]# systemctl is-active ksm.service
active
con mèo
cat là một trong những lệnh hiếm khi được sử dụng. Thay vì sử dụng cat at shell và nhập đường dẫn đến một tệp đơn vị, chỉ cần sử dụng systemctl cat .
[root@localhost]# systemctl cat firewalld
# /usr/lib/systemd/system/firewalld.service
[Unit]
Description=firewalld - dynamic firewall daemon
Before=network.target
Before=libvirtd.service
Before = NetworkManager.service
After=dbus.service
After=polkit.service
Conflicts=iptables.service ip6tables.service ebtables.service ipset.service
Documentation=man:firewalld(1)
[Service]
EnvironmentFile = -/etc/sysconfig/firewalld
ExecStart = /usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS
ExecReload = /bin/kill -HUP $MAINPID
# supress to log debug and error output also to /var/log/messages
StandardOutput = null
StandardError = null
Type = dbus
BusName = org.fedoraproject.FirewallD1
[Install]
WantedBy = basic.target
Alias = dbus-org.fedoraproject.FirewallD1.service
[root@localhost]#
Bây giờ chúng ta đã khám phá cả systemd và systemctl cụ thể hơn, chúng ta hãy sử dụng chúng để quản lý các nguồn lực trong cgroups hoặc nhóm kiểm soát .