給新使用者的關於如何不去破壞Arch Linux系統的建議

本頁使用了標題或全文手工轉換
出自 Arch Linux 中文维基

提示:本用戶頁歡迎任何用戶直接的建設性編輯。

原始頁面來自Advice For New Users On Not Breaking Their Debian System - Debian Wiki

Arch Linux是滾動更新的系統。從單獨的時刻上去看,其即使可能會在更新後出現問題,但由於滾動更新,這些問題也可以被快速修復,因而總體上依然穩定可靠。除去上游引入的問題,用戶手上持有的系統最高權限——root權限——也通常是導致系統損壞的導火索。背離通常的操作手段導致系統故障是正常的,因而我們在此處列出常見的導致系統故障的操作,以期幫助大家避免這些問題。不過,若有充分的知識和謹慎的操作,即使出了問題,通常也是可以妥當解決的。

在此之前,需要知道一點的是,來自官方倉庫的軟件包受到官方支持,且來自core倉庫的軟件包更是會先進行嚴格的審核。而在其他系統中,你可能會從各個網站下載安裝包,但無論在哪個系統上,這通常都伴隨風險。在Arch Linux上,還有很多第三方軟件的安裝腳本來自Arch Linux用戶軟件倉庫(簡稱AUR)。這些腳本相較於用戶手動使用命令編譯安裝來說,可以讓通過腳本安裝的軟件受到本系統的包管理軟件,pacman管理,這可以極大的減小自行安裝與包管理衝突的風險,但這些腳本亦可能包含惡意代碼(這曾經發生過,雖然不常見)。因此,請儘量選用來自官方倉庫的軟件包,並在使用來自AUR的安裝腳本前對它們做仔細檢查(比如檢查包含的網址,可能包含的破壞性命令等)。

中文用戶可能會選用來自非官方用戶倉庫[archlinuxcn]的軟件包。同樣,你也應該謹慎選用這些軟件包,在非官方軟件包出問題時也請向相應的人員報告問題。

現在,讓我們開始吧。

不要混用測試倉庫[編輯 | 編輯原始碼]

如果你使用桌面環境,你有可能想提前嘗試測試版本的桌面環境,比如KDE和GNOME,並相應啟用gnome-unstablekde-unstable。需要注意的是,這些倉庫需要同時與測試倉庫,也就是testing倉庫和community-testing同時啟用(如果有啟用更多的官方倉庫也要啟用相應的測試倉庫),否則可能導致部分升級,簡單來說就是新舊軟件包不兼容的情況。要提前嘗試,就都要提前嘗試。一旦產生錯誤,則必須儘快解決問題。

通常,只要pacman可以運行,完整地啟用測試倉庫後,進行 pacman -Syu 就能修復這些問題。

不要「下載」顯卡驅動[編輯 | 編輯原始碼]

顯卡製造商的官網可能會提供顯卡驅動的安裝腳本,但是也請用來自軟件倉庫的驅動軟件包。Arch Linux的軟件倉庫已經(基本上)提供了這些驅動,並且可以伴隨Linux內核升級而升級,這比單獨的安裝腳本要可靠和安全得多。

即使是臭名昭著的NVIDIA,近年來的表現也在逐漸穩定。請參考NVIDIAAMDIntel獲取更多信息。本wiki同時提供其他軟件在Arch Linux上的使用說明,其中也可能包含相關軟件在與特定顯卡配合使用時需要單獨採取的措施。

小心make install和其他類似命令[編輯 | 編輯原始碼]

pacman包管理通過統一的方式管理系統軟件及其文件,但make installninja install等安裝的文件不受pacman管理,且可能與pacman管理的文件相衝突。同樣,如果需要卸載由這些命令安裝的文件,也需要花費一番功夫。

同樣,直接運行這些命令會需要你自行管理這些軟件的升級等,事實上十分不便。來自AUR的安裝腳本實際上採用與軟件倉庫打包相一致的過程,因而這樣安裝的軟件受到pacman管理。在了解相應風險後,您也可以使用AUR 助手幫助你升級來自AUR的軟件包。如果AUR也實在沒有,也可以考慮自己創建軟件包(當然這並不輕鬆),讓pacman管理。還有一些常見的類似建議列在下方。

不要直接pip install[編輯 | 編輯原始碼]

Python有相當多的庫並不在Arch倉庫內,使用pip install是個不錯的折衷辦法。但是,請一定在venv(或類似環境)中運行。如果你sudo pip install,那麼你安裝的文件會與pacman管理的文件「打架」。然而,即使使用pip install安裝到~/.local下,也可能安裝了與系統軟件重複的庫,但因為疏於更新而落後於系統軟件需要的版本,從而導致某些需要新版本的庫的命令出錯。

不要默認啟用anaconda環境[編輯 | 編輯原始碼]

anaconda是個不錯的管理Python軟件的方式。然而,它自帶了包括curl和ncurses在內的許多庫文件,其版本可能與系統所需要的版本衝突。因此,請不要默認啟用anaconda環境,僅在需要使用的時候啟用。

不要盲從教程[編輯 | 編輯原始碼]

標題不是在說不要看任何教程,而是說,應該同時比對幾份同主題的教程(對於ArchWiki,則也可以是中英文),以及參考說明文檔。同樣,教程也有時效性,如果是五年前的教程,可能現在已經完全不適用。

但,無論是在跟隨教程之前,還是在對比幾份教程之前,都應該搞清楚教程中的命令到底會做出哪些操作。這樣可能會幫助你及時發現錯誤,當然,即使未能發現,也能更迅速地幫助你恢復系統正常。

除了ArchWiki外,man命令等是已經存在於你系統上的文檔。這些也是參考來源。

移除軟件包需謹慎[編輯 | 編輯原始碼]

軟件包之間有依賴關係,也就是一個軟件包必須和另一些軟件包一起存在。因此,移除一個軟件包可能會需要相關的其他軟件包也被一同移除。

移除軟件包前,pacman會顯示要移除的包的列表。一定要仔細查看每個要被刪除的包,它們有的可能是你仍需要使用的軟件。如果不清楚,除了詢問其他人以外,你還可以通過pacman的查詢命令來查看每個軟件包的簡介與相關信息。

記得自己做過什麼[編輯 | 編輯原始碼]

記得自己做過什麼在出問題的時候可以幫助你或者是讓其他人幫你快速解決問題。比如,改動配置文件時,也許可以原地留一下注釋和日期,標註原因,之類的。

總的來說,要維持Arch Linux系統的穩定,你自然要付出一定的精力。

尋求他人幫助[編輯 | 編輯原始碼]

Arch Linux用戶通常對Arch Linux上的問題更為熟悉。在遵循行為準則的前提下,向官方社區和非官方的國際社區(中文用戶可以看看Arch Linux 中文社區)通常是個好主意。

行為準則#常識有言:

  • 使用Arch Linux,先要接受Arch 之道
  • 先看文檔,搜索網站,做好功課,再行提問
  • 尋求幫助,耐心委婉
  • 樂於奉獻,止於損害

遵循基本前提,提供儘可能多的細節,保持耐心多等待,不要宣泄情緒。

當然,每個社區都會有自己的建議。但通常,使用即時通訊軟件時,不要頻繁換行發言,儘可能一次發完。上傳日誌建議使用外部網站(比如Pastebin和每個群組自行設置的類Pastebin網站),並且注意刪掉私人信息。

最後,祝你的Arch Linux之旅順利且愉快!