自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

系統(tǒng)管理員喜歡 Systemd 的五個理由

系統(tǒng) Linux
對于忙碌的系統(tǒng)管理員和許多用戶來說,systemd 的速度和易用性是一個重要的特性。有以下的五個原因。

系統(tǒng)管理員知道,在一臺運行著的現(xiàn)代計算機上會發(fā)生很多事情:應(yīng)用程序在后臺運行、預(yù)定事件等待在特定時間被觸發(fā)、事件寫入日志文件、發(fā)送狀態(tài)報告。在以前,不同的進程可以通過一系列 Unix 工具,來進行有效地管理和監(jiān)控。然而,現(xiàn)代的計算機運作更為復(fù)雜了:本地服務(wù)與容器化應(yīng)用程序一同運行、能夠輕松訪問云及其運行的集群、實時進程、以及有比以往都多的數(shù)據(jù)。

擁有統(tǒng)一的管理方法不但是用戶想要的,也是忙碌的系統(tǒng)管理員所迫切渴望的。為了完成這項重要的任務(wù),系統(tǒng)守護進程 (systemd) 被開發(fā)出來,并迅速被所有主要的 Linux 發(fā)行版所采用了。

當然,systemd 并不是管理 Linux 系統(tǒng)的唯一方式,還有許多其他可供選擇的初始化系統(tǒng),包括 sysvinit、OpenRC、runit、s6 和 BusyBox,但 systemd 將 Linux 視為一個統(tǒng)一的數(shù)據(jù)集,意味著 systemd 能用強大的工具對 Linux 進行一致的操作和查詢。對于忙碌的系統(tǒng)管理員和許多用戶來說,systemd 的速度和易用性是一個重要的特性。有以下的五個原因。

啟動管理

啟動 Linux 計算機可能是一件非常罕見的事情。服務(wù)器的正常運行時間通常以 年 來計算,而不是月或周。筆記本電腦和臺式機可能會頻繁地關(guān)閉和啟動,但更多的時候它們是被掛起或休眠了。無論哪種類型,最近一次開機的時刻都可用于檢查一段時間內(nèi)的計算機健康情況,因為當你在監(jiān)視系統(tǒng)或診斷問題時,這一時刻能夠限制查看的數(shù)據(jù)量大小,從而讓你快速地找到問題所在。

如果你不記得上次啟動計算機的時間,你可以使用 systemd 的日志記錄工具 journalctl,來列出計算機的所有啟動會話:

$ journalctl --list-boots
-42 7fe7c3... Fri 2020-12-04 05:13:59 - Wed 2020-12-16 16:01:23
-41 332e99... Wed 2020-12-16 20:07:39 - Fri 2020-12-18 22:08:13
[...]
-1 e0fe5f... Mon 2021-03-29 20:47:46 - Mon 2021-03-29 21:59:29
0 37fbe4... Tue 2021-03-30 04:46:13 - Tue 2021-03-30 10:42:08

最近一次啟動會話輸出在結(jié)果列表的底部,因此你可以通過管道將輸出傳輸?shù)?nbsp;tail,來查看最近一次啟動會話。

左側(cè)的數(shù)字(在本例中為 42、41、1 和 0)是每個啟動會話的索引號。換句話說,如果你要查看某一特定啟動會話的日志,你可以使用這個索引號作為參數(shù)。

日志檢查

查看日志是推斷系統(tǒng)信息的一種重要方法。日志提供了計算機運行的大部分事件的歷史記錄,這些記錄都是在沒有你直接監(jiān)督的情況下生成的。通過日志,你可以知道某一服務(wù)何時啟動、定時任務(wù)何時運行、哪些服務(wù)在后臺運行、哪些事件運行失敗等等信息。故障排除的初始步驟是使用 systemd 的 journalctl 來查看日志:

$ journalctl --pager-end

--pager-end? 選項(簡寫為 -e?)會從 journalctl 的輸出末尾開始查看日志,因此要查看更早發(fā)生的日志,你需要向上滾動。

systemd 維護一個錯誤信息的“目錄”,錯誤信息包含錯誤記錄、可能的解決方案、支持論壇的鏈接和開發(fā)人員文檔。這個錯誤信息的“目錄”能為日志事件提供重要的上下文,否則它可能會成為海量日志中的一個令人困惑的信息,或者更糟的是,錯誤信息可能會完全被忽視。要將錯誤消息與日志中的解釋性文本放在一起輸出,你可以使用 --catalog? 選項(簡寫為 -x):

$ journalctl --pager-end --catalog

要進一步限定日志輸出,你可以指定要查看哪個啟動會話的日志。因為每個啟動會話都有索引,所以你可以使用 --boot 選項,來指定某個啟動會話,并僅查看該啟動會話的日志:

$ journalctl --pager-end --catalog --boot 42

你還可以查看特定 systemd 單元的日志。例如,要解決 SSH 服務(wù)的問題,你可以指定 --unit sshd? 選項,來僅查看適用于 sshd 守護程序的日志:

$ journalctl --pager-end \
--catalog --boot 42 \
--unit sshd

服務(wù)管理

systemd 的第一個任務(wù)就是啟動你的計算機,systemd 會迅速、高效且有效地執(zhí)行這一任務(wù)。但 systemd 一直需要管理的任務(wù)是服務(wù)管理,因為 systemd 需要確保你要運行的服務(wù)確實在你的會話期間啟動,并繼續(xù)運行。systemd 的這一功能非常穩(wěn)健,因為理論上即使是一個崩潰的服務(wù)也可以在沒有你干預(yù)的情況下重新啟動。

