Официален блог на WebEKM EKM очаквайте сайта онлайн скоро.

Download Free Templates http://bigtheme.net/ free full Wordpress, Joomla, Mgento - premium themes.

Systemd and Units – management of processes, targets and not only in Linux

After the GRUB finds the kernel, continues the boot process with the first and most important,  systemd process.  Systemd takes part nearly in every activity in Linux and nothing happend without its knowledge.






Systemd consists of blocks that are called Units. The most of systemd units are service units, which activates system services, but there are also the other units, the full list looks in this way and is visible thanks to command ‘systemctl -t help

 

If we want to see the entire list of service units we run

systemctl list-units –type=service –all

if we want to check what given unit is responsible for

man [systemd.unit]

From booting perspective the most important are service and target units. ‘Target Unit’ groups together other system units and transists the system into different states. Systemd Targets were also known as runlevels in earlier versions of Linux.

 

Each target is associated with several systemd units, each unit can start or stop particular services. These units are also known as dependencies. If we want to see all dependencies for given target we use command ‘systemctl list-dependencies name.target’. For graphical target it looks :

If we want to know what is default target we run ‘systemctl get-default‘, if we want to change its ‘systemctl set-default multi-user.target‘. If we want to switch between targets we run ‘systemctl isolate [name.target]‘ command for example

systemctl isolate graphical.target

Systemd is responsible for running all services. It replaced the ‘init’ daemon and Upstart system that relies on runlevels and init scripts to run services similar to the older SysVinit. Systemd is much more efficient, whereas SysVinit were running all services at once, Systemd runs only services that are required to start the system, the others are being started on demand. It increased the speed of booting significantly. Also SysVinit starts services sequentially, systemd runs services in parallel by keeping track of all dependencies between units. We may see units dependenices that must be started before particular service (nfs): systemctl list-dependencies nfs.service

systemd Units
The systemd uses configuration files that are being stored in /usr/lib/systemd/system folder to run the other processes. We may also store our own customized configuration files in /etc/systemd/system.

Besides service and targets units there are also the other one :

 

 

If we want to see all active systemd units we run a command:
systemctl list-units

if we want to see weather units are enabled or disabled

systemctl list-unit-files

SIngle target may inculde another targets. Let’s have a look on
graphical.target and what its consists of.

 

As we see graphical.target to work requires running multi-user.target. Firstly is being run mutli-user.target, then graphical.target activates display- manager.service (Wants). If we want to check the other services that are being run with graphical.target.wants we check
/etc/systemd/system/graphical.target.wants

Systemd units are run and stop automatically when you switch between diferent targets, but you may also manually switch them on and off. If we look closer  for example on sshd service (unit) we may conclude that the script is divided on 3 parts: Unit– description, Service– type of service, path to file with variables of the service, executive file path, Installservice is activated when multi-user.target has been run.

If we want to check the status of given service we run
systemctl status sshd.service

if we didin’t specify .service extension, that’s not a problem cause system assumes it by default so we may also run
systemctl status sshd

Regarding given service, we may use a couple of different options

systemctl [option] [service]

What, if we want to make enable any service  by default, in spite of is not enabled by default in the ‘target’?

Firstly let’s find out about all services installed in the system
systemctl list-unit-files –type=service

if we want to find out if given service is enabled or disabled in given target

systemctl is-enabled sshd.service

with enable/disable options we may command to run any service during booting up

systemctl disable sshd.service
systemctl enable sshd.service

Disable options doesn’t prevent user to start the service after running the system. If we want to disable the service during a boot process and ensure that it cannot be started anymore we have to use the ‘mask’ command

systemctl mask sshd.service

of course if we want we may turn back to the previous state

systemctl umask sshd.service

,

Onlain bookmaker bet365.com - the best bokie

Menu