写给linux系统管理员看的systemd 五 关闭的三个级别(systemd作者blog翻译过来的)

http://0pointer.de/blog/projects/three-levels-of-off


关闭的三个级别

systmed中, 关闭一个服务(或者其它unit)有3个基本. 让我们看看都是哪些:

你能 stop 一个服务. 那只是简单的终止服务的运行实例,其它事情做的很少. 如果由于某激活(比如手动激活,socket激活,总线激活,系统启动激活或者硬件插拔激活)需要这个服务,服务将会启动. stop一个服务因而是非常简单的,临时的并且表明上的操作.这有一个如何stop NTP服务的例子:
$ systemctl stop ntpd.service
这大致等同于如下在大多数类SysV系统中都提供的传统命令:
$ service ntpd stop
实际上, Fedora 15上, 你执行后面的那条命令,系统会自动转换成前一条命令执行.

您能 disable 一个服务. 这使服务与激活触发机制拖钩. 这意味着, 服务将不再在系统启动时激活,也不能被其它诸如socket, 总线或硬件插拔这些触发机制激活. 然而, 你仍能手动启动它. 如果服务已经启动, disable它将不能使其停止.下面演示如何disable一个服务:
$ systemctl disable ntpd.service
传统的Fedora系统中, 这差不多等同于如下命令:
$ chkconfig ntpd off
Fedora 15中, 如有需要,后一命令透明的转换成前一命令.
经常你要组合stop和disable服务, 来停止当前服务并保证不再启动:
$ systemctl disable ntpd.service
$ systemctl stop ntpd.service
像上例这样的命令通常用于Fedora里卸载systemd服务的包中.
disable一个服务是永久性的改变; 除非撤销它将一直保持, 即使系统重启动也是如此.

你能 mask  一个服务. 这就像disable一个服务, 但是增强型的. 它不但确保服务不再自动启动了, 而且确保服务也不能手动启动了. 这有点像systemd中的隐藏属性, 因为它通常没啥用, 并且容易使用户产生困惑. 下面是使用的例子:
$ ln -s /dev/null /etc/systemd/system/ntpd.service
$ systemctl daemon-reload
把一个服务文件链接到 /dev/null  你告诉systemd不启动这一服务完全屏蔽它的执行./etc/systemd/systemd下的unit文件是优先于/libsystemd/system有同样名字的文件的. 前者是系统管理员的范畴,后者是包管理者的范畴. 把你的链接放到/etc/systemd/system/ntpd.service你就能保证systemd不会去读上位的安装服务文件 /lib/systemd/system/ntpd.service .
systemd 将会认出链接到  /dev/null的单元并把它们显示成 masked . 如果你手动启动这样的服务 (比如通过  systemctl start  ) 将会提升一些错误:.
A similar trick on SysV systems does not (officially) exist. However, there are a few unofficial hacks, such as editing the init script and placing an  exit 0  at the top, or removing its execution bit. However, these solutions have various drawbacks, for example they interfere with the package manager.
Masking a service is a permanent change, much like disabling a service.
 

与stop和disable相对应, 用 systemctl start 来撤销 systemctl stop. 用systemctl enable 来撤销systemctl disable 用rm 来撤销 ln.

就这些了, 多谢!


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值