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