你可以通過使用 systemctl 命令來讓 systemd 管理服務(wù),并能查看定義服務(wù)的 單元文件:

$ systemctl cat sshd
# /usr/lib/systemd/system/sshd.service
[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.target
Wants=sshd-keygen.target
[Service]
Type=notify
EnvironmentFile=-/etc/crypto-policies/back-ends/opensshserver.config
EnvironmentFile=-/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd -D $OPTIONS $CRYPTO_POLICY
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target

大多數(shù)單元文件都在 /usr/lib/systemd/system/ 目錄下,但是你也可以用局部更改來修改配置,請使用以下的方式:

$ systemctl edit sshd

你可以通過 is-active 選項,來查看某一服務(wù)當前是否處于活動狀態(tài):

$ systemctl is-active sshd
active
$ systemctl is-active foo
inactive

同樣地,你可以通過 is-failed 選項,來查看某一服務(wù)是否運行失敗了。

$ systemctl is-failed sshd

使用以下命令,來啟動或者停止某一服務(wù):

$ systemctl stop sshd
$ systemctl start sshd

使用以下命令,讓某一服務(wù)在開機時自啟動:

$ systemctl enable sshd

添加 --now 選項,讓某一服務(wù)在開機時啟動并在當前會話中立即啟動。

定時器管理

在以前,當你想在 Linux 上自動執(zhí)行一項任務(wù)時,你可以使用的工具是 cron?。如今,cron? 命令仍能使用,但對于在 Linux 上自動執(zhí)行一項任務(wù),也有一些其他好用的替代方案。例如,anacron 命令? 是一個多功能的、類似于 cron 的系統(tǒng),它能夠運行在停機期間可能會錯過的任務(wù)。

計劃的事件就是在特定時間需要激活的服務(wù)。systemd 管理一個名為 定時器 的工具,它類似 cron 的功能。你可以使用以下命令,來列出活動中的定時器:

$ systemctl list-timers
NEXT LEFT
Tue 2021-03-30 12:37:54 NZDT 16min left [...]
Wed 2021-03-31 00:00:00 NZDT 11h left [...]
Wed 2021-03-31 06:42:02 NZDT 18h left [...]
3 timers listed.
Pass --all to see loaded but inactive timers, too.

你可以使用以下命令,來像啟用服務(wù)一樣啟用定時器:

$ systemctl enable myMonitor.timer

目標管理

目標target 是 systemd 的最后一個主要組成部分。像服務(wù)和定時器一樣,目標也是一個單元文件,也可以以相同的方式啟動和啟用。目標的獨特之處在于它們可以將其他單元文件任意分組。例如,你可能希望開機啟動到文本控制臺界面而不是圖形桌面,因此有一個 multi-user? 目標。但是,multi-user? 目標只是沒有包括桌面單元文件的 graphical 目標。

簡而言之,目標是一種將服務(wù)、定時器甚至其他的目標集合在一起,以表示機器的預(yù)期狀態(tài)的簡單方法。

事實上,在 systemd 中,重啟、關(guān)機或關(guān)閉操作只是一個目標而已。

你可以使用 list-unit-files? 選項,用 --type? 選項將其限制為 target 來列出所有可用的目標:

$ systemctl list-unit-files --type target

使用 systemd 對計算機進行控制管理

現(xiàn)代的 Linux 使用 systemd 進行服務(wù)管理和日志檢查。從個人的 Linux 系統(tǒng)到企業(yè)服務(wù)器,systemd 都能提供有效的監(jiān)控,并且十分易于維護。你越頻繁地使用 systemd,systemd 對你而言就會變得越容易預(yù)測和直觀,你就會明白系統(tǒng)的不同部分是如何相互關(guān)聯(lián)的。

為了更好地熟悉 systemd,請現(xiàn)在就開始使用它吧。請 ??下載關(guān)于 systemd 相關(guān)命令的備忘錄??,你可以在實際使用 systemd 中經(jīng)常參考這個備忘錄,這樣你就能更快熟悉使用 systemd 啦!


責(zé)任編輯:趙寧寧 來源: Linux中國
相關(guān)推薦

2015-11-27 10:18:36

Linux系統(tǒng)管理員systemd

2014-02-11 09:53:11

2013-03-30 21:59:13

系統(tǒng)管理員必備工具iftop

2018-10-10 10:37:03

2020-07-10 07:54:42

系統(tǒng)管理員技能

2018-08-01 08:12:34

Linux管理員網(wǎng)絡(luò)管理

2010-04-12 09:33:58

系統(tǒng)管理員

2018-08-15 14:00:18

LinuxBash系統(tǒng)管理員

2013-06-26 09:29:30

系統(tǒng)管理員

2013-09-29 09:50:21

系統(tǒng)管理員Ubuntu JujuJuju

2022-02-05 08:27:51

系統(tǒng)管理員系統(tǒng)運維

2010-08-10 09:13:52

Unix系統(tǒng)管理員Ubuntu

2010-05-06 18:07:33

Unix命令

2010-08-11 17:11:15

2019-09-09 14:45:29

系統(tǒng)管理員SRE

2010-05-10 18:28:11

Unix系統(tǒng)

2010-05-07 16:35:44

2019-08-13 19:34:45

容器鏡像DockerLinux

2011-06-16 09:35:28

系統(tǒng)管理員iPad應(yīng)用

2011-10-20 10:29:22

VMwareVMworld虛擬化
點贊
收藏

51CTO技術(shù)棧公眾號