信创操作系统--麒麟Kylin桌面操作系统 (项目十二 使用Systemd管理系统服务)
信創操作系統–麒麟Kylin桌面操作系統 (項目十二 使用Systemd管理系統服務)
目錄
- 1. 使用Systemd管理系統服務
- 1.1 Systemd概述
- 1.2 服務管理
- 1.3 電源管理
- 1.4 日志管理
- 1.5 主機信息管理
- 1.6 系統語言管理
- 1.7 時間管理
- 1.8 登錄管理
- 2. 系統錯誤排查
- 2.1 使用journalctl查看內核和應用錯誤
- 2.2 查看系統日志和內核日志
- 2.3 查看桌面日志
- 2.4 查看串口日志
1. 使用Systemd管理系統服務
Systemd 是操作系統的管家,通過它可以快捷、方便的管理系統的各項功能。
1.1 Systemd概述
Systemd 是Linux 操作系統中最基礎的組成部分,作為操作系統的第一個用戶進程(PID1)運行并啟動操作系統的其余部分,其主要作用是進行操作系統和服務管理。
Systemd 具有并行啟動系統服務的功能,使用套接字和 D-Bus 激活來啟動服務,按需啟動、守護程序,使用 Linux 控制組限院講程,維護安裝和自動掛載點,以及實現精心設計的基于事務依賴關系的服務控制邏輯。
Systemd 支持 SysV 和 LSB 初始化腳本,并替代 SysVinit。Systemd 的其他功能包括日志記錄守護程序,用于控制基本系統配置,如主機名、日期、區域設置、已登錄用戶和正在運行的容器、虛擬機的列表、系統賬戶、運行時目錄和設置等,也可用于管理簡單網絡的守護程序配置,如網絡事件的同步,日志轉發以及名稱解析等。
雖然 Systemd 功能較強大,管理范圍較寬廣,但它的核心只有一個/bin/systemd。Linux 內核啟動后,它作為第一個被執行的用戶進程,起到了承上啟下的作用。當某個進程占用太多系統資源時,systemd 有權執行 OOM 機制來殺死該進程,即徹底結束該進程,以此保護整個系統不會因資源耗盡而崩潰。
1.2 服務管理
Systemd 最重要的功能就是對系統的服務管理,服務進程的啟動、重啟等都時由它控制的。如在準備搭建一個網站前,需在終端執行sudo apt install nginx命令安裝 Nginx(Web服務器),然后就可以用如下所示的命令來管理 Nginx 服務器。
啟動服務:sudo systectl start nginx.sercive
停止服務:sudo systectl stop niginx.service
重啟服務:sudo systectl restart niginx.service
查看服務:sudo systemctl status nginx.service
開機啟動服務:sudo systemctl enable nginx.service
禁止開機啟動服務:sudo systemctl disable nginx.service
1.3 電源管理
在終端中執行如下命令可對計算機的電源進行管理。
重啟:sudo systemctl reboot
關機:sudo systemctl poweroff
待機:sudo systemctl suspend
休眠:sudo systemctl hibernate
1.4 日志管理
(1)Systemd可以使用journalctl命令管理日志。
(2)執行命令sudo journalctl可查看所有日志,如圖1-1所示。
(3)執行命令sudo journalctl -p err可查看所有日志,并篩選出錯誤相關的日志,如圖1-2所示。
除了err,還可以替換為其他的參數來查看所有日志,并篩選出錯誤相關的日志,可選參數有0:emerg、1:alert、2:crit、3:err、4:warning、5:notice、6:info或7:debug。
其中數字代表級別,級別越高越詳細。在使用err查看日志時也可以使用3來代替err,其效果是一樣的。
(4)執行命令sudo journalctl -b,可查看本次開機到查看日志時的日志,如圖1-3所示。
(5)執行命令sudo journalctl -b -l,可查看上一次開機到關機的日志。
(6)上述參數還可以組合使用,如執行命令sudo journalctl -b -l -k -p err可查看上一次開機到關機的日志,并篩選出內核出錯的日志。
(7)還可以查看自某個時間點以來的日志,如執行命令sudo journalctl –since “2021-09-19 12:00”,即可查看自該時間點到查看日志時的日志。
(8)執行命令sudo journalctl –since “2021-09-18 12:00” - -until ”2021-09-19 12:30”,可查看指定時間段的日志。
(9)除了查看指定時間段的日志外還可以查看指定服務的日志,如查看Nginx服務的日志,執行命令sudo journalctl -u nginx即可。
(10)查看完日志后可執行命令sudo journalctl > ~/rizhi.txt,導出所有日志為rizhi.txt并保存到磁盤上。
(11)如果發現只能顯示本次啟動的日志,而不能顯示上次啟動的的日志,可能時因為日志沒有存儲在磁盤上,可執行如下命令來開啟的磁盤存儲功能。
sudo mkdir /var/log/journal sudo chown root:system-journal /var/log/journal sudo chmod 2775 /var/log/journal sudo systemctl restart system-journald.service1.5 主機信息管理
(1)執行命令homenamectl可查詢主機信息,如圖1-4所示。
(2)執行命令sudo hostnamectl set-hostname UOS可設置主機名稱,在執行命令bash刷新主機名稱,如圖1-5所示。
1.6 系統語言管理
(1)執行命令localectl可查詢系統語言設置,如圖1-6所示。
(2)執行命令sudo localect set-locale LANG=zh_CN.utf8可設置系統語言為中文。
(3)執行命令sudo localectl set-keymap zh_CN可設置系統鍵盤布局為中文。
1.7 時間管理
(1)執行timedatectl 可查看系統時區,如圖1-7所示。
(2)執行命令timedatectl list-timezone可顯示所有可用時區。
(3)執行命令sudo timedatectl set-ntp false可關閉網絡同步時間服務。
(4)執行命令sudo timedatectl set-timezone America/New_York可設置系統時區。
(5)當需要手動更改系統本地時間時,需要先手動關閉同步時間服務。
1.8 登錄管理
(1)當某個用戶登錄操作系統后,Systemd 會在內存開辟一塊區域,叫作 session 里面存放著這個用戶登錄后運行的進程。當用戶注銷后session會被刪除,內存會被回收。
(2)執行命令loginctl list-sessions列出當前session,如圖1-8所示。
(3)systemd 允許同一用戶在不同終端同時登錄,但每次登錄都會生成新的 session,一個 session 的崩潰或者注銷不會影響到另一個 session,session 之間有一定的隔離性。
(4)執行命令loginctl list-users,即可列出當前登錄用戶,如圖1-9所示。
2. 系統錯誤排查
當系統沒能按照預期運行,出現應用程序無響應、卡頓或者崩潰的現象時,可以通過查看系統的各種日志來定位問題所在,然后通過修改代碼或者修改配置等方式來解決。
2.1 使用journalctl查看內核和應用錯誤
在終端中執行命令sudo journalctl,然后輸入斜杠【/】進入搜索模式。
輸入關鍵詞查找內核和應用錯誤的詳細信息,并按【Enter】鍵進行搜索。按【PageUp】鍵和【PageDown】鍵進行翻頁,或按【N】鍵搜索下一個匹配。
2.2 查看系統日志和內核日志
在 system-journal 之前,Linux系統上一般是使用 rsyslog 來記錄系統日志和內核日志。日志一般放在 /var/log/message 目錄下,可以使用 cat、less 或 tail 去讀取日志。
執行命令sudo less /var/log/messages可查看所有日志。
執行命令sudo less /var/log/syslog可查看系統日志。
執行命令sudo less /var/log/kern.log可查看內核日志。
執行命令sudo less /var/log/boot.log可查看啟動日志。
執行命令sudo less /var/log/user.log可查看用戶日志。
2.3 查看桌面日志
在系統運行的過程中,有時會遇到桌面崩潰、進程退出、桌面黑屏等情況,可以執行命令sudo less /var/log/Xorg.0.log查看桌面日志來定位問題。
2.4 查看串口日志
有些問題,如磁盤損壞、內核崩潰、固件問題等,通過上文的方式均無法定位問題,需要以更加底層的方式去獲取日志,此時就需要通過串口去獲取固件、內核以及操作系統的日志。
制作成員: 鄭偉欽
排版: 裕新
初審: 梁漢榮
復審: 二月二
點擊下方“正月十六工作室”查看更多學習資源
正月十六工作室
總結
以上是生活随笔為你收集整理的信创操作系统--麒麟Kylin桌面操作系统 (项目十二 使用Systemd管理系统服务)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 武汉mysql ocp考点_MySQL
- 下一篇: erdas叠加显示_ERDAS影像融合