使用 chkconfig 和 systemctl 命令启用或禁用 Linux 服务的方法
作者:Prakash Subramanian 发布时间:2023-07-09 09:27:39
对于 Linux 管理员来说这是一个重要(美妙)的话题,所以每个人都必须知道,并练习怎样才能更高效的使用它们。
在 Linux 中,无论何时当你安装任何带有服务和守护进程的包,系统默认会把这些服务的初始化及 systemd 脚本添加进去,不过此时它们并没有被启用。
我们需要手动的开启或者关闭那些服务。Linux 中有三个著名的且一直在被使用的初始化系统。
什么是初始化系统?
在以 Linux/Unix 为基础的操作系统上,init (初始化的简称) 是内核引导系统启动过程中第一个启动的进程。
init 的进程 id (pid)是 1,除非系统关机否则它将会一直在后台运行。
init 首先根据 /etc/inittab 文件决定 Linux 运行的级别,然后根据运行级别在后台启动所有其他进程和应用程序。
BIOS、MBR、GRUB 和内核程序在启动 init 之前就作为 Linux 的引导程序的一部分开始工作了。
下面是 Linux 中可以使用的运行级别(从 0~6 总共七个运行级别):
0:关机
1:单用户模式
2:多用户模式(没有NFS)
3:完全的多用户模式
4:系统未使用
5:图形界面模式
6:重启
下面是 Linux 系统中最常用的三个初始化系统:
System V(Sys V)
Upstart
systemd
什么是 System V(Sys V)?
System V(Sys V)是类 Unix 系统第一个也是传统的初始化系统。init 是内核引导系统启动过程中第一支启动的程序,它是所有程序的父进程。
大部分 Linux 发行版最开始使用的是叫作 System V(Sys V)的传统的初始化系统。在过去的几年中,已经发布了好几个初始化系统以解决标准版本中的设计限制,例如:launchd、Service Management Facility、systemd 和 Upstart。
但是 systemd 已经被几个主要的 Linux 发行版所采用,以取代传统的 SysV 初始化系统。
什么是 Upstart?
Upstart 是一个基于事件的 /sbin/init 守护进程的替代品,它在系统启动过程中处理任务和服务的启动,在系统运行期间监视它们,在系统关机的时候关闭它们。
它最初是为 Ubuntu 而设计,但是它也能够完美的部署在其他所有 Linux系统中,用来代替古老的 System-V。
Upstart 被用于 Ubuntu 从 9.10 到 Ubuntu 14.10 和基于 RHEL 6 的系统,之后它被 systemd 取代。
什么是 systemd?
systemd 是一个新的初始化系统和系统管理器,它被用于所有主要的 Linux 发行版,以取代传统的 SysV 初始化系统。
systemd 兼容 SysV 和 LSB 初始化脚本。它可以直接替代 SysV 初始化系统。systemd 是被内核启动的第一个程序,它的 PID 是 1。
systemd 是所有程序的父进程,Fedora 15 是第一个用 systemd 取代 upstart 的发行版。systemctl 用于命令行,它是管理 systemd 的守护进程/服务的主要工具,例如:(开启、重启、关闭、启用、禁用、重载和状态)
systemd 使用 .service 文件而不是 bash 脚本(SysVinit 使用的)。systemd 将所有守护进程添加到 cgroups 中排序,你可以通过浏览 /cgroup/systemd 文件查看系统等级。
如何使用 chkconfig 命令启用或禁用引导服务?
chkconfig 实用程序是一个命令行工具,允许你在指定运行级别下启动所选服务,以及列出所有可用服务及其当前设置。
此外,它还允许我们从启动中启用或禁用服务。前提是你有超级管理员权限(root 或者 sudo)运行这个命令。
所有的服务脚本位于 /etc/rd.d/init.d文件中
如何列出运行级别中所有的服务
--list 参数会展示所有的服务及其当前状态(启用或禁用服务的运行级别):
# chkconfig --list
NetworkManager 0:off 1:off 2:on 3:on 4:on 5:on 6:off
abrt-ccpp 0:off 1:off 2:off 3:on 4:off 5:on 6:off
abrtd 0:off 1:off 2:off 3:on 4:off 5:on 6:off
acpid 0:off 1:off 2:on 3:on 4:on 5:on 6:off
atd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
auditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
.
.
如何查看指定服务的状态
如果你想查看运行级别下某个服务的状态,你可以使用下面的格式匹配出需要的服务。
比如说我想查看运行级别中 auditd 服务的状态
# chkconfig --list| grep auditd
auditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
如何在指定运行级别中启用服务
使用 --level 参数启用指定运行级别下的某个服务,下面展示如何在运行级别 3 和运行级别 5 下启用 httpd 服务。
# chkconfig --level 35 httpd on如何在指定运行级别下禁用服务
同样使用 --level 参数禁用指定运行级别下的服务,下面展示的是在运行级别 3 和运行级别 5 中禁用 httpd 服务。
# chkconfig --level 35 httpd off
如何将一个新服务添加到启动列表中
-–add 参数允许我们添加任何新的服务到启动列表中,默认情况下,新添加的服务会在运行级别 2、3、4、5 下自动开启。
# chkconfig --add nagios如何从启动列表中删除服务
可以使用 --del 参数从启动列表中删除服务,下面展示的是如何从启动列表中删除 Nagios 服务。
# chkconfig --del nagios如何使用 systemctl 命令启用或禁用开机自启服务?
systemctl 用于命令行,它是一个用来管理 systemd 的守护进程/服务的基础工具,例如:(开启、重启、关闭、启用、禁用、重载和状态)。
所有服务创建的 unit 文件位与 /etc/systemd/system/。
如何列出全部的服务
使用下面的命令列出全部的服务(包括启用的和禁用的)。
# systemctl list-unit-files --type=service
UNIT FILE STATE
arp-ethers.service disabled
auditd.service enabled
autovt@.service enabled
blk-availability.service disabled
brandbot.service static
chrony-dnssrv@.service static
chrony-wait.service disabled
chronyd.service enabled
cloud-config.service enabled
cloud-final.service enabled
cloud-init-local.service enabled
cloud-init.service enabled
console-getty.service disabled
console-shell.service disabled
container-getty@.service static
cpupower.service disabled
crond.service enabled
.
.
150 unit files listed.
使用下面的格式通过正则表达式匹配出你想要查看的服务的当前状态。下面是使用 systemctl 命令查看 httpd 服务的状态。
# systemctl list-unit-files --type=service | grep httpd
httpd.service disabled
如何让指定的服务开机自启
使用下面格式的 systemctl 命令启用一个指定的服务。启用服务将会创建一个符号链接,如下可见:
# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
运行下列命令再次确认服务是否被启用。
# systemctl is-enabled httpd
enabled
如何禁用指定的服务
运行下面的命令禁用服务将会移除你启用服务时所创建的符号链接。
# systemctl disable httpd
Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service.
运行下面的命令再次确认服务是否被禁用。
# systemctl is-enabled httpd
disabled
如何查看系统当前的运行级别
使用 systemctl 命令确认你系统当前的运行级别,runlevel 命令仍然可在 systemd 下工作,不过,运行级别对于 systemd 来说是一个历史遗留的概念。所以我建议你全部使用 systemctl 命令。
我们当前处于运行级别 3, 它等同于下面显示的 multi-user.target。
# systemctl list-units --type=target
UNIT LOAD ACTIVE SUB DESCRIPTION
basic.target loaded active active Basic System
cloud-config.target loaded active active Cloud-config availability
cryptsetup.target loaded active active Local Encrypted Volumes
getty.target loaded active active Login Prompts
local-fs-pre.target loaded active active Local File Systems (Pre)
local-fs.target loaded active active Local File Systems
multi-user.target loaded active active Multi-User System
network-online.target loaded active active Network is Online
network-pre.target loaded active active Network (Pre)
network.target loaded active active Network
paths.target loaded active active Paths
remote-fs.target loaded active active Remote File Systems
slices.target loaded active active Slices
sockets.target loaded active active Sockets
swap.target loaded active active Swap
sysinit.target loaded active active System Initialization
timers.target loaded active active Timers
总结
以上所述是小编给大家介绍的使用 chkconfig 和 systemctl 命令启用或禁用 Linux 服务的方法,希望对大家有所帮助
来源:https://linux.cn/article-10245-1.html
猜你喜欢
- 各种不同网站运营模式是不同的就比如说阿里巴巴网站运营模式和开心网网站运营模式[开心网运营的盈利模式] ,是截然不同的,那再想下,是什么决定了
- 一,VMware Workstation下的linux:1、更新源(非必须)vi /etc/apt/sources.list调整国内的源地址
- 10月21日消息,今天下午,PChome电脑之家网站在上海召开了2009年全体员工大会,CBSi全球高级副总裁兼中国区总裁王路、CBSi(中
- 内部因素(15条)1、URL中出现关键词2、网页Title中出现关键词3、常规内容中出现关键词4、在页面的第一段中出现关键词5、在页面的最后
- 北京时间10月24日消息,据国外媒体报道,律师事务所Izard Nobel周五宣布,该公司代表2006年11月15日至2009年7月15日(
- 在网站上显示访问者的评论,是提高访问者参与度的方法之一。 此外,你还可以推荐在网站上推荐一些精彩评论,并给出评论者的网站链接。 下面我们就为
- 最近在看腾讯新闻的时候,无意中发现,当我选中新闻中的文字的时候,鼠标右上角会显示一个“转播至微博”的按钮,点击后就会将选中的文字转发到微博上
- 经过三个月的等待,终于等来了DMOZ重新开放登录目录,DMOZ大概是06年十月份停止收录网站的,今天闲逛到dmoz网
- 我的私人博客,不是这个, 以前屏蔽所有的搜索引擎,但是百度还是偷偷来访问,没想到百度真的是一个不遵守 robots.txt 的搜索引擎,真是
- 你知道什么是“红客”、“威客”、“玉米虫
- 百度搜索引擎12月2日开始了本月首次索引数据库更新,直到12月5日才结束了大更新行动,本次更新历行5天时间。本次更新显然与以往都不同。我在这
- Zabbix2019/10/12 Chenxin参考https://www.zabbix.com/documentation/4.0/zh/
- 无论是企业还是站长,做网站都是要给人看的。如果没人看,那么网站也就白做了。这次,我不引用“根据叉叉部门权威统计,现在百度
- DEDECMS鼠标 hover 显示全部标题的简便方法因网页设计的原因,在某些地方我们需要截取文章的部分标题,但这样无论对SEO
- 内容摘要:作为一款经典的FTP服务器软件,SERV-U一直被大部分管理员所使用,它简单的安装和配置以及强大的管理功能的人性化也一直被管理员们
- 如果需要在运行 Microsoft Exchange2000 Server 或 Microsoft ExchangeServer 2003
- 论坛,又名网络论坛BBS,是互联网上一种电子信息服务系统。它提供一块公共电子白板,让每个用户都可以在上面发布信息或提出看法等。其交互性较强,
- WordPress系统本身,默认安装的情况下使用默认模板,实际上对搜索引擎并不友好,并没有针对搜索引擎进行很好的设计,下面我介绍一些方法可以
- 英语网站宣传对于有的人说简单是因为他懂英语。对于有的人说难是因为他不会英语或者懂一点点英语,但是英语推广不只要懂英语还要懂推广的技术和长时间
- 今天在使用docker获取镜像时,出现了镜像获取报错的问题,找到了解决的方法记一下。一、问题➜ ~ docker search sameer