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

原本可幸免于難的Linux故障情況如何避免?你也可以搞定

系統(tǒng) Linux
本文總結(jié)操作系統(tǒng)和 Linux 下容易發(fā)生的各種意外損壞情況,以及如何提前檢測和預(yù)防。

上一篇復(fù)盤和總結(jié)了Linux下容易發(fā)生的意外損壞情況、如何提前檢測和預(yù)防的思路。

Linux系統(tǒng)一般在以下方面出現(xiàn)潛在問題而影響正常工作:

  • 硬件故障;
  • 內(nèi)核錯誤;
  • 文件系統(tǒng)損壞;
  • 軟件沖突;
  • 系統(tǒng)更新問題;
  • 惡意軟件;
  • 過度負(fù)載;
  • 配置錯誤。

本文繼續(xù)分析第4-8的問題。

軟件沖突

Linux下的軟件沖突有哪些表現(xiàn)?

軟件沖突1:依賴庫缺失,軟件找不到依賴的函數(shù)

比如很多開發(fā)人員,從源碼編譯方式安裝了一些基礎(chǔ)的類庫到自定義庫路徑下,然后發(fā)現(xiàn)系統(tǒng)和桌面的其他軟件啟動異常。以下是 QT 相關(guān)的軟件啟動失敗的報錯日志:

…… libQt5XcbQpa.so.5: undefined symbol: FT_Property_Set

根據(jù)關(guān)鍵詞搜索得到一大堆結(jié)果,大家往往發(fā)現(xiàn)網(wǎng)上有各種有效、無效的解決辦法,各說一套

對此,我的觀點是,建議Linux的使用者要知其然,知其所以然,要深入理解Linux問題的根源。并從根源上解決,舉一反三在發(fā)生類似問題后,也能自主解決。

比如上面的錯誤日志,如果是新安裝了自己編譯的庫文件到系統(tǒng)目錄后發(fā)生的問題,那么往往跟QT軟件依賴的庫(如libfreetype.so)被替換為不兼容的版本引起的。FT_Property_Set 關(guān)鍵詞,可幫我們確定問題范圍與freetype相關(guān) 也可受到 /etc/ld.so.conf.d/.conf 的文件中的。

可以判斷這個問題不是libfreetype.so庫被刪引起的,因為若是系統(tǒng)庫libfreetype.so被刪,那么Qt的報錯將會類似required libfreetype.so library not found。

如何避免?可通過在局部使用LD_LIBRARY_PATH ,比如在腳本內(nèi)、在命令行前面 以 LD_LIBRARY_PATY=自定義庫的路徑 +命令 的這種方式調(diào)用軟件。就可以避免不同環(huán)境和庫的相互干擾、污染的問題。

采用conda環(huán)境隔離、python的venv 環(huán)境隔離等方式;使用docker 容器環(huán)境運行不同軟件、甚至在virtualbox等虛擬機運行不同軟件;這些方式也可以幫助避免軟件沖突的問題。

安裝時的軟件包沖突2:

比如centos的yum方式安裝軟件包時,提示錯誤嘗過添加"--skip-broken"來跳過無法安裝的軟件包 或'--nobest'來不只使用軟件包的最佳候選)

