信创操作系统--统信UOS桌面版(使用Systemd管理系统服务)
信創操作系統–統信UOS桌面版(使用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、使用coredumpctl查看應用崩潰錯誤
- 2.3、查看系統日志和內核日志
- 2.4、查看桌面日志
- 2.5、查看串口日志
前言
安全中心是統信UOS預裝的安全輔助應用,主要包括系統體檢、病毒查殺、防火墻、自啟動管理以及系統安全等功能,可以全面提升系統的安全性。
1、使用Systemd管理系統服務
system是操作系統的管家,通過它可以快捷、方便的管理系統的各項功能。
1.1、systemd概述
Systemd是 Linux操作系統中最基礎的組成部分,作為操作系統的第一個用戶進程(PID1)運行并啟動操作系統的其余部分,其主要作用是進行操作系統和服務管理。
Systemd 具有并行啟動系統服務的功能,使用套接字和D-Bus激活來啟動服務,按需啟動、守護程序,使用Linux cgroups跟蹤進程,維護安裝和自動掛載點,以及實現精心設計的基于事務依賴關系的服務控制邏輯。
Systemd支持SysV和LSB 初始化腳本,并替代SysVinit。Systemd 的其他功能包括日志記錄守護程序,用于控制基本系統配置,如主機名、日期、區域設置、已登錄用戶和正在運行的容器、虛擬機的列表、系統賬戶、運行時目錄和設置等,也可用于管理簡單網絡的守護程序配置,如網絡事件的同步,日志轉發以及名稱解析等
雖然systemd功能較強大,管理范圍較寬廣,但它的核心只有一個/bin/systemd。Linux內核啟動后,它作為第一個被執行的用戶進程,起到了承上啟下的作用。當某個進程占用太多系統資源時,systemd有權執行(MOO killer)機制來殺死該進程,即徹底結束該進程,以此保護整個系統不會因資源耗盡而崩潰。
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、日志管理
執行命令sudo journalctl可查看所有日志,如圖1-1所示。
還可以查看自某個時間點以來的日志,如執行命令sudo journalctl –since “2021-09-19 12:00”,即可查看自該時間點到查看日志時的日志;
查看完日志后可執行命令sudo journalctl > ~/rizhi.txt,重定向日志到根目錄下的rizhi.txt中。
sudo mkdir /var/log/journal
sudo chown root:system-journal /var/log/journal
sudo chmod 2775 /var/log/journal
sudo systemctl restart system-journald.service
1.5、主機信息管理
1.6、系統語言管理
執行命令localectl可查詢系統語言設置,如圖1-6所示。
圖1-6系統語言設置執行命令sudo localect set-locale LANG=zh_CN.utf8可設置系統語言為中文;
執行命令sudo localectl set-keymap zh_CN可設置系統鍵盤布局為中文。
1.7、時間管理
執行timedatectl 可查看系統時區,如圖1-7所示。
圖1-7 系統時區執行命令timedatectl list-timezone,可顯示所有可用時區;
執行命令sudo timedatectl set-ntp false,可關閉網絡同步時間服務;
執行命令sudo timedatectl set-timezone America/New_York,可設置系統時區。
當需要手動更改系統本地時間時,需要先手動關閉同步時間服務。
1.8、登錄管理
當某個用戶登錄操作系統后,systemd 會在內存開辟一塊區域,叫作session,里面存放著這個用戶登錄后運行的進程。當用戶注銷后,session會被刪除,內存會被回收。
執行命令loginctl list-sessions,列出當前session,如圖1-8所示。
systemd允許同一用戶在不同終端同時登錄,但每次登錄都會生成新的session,一個session的崩潰或者注銷不會影響到另一個session,session之間有一定的隔離性。
執行命令loginctl list-users,即可列出當前登錄用戶,如圖1-9所示。
2、系統錯誤排查
當系統沒能按照預期運行,出現應用程序無響應、卡頓或者崩潰的現象時,可以通過查看系統的各種日志來定位問題所在,然后通過修改代碼或者修改配置等方式來解決。
2.1、使用journalctl查看內核和應用錯誤
在終端中執行命令sudo journalctl,然后輸入斜杠【/】進入搜索模式;
輸入關鍵詞查找內核和應用錯誤的詳細信息,并按【Enter】鍵進行搜索。按【PageUp】鍵和【PageDown】鍵進行翻頁,或按【N】鍵搜索下一個匹配。
2.2、使用coredumpctl查看應用崩潰錯誤
在終端中執行命今sudo apt install systemd-coredump安裝systemd-coredump工具。當程序崩潰時,可能會產生core文件(一般用來調試代碼bug),然后被systemd-coredump工具捕獲,這樣可以很方便地使用coredumpctl命令查看應用崩潰的信息。
執行命令sudo coredumpctl list可查看崩潰的進程列表,其中包含崩潰進程的PID值(進程ID,各進程的身份標識),如圖1-10所示。
執行命令sudo coredumpctl info 796,可查看某個崩潰進程的詳細信息,其中796值得是該進崩潰進程的PID值,如圖1-11所示。
圖1-11 查看某個崩潰進程的詳細信息想進一步了解崩潰原因,可以進行調試。在終端中執行命令sudo coredumpctl debug 10914,系統默認調用GDB進行調試,可以使用bt命令查看堆棧信息,確定應用崩潰的原因,如圖1-12所示。
圖1-12 確定應用崩潰的原因2.3、查看系統日志和內核日志
在 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.4、查看桌面日志
在系統運行的過程中,有時會遇到桌面崩潰、進程退出、桌面黑屏等情況,可以執行命令sudo less /var/log/Xorg.0.log查看桌面日志來定位問題。
2.5、查看串口日志
有些問題,如磁盤損壞、內核崩潰、固件問題等,通過上文的方式均無法定位問題,需要以更加底層的方式去獲取日志,此時就需要通過串口去獲取固件、內核以及操作系統的日志。
制作成員: 鄭偉欽
排版: 梁漢榮
初審: 蔡君賢
復審: 二月二
點擊下方“正月十六工作室”查看更多學習資源
正月十六工作室
總結
以上是生活随笔為你收集整理的信创操作系统--统信UOS桌面版(使用Systemd管理系统服务)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文翻译《Salient object
- 下一篇: 让一个i标签内的伪元素小图标垂直居中对齐