Listing unit files with systemctl
1. Query the state of all unit
to verify a system startup.
#systemctl
[root@server1 /]# systemctl
UNIT
LOAD ACTIVE SUB DESCRIPTION
proc-sys-fs-binfmt_misc.automount
loaded active waiting Arbitrary
Executable File Formats File System Automount Point
sys-devices-pci0000:00-0000:00:10.0-host2-target2:0:0-2:0:0:0-block-sda-sda1.device loaded active plugged VMware_Virtual_S
sys-devices-pci0000:00-0000:00:10.0-host2-target2:0:0-2:0:0:0-block-sda-sda2.device loaded active plugged VMware_Virtual_S
sys-devices-pci0000:00-0000:00:10.0-host2-target2:0:0-2:0:0:0-block-sda.device loaded active plugged VMware_Virtual_S
sys-devices-pci0000:00-0000:00:11.0-0000:02:01.0-net-eno16777736.device loaded active
plugged PRO/1000 MT Single Port
Adapter
sys-devices-pci0000:00-0000:00:11.0-0000:02:02.0-sound-card0.device loaded active
plugged AudioPCI 64V/128 / Creative
Sound Blaster CT4810
|
2. Query the state of only the
service units.
#
systemctl –type=service
[root@server1 /]# systemctl --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
|
3. Investigate any units which
are in a failed or maintenance state. Optionally, add the –l option to show the full output.
#
systemctl status rngd.service –l
[root@server1 /]# systemctl status rngd.service
-l
rngd.service - Hardware RNG Entropy Gatherer
Daemon
Loaded: loaded (/usr/lib/systemd/system/rngd.service; enabled)
Active: active (running) since Fri 2016-01-01 10:22:18 CET; 2 days ago
Main
PID: 871 (rngd)
CGroup: /system.slice/rngd.service
└─871 /sbin/rngd -f
Jan 01 10:22:18 server1.example.com systemd[1]:
Started Hardware RNG Entropy Gatherer Daemon.
Jan 01 10:22:19 server1.example.com rngd[871]:
Unable to open file: /dev/tpm0
|
4. The status argument may
also be used to determine if a particular unit is active and show if the unit
is enabled to start at boot time. Alternate commands can also easily show the
active and enabled states:
#
systemctl is-active sshd
#
systemctl is-enabled sshd
[root@server1 /]# systemctl is-active sshd
active
[root@server1 /]# systemctl is-enabled sshd
enabled
|
5. List the active state of
all loaded units. Optionally, limit the type of unit. The –all option will add inactive units.
#
sytsemctl list-units –type=service
# systemctl
list-units –type=service –all
[root@server1 /]# 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
avahi-daemon.service loaded active running Avahi
mDNS/DNS-SD Stack
[root@server1 /]# systemctl list-units
--type=service --all
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-vmcore.service loaded inactive dead Harvest vmcores for ABRT
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-restore.service loaded inactive dead Restore Sound Card State
alsa-state.service loaded active running Manage Sound Card State (restore
and st
alsa-store.service loaded inactive dead Store Sound Card State
|
6. View the enable and disable
settings for all units. Optionally, limit the type of unit.
#
systemctl list-unit-files –type=service
[root@server1 /]# systemctl list-unit-files --type=service
UNIT FILE STATE
abrt-ccpp.service enabled
abrt-oops.service enabled
abrt-pstoreoops.service disabled
abrt-vmcore.service enabled
abrt-xorg.service enabled
abrtd.service enabled
accounts-daemon.service enabled
alsa-restore.service static
alsa-state.service static
alsa-store.service static
arp-ethers.service disabled
|
7. View only failed services
# systemctl
–failed –type=service
[root@server1 /]# systemctl --failed
--type=service
UNIT
LOAD ACTIVE SUB DESCRIPTION
rhnsd.service loaded failed failed LSB: Starts
the Spacewalk Daemon
|
Starting and stopping
system daemons on a running system.
1. View the status of a
service.
#
systemctl status
|
2. Verify that the process is
running.
# ps –up
PID
|
3. Stop the service and verify
the status
# systemctl
stop sshd.service
# systemctl
status sshd.service
[root@server1 /]# systemctl stop sshd.service
[root@server1 /]# systemctl status sshd.service
sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
Active: inactive (dead) since Mon 2016-01-04 04:44:49 CET; 11s ago
Process: 1582 ExecStart=/usr/sbin/sshd -D $OPTIONS (code=exited,
status=0/SUCCESS)
Process: 1573 ExecStartPre=/usr/sbin/sshd-keygen (code=exited,
status=0/SUCCESS)
Main
PID: 1582 (code=exited, status=0/SUCCESS)
Jan 01 10:22:47 server1.example.com systemd[1]:
Started OpenSSH server daemon.
Jan 01 10:22:49 server1.example.com sshd[1582]:
Server listening on 0.0.0.0 port 2022.
Jan 01 10:22:49 server1.example.com sshd[1582]:
Server listening on :: port 2022.
Jan 04 04:44:49 server1.example.com systemd[1]:
Stopping OpenSSH server daemon...
Jan 04 04:44:49 server1.example.com sshd[1582]:
Received signal 15; terminating.
Jan 04 04:44:49 server1.example.com systemd[1]:
Stopped OpenSSH server daemon.
|
4. Start the service and view
the status. The process ID has changed
#
systemctl start sshd.service
#
systemctl status sshd.service
[root@server1 /]# systemctl start sshd.service
[root@server1 /]# systemctl status sshd.service
sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
Active: active (running) since Mon 2016-01-04 04:47:56 CET; 4s ago
Process: 15722 ExecStartPre=/usr/sbin/sshd-keygen (code=exited,
status=0/SUCCESS)
Main
PID: 15724 (sshd)
CGroup: /system.slice/sshd.service
└─15724 /usr/sbin/sshd -D
Jan 04 04:47:56 server1.example.com systemd[1]:
Starting OpenSSH server daemon...
Jan 04 04:47:56 server1.example.com systemd[1]:
Started OpenSSH server daemon.
Jan 04 04:47:56 server1.example.com
sshd[15724]: Server listening on 0.0.0.0 port 2022.
Jan 04 04:47:56 server1.example.com
sshd[15724]: Server listening on :: port 2022.
|
5. Stop, then start, the
service in a single command.
# systemctl
restart sshd.service
# systemctl
status sshd.service
[root@server1 /]# systemctl restart
sshd.service
[root@server1 /]# systemctl status sshd.service
sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
Active: active (running) since Mon 2016-01-04 04:48:49 CET; 2s ago
Process: 15738 ExecStartPre=/usr/sbin/sshd-keygen (code=exited,
status=0/SUCCESS)
Main
PID: 15739 (sshd)
CGroup: /system.slice/sshd.service
└─15739 /usr/sbin/sshd -D
Jan 04 04:48:49 server1.example.com systemd[1]:
Starting OpenSSH server daemon...
Jan 04 04:48:49 server1.example.com systemd[1]:
Started OpenSSH server daemon.
Jan 04 04:48:49 server1.example.com
sshd[15739]: Server listening on 0.0.0.0 port 2022.
Jan 04 04:48:49 server1.example.com
sshd[15739]: Server listening on :: port 2022.
|
6. Issue instructions for a
service to read and reload its configuration file without a complete stop and
start. The process ID will not change.
#
systemctl reload sshd.service
#
systemcl status sshd.service
[root@server1 /]# systemctl reload sshd.service
[root@server1 /]# systemctl status sshd.service
sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
Active: active (running) since Mon 2016-01-04 04:48:49 CET; 57s ago
Process: 15754 ExecReload=/bin/kill -HUP $MAINPID (code=exited,
status=0/SUCCESS)
Process: 15738 ExecStartPre=/usr/sbin/sshd-keygen (code=exited,
status=0/SUCCESS)
Main
PID: 15739 (sshd)
CGroup: /system.slice/sshd.service
└─15739 /usr/sbin/sshd -D
Jan 04 04:48:49 server1.example.com systemd[1]:
Starting OpenSSH server daemon...
Jan 04 04:48:49 server1.example.com systemd[1]:
Started OpenSSH server daemon.
Jan 04 04:48:49 server1.example.com
sshd[15739]: Server listening on 0.0.0.0 port 2022.
Jan 04 04:48:49 server1.example.com
sshd[15739]: Server listening on :: port 2022.
Jan 04 04:49:38 server1.example.com systemd[1]:
Reloading OpenSSH server daemon.
Jan 04 04:49:38 server1.example.com
sshd[15739]: Received SIGHUP; restarting.
Jan 04 04:49:38 server1.example.com
sshd[15739]: Server listening on 0.0.0.0 port 2022.
Jan 04 04:49:38 server1.example.com
sshd[15739]: Server listening on :: port 2022.
Jan 04 04:49:38 server1.example.com systemd[1]:
Reloaded OpenSSH server daemon.
|
Masking
services
At times, a system may have
conflicting services installed. For example, there are multiple methods to manage
networks (network and NetworkManager) and firewalls (iptables and firewalld).
To prevent and administrator from accidentally starting a service, that service
may be masked. Masking will create a link in the configuration directories so
that if the service is started nothing will happen.
#
systemctl mask network
#
systemctl unmask network
[root@server1 /]# systemctl mask network
ln -s '/dev/null'
'/etc/systemd/system/network.service'
[root@server1 /]# systemctl unmask network
rm '/etc/systemd/system/network.service'
|
Enabling system daemons to start or stop at boot
Starting a service on a
running system does nto guarantee that the service will be started when the
system reboots. Similarly, stopping a service on a running system will not keep
it from starting again when the system reboots. Services are started at boot
time when links are created in the appropriated systemd configuration directories. These links are created and
removed with systemctl commands.
1. View the status of a
service.
#
systemctl status sshd.service
[root@server1 /]# systemctl status sshd.service
sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
Active: active (running) since Mon 2016-01-04 04:48:49 CET; 2min 50s
ago
Main
PID: 15739 (sshd)
CGroup: /system.slice/sshd.service
└─15739 /usr/sbin/sshd -D
Jan 04 04:48:49 server1.example.com systemd[1]:
Starting OpenSSH server daemon...
Jan 04 04:48:49 server1.example.com systemd[1]:
Started OpenSSH server daemon.
Jan 04 04:48:49 server1.example.com
sshd[15739]: Server listening on 0.0.0.0 port 2022.
Jan 04 04:48:49 server1.example.com
sshd[15739]: Server listening on :: port 2022.
Jan 04 04:49:38 server1.example.com systemd[1]:
Reloading OpenSSH server daemon.
Jan 04 04:49:38 server1.example.com
sshd[15739]: Received SIGHUP; restarting.
Jan 04 04:49:38 server1.example.com
sshd[15739]: Server listening on 0.0.0.0 port 2022.
Jan 04 04:49:38 server1.example.com
sshd[15739]: Server listening on :: port 2022.
Jan 04 04:49:38 server1.example.com systemd[1]:
Reloaded OpenSSH server daemon.
|
2. Disable the service and
verify the status. Note that disabling a service does not stop the service.
#
systemctl disable sshd.service
#
systemctl status sshd.service
[root@server1 /]# systemctl disable sshd.service
rm
'/etc/systemd/system/multi-user.target.wants/sshd.service'
[root@server1 /]# systemctl status sshd.service
sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; disabled)
Active: active (running) since Mon 2016-01-04 04:48:49 CET; 3min 44s
ago
Main
PID: 15739 (sshd)
CGroup: /system.slice/sshd.service
└─15739 /usr/sbin/sshd -D
Jan 04 04:48:49 server1.example.com systemd[1]:
Starting OpenSSH server daemon...
Jan 04 04:48:49 server1.example.com systemd[1]:
Started OpenSSH server daemon.
Jan 04 04:48:49 server1.example.com
sshd[15739]: Server listening on 0.0.0.0 port 2022.
Jan 04 04:48:49 server1.example.com
sshd[15739]: Server listening on :: port 2022.
Jan 04 04:49:38 server1.example.com systemd[1]:
Reloading OpenSSH server daemon.
Jan 04 04:49:38 server1.example.com
sshd[15739]: Received SIGHUP; restarting.
Jan 04 04:49:38 server1.example.com
sshd[15739]: Server listening on 0.0.0.0 port 2022.
Jan 04 04:49:38 server1.example.com
sshd[15739]: Server listening on :: port 2022.
Jan 04 04:49:38 server1.example.com systemd[1]:
Reloaded OpenSSH server daemon.
|
3. Enable the service and
verify the status.
#
systemctl enable sshd.service
#
systemctl is-enable sshd.service
[root@server1 /]# systemctl enable sshd.service
ln -s '/usr/lib/systemd/system/sshd.service'
'/etc/systemd/system/multi-user.target.wants/sshd.service'
[root@server1 /]# systemctl is-enabled
sshd.service
enabled
|
Summary of systemctl
commands:
Tasks
|
Command:
|
View detailed information
about a unit state
|
# systemctl status UNIT
|
Stop a service on a
running system
|
# systemctl stop UNIT
|
Stop a service on a
running system
|
# systemctl stop UNIT
|
Start a service on a
running system
|
# systemctl start UNIT
|
Restart a service on a
running system
|
# systemctl restart UNIT
|
Reload configuration file
of a running service
|
# systemctl reload UNIT
|
Completely disable a
service from being started, both manually and at boot.
|
# systemctl mask UNIT
|
Mask a masked service
available
|
# systemctl unmask UNIT
|
Configure a service to
start at boot time
|
# systemctl enable UNIT
|
Disable a service from
starting at boot time.
|
# systemctl disable UNIT
|
List units which are
required and wanted by the specified unit
|
# systemcl
list-dependencies UNIT
|
Thank you for reading.
No comments:
Post a Comment