濮阳杆衣贸易有限公司

主頁 > 知識庫 > 使用 chkconfig 和 systemctl 命令啟用或禁用 Linux 服務的方法

使用 chkconfig 和 systemctl 命令啟用或禁用 Linux 服務的方法

熱門標簽:外呼系統(tǒng)的經(jīng)營范圍 申請400電話價格多少 安陽ai電銷機器人軟件 涪陵商都400電話開通辦理 智能電話機器人坐席 外呼系統(tǒng)不彈窗 柳州市機器人外呼系統(tǒng)報價 云會外呼系統(tǒng) 廈門營銷外呼系統(tǒng)平臺

對于 Linux 管理員來說這是一個重要(美妙)的話題,所以每個人都必須知道,并練習怎樣才能更高效的使用它們。

在 Linux 中,無論何時當你安裝任何帶有服務和守護進程的包,系統(tǒng)默認會把這些服務的初始化及 systemd 腳本添加進去,不過此時它們并沒有被啟用。

我們需要手動的開啟或者關閉那些服務。Linux 中有三個著名的且一直在被使用的初始化系統(tǒng)。

什么是初始化系統(tǒng)?

在以 Linux/Unix 為基礎的操作系統(tǒng)上,init (初始化的簡稱) 是內(nèi)核引導系統(tǒng)啟動過程中第一個啟動的進程。

init 的進程 id (pid)是 1,除非系統(tǒng)關機否則它將會一直在后臺運行。

init 首先根據(jù) /etc/inittab 文件決定 Linux 運行的級別,然后根據(jù)運行級別在后臺啟動所有其他進程和應用程序。

BIOS、MBR、GRUB 和內(nèi)核程序在啟動 init 之前就作為 Linux 的引導程序的一部分開始工作了。

下面是 Linux 中可以使用的運行級別(從 0~6 總共七個運行級別):

0:關機
1:單用戶模式
2:多用戶模式(沒有NFS)
3:完全的多用戶模式
4:系統(tǒng)未使用
5:圖形界面模式
6:重啟

下面是 Linux 系統(tǒng)中最常用的三個初始化系統(tǒng):

  • System V(Sys V)
  • Upstart
  • systemd

什么是 System V(Sys V)?

System V(Sys V)是類 Unix 系統(tǒng)第一個也是傳統(tǒng)的初始化系統(tǒng)。init 是內(nèi)核引導系統(tǒng)啟動過程中第一支啟動的程序,它是所有程序的父進程。

大部分 Linux 發(fā)行版最開始使用的是叫作 System V(Sys V)的傳統(tǒng)的初始化系統(tǒng)。在過去的幾年中,已經(jīng)發(fā)布了好幾個初始化系統(tǒng)以解決標準版本中的設計限制,例如:launchd、Service Management Facility、systemd 和 Upstart。

但是 systemd 已經(jīng)被幾個主要的 Linux 發(fā)行版所采用,以取代傳統(tǒng)的 SysV 初始化系統(tǒng)。

什么是 Upstart?

Upstart 是一個基于事件的 /sbin/init 守護進程的替代品,它在系統(tǒng)啟動過程中處理任務和服務的啟動,在系統(tǒng)運行期間監(jiān)視它們,在系統(tǒng)關機的時候關閉它們。

它最初是為 Ubuntu 而設計,但是它也能夠完美的部署在其他所有 Linux系統(tǒng)中,用來代替古老的 System-V。

Upstart 被用于 Ubuntu 從 9.10 到 Ubuntu 14.10 和基于 RHEL 6 的系統(tǒng),之后它被 systemd 取代。

什么是 systemd?

systemd 是一個新的初始化系統(tǒng)和系統(tǒng)管理器,它被用于所有主要的 Linux 發(fā)行版,以取代傳統(tǒng)的 SysV 初始化系統(tǒng)。

systemd 兼容 SysV 和 LSB 初始化腳本。它可以直接替代 SysV 初始化系統(tǒng)。systemd 是被內(nèi)核啟動的第一個程序,它的 PID 是 1。

systemd 是所有程序的父進程,F(xiàn)edora 15 是第一個用 systemd 取代 upstart 的發(fā)行版。systemctl 用于命令行,它是管理 systemd 的守護進程/服務的主要工具,例如:(開啟、重啟、關閉、啟用、禁用、重載和狀態(tài))

