RHEL7、CentOS7的服务管理-系统管理(4)-阿里云开发者社区

开发者社区> 开发与运维> 正文

RHEL7、CentOS7的服务管理-系统管理(4)

简介: 从RHEL7的官方文档中我们,可以看出在未来service和chkconfig可能会退出历史舞台,现在的发行版中还保留这些命令最主的原因是考虑了兼容性,在使用中我们应该逐步放弃这些命令。

从RHEL7的官方文档中我们,可以看出在未来service和chkconfig可能会退出历史舞台,现在的发行版中还保留这些命令最主的原因是考虑了兼容性,在使用中我们应该逐步放弃这些命令。
目前可用的systemd单元类型
这里写图片描述
systemd单元文件位置
这里写图片描述
service命令和systemctl命令的一些功能对照表
这里写图片描述
chkconfig命令和systemctl命令的一些功能对照表
这里写图片描述
停止指定服务单元:

[root@Geeklp-Administrator Geeklp]# systemctl stop firewalld.service

文件扩展可能会被遗忘,被遗忘文件扩展的命令与上述等价:

[root@Geeklp-Administrator Geeklp]# systemctl stop firewalld

显示服务状态:

[root@Geeklp-Administrator Geeklp]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since 五 2017-12-22 15:20:01 CST; 24min ago
     Docs: man:firewalld(1)
  Process: 1742 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
 Main PID: 1742 (code=exited, status=0/SUCCESS)
1222 15:19:44 Geeklp-Administrator systemd[1]: Starting firewalld - dynamic firewall daemon...

从上面的屏幕输出信息中我们可以看到一些诸如Loaded的关键字,这些被称之为服务单元信息。目前可用的服务单元信息有:
这里写图片描述
启动服务:systemctl start name.service
停止服务:systemctl stop name.service
重启服务:systemctl restart name.service
重载服务:systemctl reload name.service
重点提一下重载服务。某些系统允许不中断执行来重载配置,例如:httpd。systemctl命令也支持reload-or-restart 和 reload-or-try-restart来重启服务。
开机启动:systemctl enable name.service
重新创建开机启动:systemctl reenable name.service
设置开机启动的路径为:/usr/lib/systemd/system/name.service,如果已经设置了开机启动,需要重新创建开机启动服务才用此命令。
禁止开机启动:systemctl disable name.service
当执行这个命令时,从/etc/systemd/system及子目录到/usr/lib/systemd/system/name.service的符号链接会被移除。

[root@Geeklp-Administrator system]# systemctl enable vsftpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@Geeklp-Administrator multi-user.target.wants]# systemctl disable vsftpd.service
Removed symlink /etc/systemd/system/multi-user.target.wants/vsftpd.service.
[root@Geeklp-Administrator multi-user.target.wants]# ll
total 0
lrwxrwxrwx. 1 root root 38 12月 25 14:50 vsftpd.service -> /usr/lib/systemd/system/vsftpd.service

屏蔽服务:systemctl mask name.service
这个命令使用之后会将/etc/systemd/system/name.service链接到/dev/null,这样实际操作信息就传达不到systemd,从而实现对服务的屏蔽。

[root@Geeklp-Administrator ~]# systemctl mask vsftpd
Created symlink from /etc/systemd/system/vsftpd.service to /dev/null.
[root@Geeklp-Administrator ~]# systemctl status vsftpd
● vsftpd.service
   Loaded: masked (/dev/null; bad)
   Active: inactive (dead)
1225 14:26:33 Geeklp-Administrator systemd[1]: Started Vsftpd ftp daemon.
1225 14:26:42 Geeklp-Administrator systemd[1]: Stopping Vsftpd ftp daemon...
[root@Geeklp-Administrator ~]# systemctl start vsftpd
Failed to start vsftpd.service: Unit is masked.

取消屏蔽:systemctl unmask name.service
待续………

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章