欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux中systemd target命令使用详解

程序员文章站 2022-05-30 13:29:47
这篇文章主要介绍了Linux中systemd target命令使用详解,是Linux入门学习中的基础知识,需要的朋友可以参考下... 15-07-01...

(1)怎样知道一个目标需要哪些进程服务?


例如,可能想搞明白目标单元multi-user.target究竟启用了哪些服务,使用以下命令:
 

复制代码
代码如下:

$systemctlshow-p"wants"multi-user.target
wants=rc-local.serviceavahi-daemon.servicerpcbind.servicenetworkmanager.serviceacpid.servicedbus.serviceatd.servicecrond.serviceauditd.servicentpd.serviceudisks.servicebluetooth.serviceorg.cups.cupsd.servicewpa_supplicant.servicegetty.targetmodem-manager.serviceportreserve.serviceabrtd.serviceyum-updatesd.serviceupowerd.servicetest-first.servicepcscd.servicersyslog.servicehaldaemon.serviceremote-fs.targetplymouth-quit.servicesystemd-update-utmp-runlevel.servicesendmail.servicelvm2-monitor.servicecpuspeed.serviceudev-post.servicemdmonitor.serviceiscsid.servicelivesys.servicelivesys-late.serviceirqbalance.serviceiscsi.service

除了wants,还可以查看各种形式的依赖和被依赖信息:wantedby、requires、requiredby、conflicts、conflictedby、before、after。


(2)target与运行级别


在rhel7之前的版本,使用运行级别代表特定的操作模式。运行级别被定义为七个级别,用数字0到6表示,每个级别可以启动特定的一些服务。rhel7使用target替换运行基本。
systemd target使用target单元文件描述,target单位文件扩展名是.target,target单元文件的唯一目标是将其他systemd单元文件通过一连串的依赖关系组织在一起。举个例子,graphical.target单元,用于启动一个图形会话,systemd会启动像gnome显示管理(gdm.service)、帐号服务(axxounts-daemon)这样的服务,并且会激活multi-user.target单元。相似的multi-user.target单元,会启动必不可少的networkmanager.service、dbus.service服务,并激活basic.target单元。
rhel7预定义了一些target和之前的运行级别或多或少有些不同。为了兼容,systemd也提供一些target映射为sysv init的运行级别,具体的对应信息如下:
0runlevel0.target,poweroff.target关闭系统。
1runlevel1.target,rescue.target进入救援模式。
2runlevel2.target,multi-user.target进入非图形界面的多用户方式。
3runlevel3.target,multi-user.target进入非图形界面的多用户方式。
4runlevel4.target,multi-user.target进入非图形界面的多用户方式。
5runlevel5.target,graphical.target进入图形界面的多用户方式。
6runlevel6.target,reboot.target重启系统。


(3)target管理


1)使用如下命令查看目前可用的target:
 

复制代码
代码如下:
systemctl list-units --type target

改变当前的运行基本使用如下命令:
 

复制代码
代码如下:
systemctl isolate name.target

2)修改默认的运行级别
使用systemctl get-default命令得到默认的运行级别:
 

复制代码
代码如下:

[root@localhost~]#systemctlget-default
multi-user.target

使用systemctl set-default name.target修改默认的运行基本
 

复制代码
代码如下:

[root@localhost~]#systemctlset-defaultgraphical.target
rm'/etc/systemd/system/default.target'
ln-s'/usr/lib/systemd/system/graphical.target''/etc/systemd/system/default.target'

3)救援模式和紧急模式
使用systemctl rescue进入救援模式,如果连救援模式都进入不了,可以进入紧急模式:
 

复制代码
代码如下:
systtmctl emergency

紧急模式进入做小的系统环境,以便于修复系统。紧急模式根目录以只读方式挂载,不激活网络,只启动很少的服务,进入紧急模式需要root密码。