這類問題往往由于軟件源配置存在多個不同版本的軟件源,需要避免/etc/yum.d/*.repo 文件中存在重復(fù)的不同版本的倉庫:

否則通過yum安裝指定軟件名時,將提示版本沖突。

系統(tǒng)更新問題

Linux系統(tǒng)更新失敗而導(dǎo)致的軟件沖突,一旦發(fā)生,往往是比較嚴(yán)重的問題。所以小編建議,當(dāng)大版本更新前,一定要做好系統(tǒng)配置文件和數(shù)據(jù)文件的異機備份。

一個好消息是,Deepin、Ubuntu等發(fā)行版,對系統(tǒng)升級、內(nèi)核加裝新版本等重大更新,更新后不會替換原始文件,而是在系統(tǒng)啟動時另起一個引導(dǎo)菜單入口,這樣新引導(dǎo)啟動的系統(tǒng)就會是更新后的系統(tǒng);老版本的系統(tǒng)內(nèi)容仍然可在舊的引導(dǎo)入口進入。在新軟件系統(tǒng)發(fā)生異常后,可以進入老系統(tǒng)軟件繼續(xù)使用。

惡意軟件問題

惡意軟件的問題、過度負(fù)載問題,往往運維人員遇到比較多。惡意軟件也是系統(tǒng)過載、網(wǎng)絡(luò)流量異常的元兇。惡意軟件的入侵,除了人為安裝了惡意軟件,還有主動入侵,比如網(wǎng)站代碼漏洞、系統(tǒng)軟件對外服務(wù)漏洞(如nginx或nodejs軟件漏洞)就可以被外界利用,向系統(tǒng)植入惡意軟件。

對此,小編建議,在Linux下,啟用防火墻、關(guān)閉非必要的對外端口、不要使用弱密碼、及時更新已知存在漏洞的軟件到安全的版本、不訪問危險站點、通過容器等隔離工具進行存在風(fēng)險的訪問操作。

配置錯誤

Linux用戶最常遇到的配置錯誤導(dǎo)致的系統(tǒng)問題,往往是添加修改了環(huán)境變量文件,影響了正常變量的訪問效果。

對于Linux系統(tǒng),環(huán)境變量分為系統(tǒng)級別變量、用戶級別變量、腳本范圍內(nèi)的運行時環(huán)境變量。

寫在 /etc/profile 中的 屬于系統(tǒng)級別的全局腳本和環(huán)境變量。寫在 ~/.bashrc 文件里的腳本和環(huán)境變量,將在用戶shell或桌面登錄后生效。而類似 tomcat 的startup.sh 等控制jvm啟動過程的腳本內(nèi)的變量,將只影響腳本范圍內(nèi)的軟件。因此不會影響系統(tǒng)或用戶其他軟件的正常運行。例如 pycharm 的安裝包,內(nèi)涵 pycharm.sh [1],就是一個 .sh 文件,pycharm 的啟動腳本,也是.sh文件,它把pycharm運行所需的庫所在路徑,通過腳本內(nèi)的環(huán)境變量,讓 pycharm 的最終二進制文件感知、從pycharm的當(dāng)前子目錄加載(如./lib/libmy.so)。

寫在 /etc/ld.so.conf.d/xxxx.conf  里的會作用域 整個系統(tǒng)的 LD_LIBRARY_PATH 變量等效的動態(tài)庫文件搜索路徑。

總之,系統(tǒng)級別的配置文件盡量少改動,除非很清楚系統(tǒng)配置文件的內(nèi)容原理。用戶級別的配置文件可以改,修改后多測試。軟件級別的配置文件可以按需改,因為不影響其他用戶。

TIPs:

懂得軟件開發(fā)的朋友們,還可以利用git功能,在修改配置之前,做一下版本管理。以備配置文件錯誤后,及時恢復(fù)。

參考資料:

[1]pycharm 的安裝包,內(nèi)涵 pycharm.sh : https://download.jetbrains.com.cn/python/pycharm-community-2023.2.5.tar.gz

責(zé)任編輯:趙寧寧 來源: 深入理解Linux
相關(guān)推薦

2023-12-19 23:13:28

2017-11-29 14:25:58

物聯(lián)網(wǎng)停機網(wǎng)絡(luò)

2022-01-26 00:20:19

運營商套餐業(yè)務(wù)

2021-10-22 14:38:30

Apache Cass數(shù)據(jù)庫

2012-09-17 10:38:25

Google Fibe

2009-06-21 08:20:53

iPod雷擊

2009-03-30 08:39:01

iphone蘋果移動OS

2011-03-01 09:04:54

Sun前CEOSolarisLinux

2024-10-15 10:32:30

2019-02-14 13:37:35

CPU故障芯片

2020-05-19 11:54:04

腳本語言Linux命令

2018-10-08 09:44:51

無線AP故障

2009-02-19 10:47:03

2017-04-05 15:11:23

vCenter Ser軟件故障

2025-02-05 11:30:00

單點故障MySQL數(shù)據(jù)庫

2015-12-03 14:10:26

systemd容器Linux

2009-05-12 15:24:50

索尼CEO霍華德·斯金格

2021-05-12 09:15:48

Facebook 開發(fā)技術(shù)

2010-08-25 13:46:38

單點故障

2021-04-12 15:51:32

大數(shù)據(jù)數(shù)據(jù)分析技術(shù)
點贊
收藏

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