首页 程序笔记 systemctl:替换现代 Linux 上的 chkconfig 命令

systemctl:替换现代 Linux 上的 chkconfig 命令

chkconfig 是类 Unix 操作系统中使用的命令行实用程序,用于管理系统启动时自动启动哪些服务。

chkconfig 工具广泛用于较旧的 Linux 发行版,例如 CentOS 6 及更早版本。 chkconfig 允许管理员轻松启用或禁用不同运行级别的服务。

为什么 chkconfig 很重要?

在我们深入研究现代替代品之前,让我们先了解为什么 chkconfig 很有用:

  • 服务管理:它提供了一种管理启动服务的简单方法,无需手动创建或删除/etc/rc.d/目录中的符号链接。
  • 运行级别控制:它允许管理员指定哪些服务应在不同的运行级别运行。运行级别是类Unix系统的不同操作模式,例如单用户模式、多用户模式等。
  • 方便:它通过简单的命令来列出、添加或删除自动启动的服务,从而简化了服务管理。

基本 chkconfig 命令

这是我们正在进行的 Linux 命令系列,我们将回顾如何有效地使用 chkconfig 命令及其可用参数。

chkconfig命令工具允许我们通过命令行在/etc/rc.d/init.d脚本中配置服务自动启动和停止。

让我们看看 chkconfig 使用的一些常见命令:

1. 列出所有服务

使用“--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
abrt-oops       0:off   1:off   2:off   3:on    4:off   5:on    6:off
...

2. 查看特定服务的状态

下面的命令显示名为 HTTP 的特定服务的启动配置,该服务在所有运行级别中都关闭

chkconfig --list | grep httpd

httpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off

3. 如何在运行级别启动特定服务

以下`chkconfig`命令演示了如何使用以下命令将HTTP服务配置为仅在运行级别35上启动`--level` 参数。