systemd 使用 .service 文件而不是 bash 腳本(SysVinit 使用的)。systemd 將所有守護進程添加到 cgroups 中排序,你可以通過瀏覽 /cgroup/systemd 文件查看系統(tǒng)等級。

如何使用 chkconfig 命令啟用或禁用引導服務?

chkconfig 實用程序是一個命令行工具,允許你在指定運行級別下啟動所選服務,以及列出所有可用服務及其當前設置。

此外,它還允許我們從啟動中啟用或禁用服務。前提是你有超級管理員權限(root 或者 sudo)運行這個命令。

所有的服務腳本位于 /etc/rd.d/init.d文件中

如何列出運行級別中所有的服務

--list 參數(shù)會展示所有的服務及其當前狀態(tài)(啟用或禁用服務的運行級別):

# 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
.
.

如何查看指定服務的狀態(tài)

如果你想查看運行級別下某個服務的狀態(tài),你可以使用下面的格式匹配出需要的服務。

比如說我想查看運行級別中 auditd 服務的狀態(tài)

# chkconfig --list| grep auditd
auditd    0:off 1:off 2:on 3:on 4:on 5:on 6:off

如何在指定運行級別中啟用服務

使用 --level 參數(shù)啟用指定運行級別下的某個服務,下面展示如何在運行級別 3 和運行級別 5 下啟用 httpd 服務。

# chkconfig --level 35 httpd on

如何在指定運行級別下禁用服務

同樣使用 --level 參數(shù)禁用指定運行級別下的服務,下面展示的是在運行級別 3 和運行級別 5 中禁用 httpd 服務。

# chkconfig --level 35 httpd off

如何將一個新服務添加到啟動列表中

-–add 參數(shù)允許我們添加任何新的服務到啟動列表中,默認情況下,新添加的服務會在運行級別 2、3、4、5 下自動開啟。

# chkconfig --add nagios

如何從啟動列表中刪除服務

可以使用 --del 參數(shù)從啟動列表中刪除服務,下面展示的是如何從啟動列表中刪除 Nagios 服務。

# chkconfig --del nagios

如何使用 systemctl 命令啟用或禁用開機自啟服務?

systemctl 用于命令行,它是一個用來管理 systemd 的守護進程/服務的基礎工具,例如:(開啟、重啟、關閉、啟用、禁用、重載和狀態(tài))。

所有服務創(chuàng)建的 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.

使用下面的格式通過正則表達式匹配出你想要查看的服務的當前狀態(tài)。下面是使用 systemctl 命令查看 httpd 服務的狀態(tài)。

# systemctl list-unit-files --type=service | grep httpd
httpd.service disabled

如何讓指定的服務開機自啟

使用下面格式的 systemctl 命令啟用一個指定的服務。啟用服務將會創(chuàng)建一個符號鏈接,如下可見:

# 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

如何禁用指定的服務

運行下面的命令禁用服務將會移除你啟用服務時所創(chuàng)建的符號鏈接。

# systemctl disable httpd
Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service.

運行下面的命令再次確認服務是否被禁用。

# systemctl is-enabled httpd
disabled

如何查看系統(tǒng)當前的運行級別

使用 systemctl 命令確認你系統(tǒng)當前的運行級別,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

總結(jié)

以上所述是小編給大家介紹的使用 chkconfig 和 systemctl 命令啟用或禁用 Linux 服務的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

標簽:蕪湖 綏化 撫順 南充 晉城 福州 孝感 巴中

巨人網(wǎng)絡通訊聲明:本文標題《使用 chkconfig 和 systemctl 命令啟用或禁用 Linux 服務的方法》,本文關鍵詞  使用,chkconfig,和,systemctl,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《使用 chkconfig 和 systemctl 命令啟用或禁用 Linux 服務的方法》相關的同類信息!
  • 本頁收集關于使用 chkconfig 和 systemctl 命令啟用或禁用 Linux 服務的方法的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    贵德县| 敦煌市| 巨野县| 济源市| 潢川县| 页游| 昌平区| 灯塔市| 朝阳市| 苗栗县| 桑日县| 老河口市| 陕西省| 环江| 宿迁市| 克山县| 兴宁市| 临洮县| 石城县| 九龙县| 南京市| 汨罗市| 延川县| 漾濞| 和田市| 西藏| 扶余县| 吉林市| 含山县| 黄石市| 湖口县| 惠州市| 新民市| 融水| 泉州市| 嘉义县| 丹阳市| 新蔡县| 秭归县| 三原县| 峨山|