第一个命令在运行级别 35 上启动“httpd”服务,而第二个命令检查“httpd”的状态` 在这些运行级别上运行的服务。

chkconfig --level 35 httpd on
chkconfig --list | grep httpd

示例输出

httpd           0:off   1:off   2:off   3:on    4:off   5:on    6:off

4. 如何查看哪些服务已开启/关闭

以下命令将显示特定运行级别5开启关闭的所有服务。

chkconfig --list | grep 5:on

示例输出

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
abrt-oops       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
...
chkconfig --list | grep 5:off

示例输出

dnsmasq         0:off   1:off   2:off   3:off   4:off   5:off   6:off
dovecot         0:off   1:off   2:off   3:off   4:off   5:off   6:off
firstboot       0:off   1:off   2:off   3:off   4:off   5:off   6:off
kdump           0:off   1:off   2:off   3:off   4:off   5:off   6:off
mysqld          0:off   1:off   2:off   3:off   4:off   5:off   6:off
netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
nfs             0:off   1:off   2:off   3:off   4:off   5:off   6:off
...

5. 如何在运行级别停止特定服务

以下命令将为单个运行级别关闭名为postfix的服务。同样,我们可以一次性在多个运行级别中关闭特定服务,如下所示。

chkconfig --level 3 postfix off
chkconfig --level 2345 postfix off

6. 如何启用或禁用服务

使服务在启动时自动启动。

chkconfig servicename on

禁止服务在启动时自动启动。

chkconfig servicename off

切换到 systemctl 命令

随着 Linux 系统的发展,init 系统(由 chkconfig 使用)被 systemd 取代,systemd 是 Linux 操作系统的现代系统和服务管理器。

它提供了更多的功能和更好的性能。通过此更改,chkconfig 已被弃用,并由 systemctl 取代。

为什么使用systemctl?

systemctl是用于控制systemd系统和服务管理器的命令行工具。它提供了一种更强大、更灵活的服务管理方式。

以下是一些主要优势:

  • 统一接口:它提供了一个命令来管理系统服务和运行级别(现在在 systemd 中称为目标)。
  • 增强性能:systemd 并行启动服务,缩短启动时间。
  • 更多功能:它支持服务依赖项、按需服务启动等现代功能。

基本 systemctl 命令

让我们看看如何使用 systemctl 执行与 chkconfig 类似的任务:

如何列出活动服务

此命令通过提供有关每个服务的状态和属性的更多信息来列出系统上 systemd 管理的所有活动服务。

systemctl list-units --type=service

如何启用或禁用服务

使服务在启动时自动启动。

systemctl enable servicename

禁止服务在启动时自动启动。

systemctl disable servicename

如何启动、停止和重新启动服务

立即启动服务。

systemctl start servicename

立即停止服务。

systemctl stop servicename

立即重新启动服务。

systemctl restart servicename

如何检查服务状态

检查服务的状态。

systemctl status servicename
结论

虽然 chkconfig 是管理旧版 Linux 发行版中服务的宝贵工具,但向 systemdsystemctl 命令的过渡在以下方面带来了许多改进:功能和性能。

了解如何使用 systemctl 对于现代 Linux 管理至关重要。命令可能有所不同,但它们提供了更多的控制以及与整个系统更好的集成。

如果您熟悉 chkconfig,学习 systemctl 将帮助您在当今的 Linux 环境中更有效地管理服务。


2

站心网

chkconfig 是类 Unix 操作系统中使用的命令行实用程序,用于管理系统启动时自动启动哪些服务。chkconfig 工..

为您推荐

如何选择更适合你的 Linux 发行版?

很多人经常会问我这样一个问题:“嘿,你是用Linux的,对吧?我应该使用Linux的哪个版本?我有这个朋友推荐我_____,你觉得怎么样?”我通常会以这样的问题回复:这取决于你想做什么?今天我决定写一篇关于如何选择L..

7大Git实用技巧和命令总结

Git 是一个非常强大的工具,它包含丰富的工具用以维护项目。本文介绍了一些 Git 日常使用过程中的实用技巧和命令,希望这些内容能够对大家有所帮助。Git diff通常情况下,我们会在自己的独立分支中完成需求开发,此..

VS创建.NET Core项目使用Docker方式部署到Linux服务器

在 Visual Studio(VS) 中,使用 Docker 方式部署 .NET Core 项目 到 Linux 服务器,可以简化环境管理并提高部署效率。以下是完整教程:1. 在 VS 创建 .NET Core 项目并启用 Docker新建 ASP.NET Core 项目打开 Visu..

Git 常用命令总结

基础命令初始化一个Git仓库:git init添加到暂存区:git add <file>提交到本地仓库:git commit -m <message>仓库版本号切换:git reset --hard commit_id查看提交历史:git log查看历史命令:git reflog丢弃工作区..

Git 常用命令

仓库# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码库$ git init [project-name]# 下载一个项目和它的整个代码历史$ git clone [url]配置# 显示当前的Git配置$ git config --list# 编..

CentOS7部署发布.NET Core网站Ngnix安装配置图文教程

Linux服务器部署.NET Core网站运行速度更快,最近打算把原来windows server上的网站迁到linux的云服务器上。 顺便记录一下CentOS7安装.NET运行环境,安装和配置Ngnix的过程。首先安装.NET运行时sudorpm-Uvhhttps://p..

Kubernetes(k8s) Linux安装和配置

什么是Kubernetes(k8s)?Kubernetes(通常称为"k8s")是一种用于自动部署、扩展和管理容器化应用程序的开源平台。它提供了一个容器编排和管理系统,可以自动化应用程序的部署、管理和缩放,并确保它们的高可用性。在..

.NET Core开发常用命令

在ASP.NET Core开发中,以下是一些常用的命令:dotnet new:创建一个新的项目或项目文件。dotnet new web -n MyWebApp:创建一个新的Web应用程序项目。dotnet new mvc -n MyMvcApp:创建一个新的MVC应用程序项目。do..

删除文件和文件夹的cmd命令

cmd命令删除空文件夹 rd /s/q "D:\Program Files\afish"cmd命令删除里面的文件 del /a/f/q "D:\Program Files\afish\123.txt" 注意:路径带空格,加引号 介绍几个命令: dir 显示目录和文件 cd 进入目录 del 删除文..

Linux下RabbitMQ安装和.NET Core使用RabbitMQ.Client操作

RabbitMQ简介AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反..

Linux sed命令关键字匹配文件中整行的任意字符然后替换整行

Linux sed命令关键字匹配文件中整行的任意字符然后替换整行语法:sed -i s/.*要匹配的字串符.*/待替换的字串符/ test.txt例如,文件中内容如下:aabbccddbbccdd要将包含bb的行替换为www,使用如下命令:sed -i s/.*b..

linux的Shell脚本中如何判断某个命令是否存在

我们在写shell脚本时,有时候需要根据某个命令是否存在来决定是否执行某些操作,可以有两种方法来判断命令是否存在,参考代码如下:判断linux命令是否存在,方法1:#!/bin/bashif which mycmd /dev/null 21; thenech..

Linux中date命令如何格式化输出需要的时间格式

linux中date命令,可以输出各种格式的时间,有时候在shell脚本中需要获取一定格式的时间字符串,直接使用date命令格式化时间输出就可以完成。date命令的help如下:ferris@ferris-pc:~$ date --help用法:date [选项]..

使用Docker Wine Qemu KVM在Linux运行Windows应用

Docker、Wine、Qemu和KVM都是在Linux上运行Windows程序的工具,但它们的实现方式和使用场景有所不同。Docker是一个容器化技术,它可以在Linux系统中创建和运行容器,这些容器可以包含Windows程序和其所需的依赖项。D..

Debian Linux国内常用镜像源

随着Debian Buster 10.3的发布,Debian Buster 日趋稳定。如果在生产上使用了 Debian 9 的系统,现在是可以安全的,灰度升级到 Debian Buster 做前期验证了。这里我们整理一下国内较知名的镜像站点,供大家在生产环..

CentOS7安装unzip解压工具命令使用方法

CentOS7可以通过yum命令安装支持zip的工具unzip,下面是安装和使用的方法。安装unzip工具yuminstall-yunzipzip使用unzip命令解压zip文件#解压到当前目录下unziptest.zip#使用-d参数解压到指定目录下unzip-d/filestes..

Linux使用Docker部署.NET6网站图文教程

本文主要实践在Linux使用Docker部署.NET Core网站。服务器使用的是CentOS7.9版本。我们使用Visual Studio2022创建.NET Core网站并生成Dockerfile文件,然后上传到Linux服务器并使用Docker部署网站。创建网站并生成Do..

Linux为网站配置SSL证书实现https访问

在Linux系统上配置证书,实现https访问,一般需要以下几个步骤:获取证书要启用https,需要在服务器上安装SSL/TLS证书。您可以从商业证书颁发机构(CA)购买证书,或使用免费的Let's Encrypt证书。可以使用certb..

Linux中通过命令连接指定WiFi

前言在Linux中,尤其是在没有GUI界面的Linux系统中,需要连接WiFi时只能通过命令来完成,大致过程如下:安装软件连接WiFi需要用到iw,wpa_supplicant和net-tools中的一些工具,一些嵌入型Linux中可能已经在生成系统..

javascript使用正则RegExp匹配到的值replace替换

有这么一个需求,有一个文档列表,我通过输入关键字筛选出查找的文档。constregex=newRegExp(value,"gi");letnewList=articles.filter((x)=>{returnx.title.match(regex);});接着我希望将匹配的关键字通过样式设置问..

发表回复

返回顶部