常見問題

出自 Arch Linux 中文维基

一般問題[編輯 | 編輯原始碼]

Q) Arch Linux 是什麼?[編輯 | 編輯原始碼]

A) 請閱讀 Arch Linux

Q) 為什麼我不想用 Arch Linux ?[編輯 | 編輯原始碼]

A) 您或許不想使用 Arch Linux,如果您:

  • 沒有經驗、能力、時間、想法和願望去打理這樣一個高度可定製的 GNU/Linux 發行版。
  • 需要非 x86_64 平台支持。
  • 你是狂熱的自由軟件愛好者,只希望發行版提供 GNU 定義的自由軟件。
  • 你認為好的操作系統應當是已經配置好的:安裝介質應默認包含一套完整的應用軟件包、圖形化桌面環境——達到「開箱即用」。
  • 你不需要或不想使用滾動升級的發行版。
  • 你對目前使用的操作系統感到滿意。

Q) 為什麼我要用 Arch Linux ?[編輯 | 編輯原始碼]

A) 因為 Arch 是最好的!

Q) Arch Linux 支持什麼架構?[編輯 | 編輯原始碼]

A) Arch Linux 現在只支持 x86_64(也被稱為 amd64 ) 架構,對 i686 架構的支持將逐漸終結

非官方支持的移植版本有: i686ARM [1]

Q) Arch Linux 遵循 FHS 嗎?[編輯 | 編輯原始碼]

A) Arch Linux 遵循適用於 systemd 服務管理器的文件系統架構,file-hierarchy(7) 包含了每個文件夾的解釋和設計。 /bin, /sbin/usr/sbin 現在是 /usr/bin 的符號鏈接,/lib (以及 /lib64) 是 /usr/lib 的符號鏈接。

Q) 我是一個徹頭徹尾的Linux新手,我應該用 Arch Linux 嗎?[編輯 | 編輯原始碼]

A) 如果您是新手,要使用 Arch Linux 就必須願意花時間學習新系統,並接受 Arch 是一個需要有 DIY 精神及能力的系統,每個用戶都是自己系統的組建者。

在您開始問任何問題之前,建議您自己先通過 Google 、Wiki 類網站、ArchWiki 或者 Linux 相關論壇進行搜索。我們為您創建了這些資源並讓您可以隨時訪問,有成千上萬的志願者與愛好者為您提供大量的信息資源。

推薦閱讀: Arch術語#RTFM

Q) Arch Linux 的安裝和配置十分麻煩,社區的人總是讓我去讀那些死長死長的手冊。[編輯 | 編輯原始碼]

A) Arch Linux 是針對一部分特定用戶群體設計的,如果您不在其中,也許 Arch Linux 並不適合您。

Q) Arch Linux 是為服務器、桌面還是工作站設計的?[編輯 | 編輯原始碼]

A) Arch Linux 並不是針對特定應用設計的,而是針對有特定需求的用戶群體設計的。Arch Linux 適合那些喜歡並有動手能力的用戶,以及希望打造屬於自己的獨一無二的系統的用戶。因此,對於這些用戶,Arch Linux 能勝任各種工作。也有許多人把 Arch Linux 同時當做桌面、服務器和工作站系統。此外,archlinux.org 網站也在 Arch Linux 上運行。

Q) 我太喜歡 Arch Linux 了,希望開發團隊實現一個新功能。[編輯 | 編輯原始碼]

A) 您可以參與進來,分享代碼和解決方案。如果廣大用戶和開發者確實認同這個功能,您的想法有機會被添加到新版本系統中。Arch 社區依靠大眾貢獻分享的代碼和工具蓬勃發展。

Q) 一般什麼時候發布新版本?[編輯 | 編輯原始碼]

A) Arch Linux 的發布版本只是安裝和修復環境,包含base 元軟件包 和一些 輔助軟件,一般每月上旬發布一次。

Arch Linux 使用滾動升級模式,只需執行一條命令,便可升級系統到最新版本。基於上述原因,發布新版本對 Arch Linux 來說並不重要,因為滾動升級的機制會使系統永葆青春。使用pacman -Syu命令升級系統,無需重裝系統即可更新到最新版本。同樣,Arch Linux 的新發行版本並不會提供什麼新的功能,新的功能通過pacman -Syu命令即可立即擁有。

Q) Arch Linux 是否穩定?會不會經常壞掉?[編輯 | 編輯原始碼]

A) 每個 Arch Linux 的用戶應當對自己執行滾動升級的系統穩定性負責。由用戶自行決定何時升級、修改配置。Arch Linux 與其他發行版的一個不同之處在於,Arch Linux 是真正的「DIY」發行版。一味抱怨系統損壞是沒有意義的,畢竟上游的改動不是 Arch 開發者的責任。

如果您想要使系統變得更加穩定,請參閱:系統維護,以提高系統穩定性。

Q) Arch Linux 需要更多曝光(比如廣告)。[編輯 | 編輯原始碼]

A) Arch Linux 已經得到了應有的新聞媒體曝光機會。Arch Linux 的目標不是為了一步登天。我們的目標只是使它變得更好。讓它自然成長吧,試圖強迫它成長得更快會造成諸多問題。

Q) Arch Linux 需要更多開發者。[編輯 | 編輯原始碼]

A) 或許吧。歡迎您來幫助我們!可以來逛逛論壇IRC channels 以及郵件列表,看看您有什麼需要做的。或者,看看論壇的 Community Contributions 子版面吧。

安裝[編輯 | 編輯原始碼]

Q) 我感覺 Arch Linux 需要安裝程序,比如帶有圖形界面的那種。[編輯 | 編輯原始碼]

A)2021-04-01 起,Arch Linux 有了更好的安裝程序。參見 archinstall

Q) 我安裝了 Arch Linux,現在眼前只有一個命令行登錄界面,我該怎麼辦?[編輯 | 編輯原始碼]

A) 建議您閱讀通用建議

Q) 哪個桌面環境或窗口管理器比較好?[編輯 | 編輯原始碼]

A) 有很多不同的選擇,從中選擇最適合您的即可。參見:桌面環境

Q) Arch Linux 比起其他「小型」發行版,有何獨特之處?[編輯 | 編輯原始碼]

A) 建議您閱讀 Arch與其他發行版的比較

其他[編輯 | 編輯原始碼]

Q) 什麼是 AUR ?[編輯 | 編輯原始碼]

A) 建議您參見:Arch用戶軟件倉庫#FAQ

Q) 為什麼我感覺 Arch Linux 下網速比其他系統慢?[編輯 | 編輯原始碼]

A) 您的網絡是否正確配置?如有疑問,您可以讀一讀網絡配置

Q) 為什麼 Arch Linux 把我的所有內存用光了?[編輯 | 編輯原始碼]

A) 實際上,內存不用就浪費了。

很多新用戶發現,Linux 內核對物理內存的處理機制和他們所以為的有所不同。由於訪問物理內存比訪問磁盤要快得多,內核會把最近訪問的數據緩存到物理內存中。物理內存中緩存數據會在空閒物理內存耗盡時被釋放。

而造成新用戶的困惑的罪魁禍首,恐怕是free命令:

$ free -h
              total        used        free      shared  buff/cache   available
Mem:          2.8Gi       1.1Gi       283Mi       224Mi       1.4Gi       1.2Gi
Swap:         3.0Gi       881Mi       2.1Gi

要注意 "free" 和 "available" 的區別,即空閒和可用的區別。在上面的例子中, 電腦所有的 2.8G 內存幾乎全部占用。"free"中只剩下 283 MiB 是未使用的。但是在總量 2.8G 內存中的 1.4G 是 "buff/cache" 緩存。實際上還剩下 1.2G 是可使用的(不考慮交換空間)。查看 free(1) 了解更多。

這有什麼用?當然是更好的性能!

如果您對此十分困惑,請參見此文。另外還有一篇文章有詳細的解釋:https://www.linuxatemyram.com/

Q) 我的磁盤空間被什麼東西占用了?[編輯 | 編輯原始碼]

A) 問題的答案因系統而異。有一些應用列表或許能告訴您答案。

軟件包管理[編輯 | 編輯原始碼]

詳情請參考 pacmanpacman/Tips and tricksOfficial repositories

Q) 我發現了某個軟件包的錯誤,該怎麼辦?[編輯 | 編輯原始碼]

A) 首先您需要搞清楚 Arch 隊伍是否能夠解決這個錯誤。有時並非如此(Firefox 崩潰也許是 Mozilla 開發團隊的錯誤)——這便是所謂的上游錯誤。如果您確信是 Arch 的問題,您可以採取以下步驟:

  1. 在論壇中搜索有關信息。看看是否有人已經注意到這個情況。
  2. 根據 Bugtracker 指導,提交Bug報告
  3. 也可在論壇中發篇帖子,闡述問題細節並說明您已經報告過這個情況。這會避免其他人重複報告同樣的問題。

Q) Arch Linux 軟件包需要獨特的後綴名。「.pkg.tar.zst」太長了,而且令人困惑[編輯 | 編輯原始碼]

A) 在 Arch 郵件列表曾有過討論。一些用戶提議使用 .pac 作為文件擴展名。但就目前情況來說,我們沒有計劃改變軟件包的擴展名。

正如 Tobias Kieslich(一名 Arch 開發者)所說: 「一個軟件包就是一個 [壓縮包] !它可以被很多軟件打開、研究和操作。此外,這種 mime-type 也可以被大多數軟件自動地正確識別。」

Q) Pacman應該提供函數庫接口,這樣其他軟件就可容易地獲得軟件包信息。[編輯 | 編輯原始碼]

A) libalpm(3)(Arch Linux Package Management,Arch Linux 軟件包管理)是 pacman 的後端,這個庫大大方便了交互式前端的編寫(例如圖形化前端)。

Q) Pacman需要某某功能![編輯 | 編輯原始碼]

A) 如果您有新想法,可以在 pacman-dev 郵件列表進行討論,或者查看官方論壇 看看其他人有沒有類似的想法。

也歡迎您自己在系統中實現新功能。也許您的代碼或補丁不會被官方接受,但他人可能會用到。

Q) 倉庫和鏡像的區別是什麼?[編輯 | 編輯原始碼]

A) 請您參考軟件倉庫

Q) 我剛剛安裝了一個軟件包,怎麼啟動呢?[編輯 | 編輯原始碼]

A) 如果您正在使用像KDEGNOME這樣的軟件包,它們的程序一般會自動出現在菜單中。如果是命令行程序,則可使用如下命令查看可執行文件名稱和位置:

$ pacman -Qlq package_name | grep /usr/bin/

Q) 在官方倉庫中,為什麼只為每個共享鏈接庫提供一個版本?[編輯 | 編輯原始碼]

A) 某些發行版,比如 Debian,會為一個共享庫提供多個版本,比如:libfoo1libfoo2libfoo3等等。這樣,就可以同時安裝那些依賴不同版本 libfoo 的程序。

Arch 官方只對最新版的程序提供支持。只要擺脫了過時的軟件包,包的維護人員就可以全力維護新版本的程序。而只要上游提供新版本的共享庫,我們就會重新編譯相關程序,更新倉庫。

Q) 執行pacman -Syu時,終端顯示某個共享庫需要升級,但依賴它的程序沒有升級,我該怎麼做呢?[編輯 | 編輯原始碼]

A) 這種情況理應不會發生。假如官方源一個名為foobaz的程序,成功地使用新版本共享庫libbaz編譯成功,那麼它應該和libbaz一同更新。如果編譯不成功,由於舊的foobaz存在依賴關係,例如:

libbaz=1.5

所以當libbaz升級時,它會被移除。

如果foobaz是您自己編譯的或是從 AUR 獲取的,當libbaz升級時您應當重新編譯它。如果編譯失敗,還請您通知foobaz開發者。

Q) 會不會出現一種情況就是,倉庫中的內核主版本更新了,而某些驅動包沒有一同升級的情況?[編輯 | 編輯原始碼]

A) 這個絕對不可能。當內核主版本升級時,所有支持的驅動一定會一同更新。

然而,如果您安裝有非內核支持的驅動程序包,比如catalyst,內核升級有可能導致系統掛機。您應當在內核升級時自行重編譯它們。

Q) 升級前該做什麼?[編輯 | 編輯原始碼]

A) 在升級之前,記得訪問 Arch Linux 新聞列表通告郵件列表 (有時候需要看一看論壇各個郵件列表)。需要特別注意的事項都會列在那裡。另見系統維護#更新系統

Q) 我知道某個包已經更新,但是 pacman 並沒有發現更新[編輯 | 編輯原始碼]

A) 可能是 pacman 鏡像還沒有同步,最好是等等看或者是換一個鏡像服務器。MirrorStatus 可以幫助您區分哪些鏡像服務器是最新的。

Q) X 上游項目已經發布了一個新版本,要多長時間 Arch Linux 才會更新到新版本?[編輯 | 編輯原始碼]

A) 軟件包將會在準備好之後發布,發布的時間取決於上游的變動和打包人員的精力。

如果發布的是小版本,可能只需要幾個小時。如果是大版本更新,則可能需要數周時間。

此外,有些軟件包會在 testing 倉庫中停留一段時間進行小範圍測試。軟件包維護者 會儘快將穩定的版本發布到倉庫中。如果您發現官方軟件倉庫中的軟件過舊,可以在 軟件包頁面 進行標記。

Q) 如果需要一個老的軟件庫,可以 symlink 到新版本嗎?[編輯 | 編輯原始碼]

A) 運氣好的話,可以用來救急。但是這並不是一個好辦法:

  • 軟件庫不會無緣無故更新版本 - API/ABI 可能發送變動,這些變動是否影響到使用只能聽天由命。
  • 軟件包管理器不會記錄軟鏈接,缺乏經驗的新手執行這種操作,可能會引起難以恢復的錯誤。
  • 未被記錄的老版本文件很快就會被遺忘,且安全漏洞不會被修復。

最好是使用或編寫兼容軟件包,用其提供需要的版本。

關於64-bit[編輯 | 編輯原始碼]

Q) 我如何確定我的處理器(CPU)是否支持 x86_64?[編輯 | 編輯原始碼]

A) 運行下面的命令:

$ less /proc/cpuinfo

查找 flags 條目。如果你看見 lm 標誌,那麼您的處理器是支持 x86_64 的。

Windows 系統用戶可以使用免費軟件 CPU-Z 或商業軟件 AIDA64 中的 CPUID 工具查看 CPU 的信息,這些軟件可以通過識別 CPU 的指令集來確定處理器是否支持64位。

如果您使用帶有 AMD 的 "x86-64" 指令集或者英特爾的 "EM64T" 指令集的 CPU,則可以使用 x86_64 的發行版和二進制包。

Q) 為什麼現在應該使用64位系統?[編輯 | 編輯原始碼]

A) 在大多數情況下,64位系統會更快,而且更安全。更安全是因為它擁有 Address space layout randomization (ASLR)Position-independent code (PIC) 特性,以及 NX Bit (它在i686內核中,由于禁用了物理地址擴展 (PAE)而無法使用)。

如果你的計算機在運行 4.0 GiB 或者更多的內存,那應該使用64位系統,因為多餘的內存是無法被32位系統分配的。

現如今,程序員也更加傾向於忽視32位系統,因為新的 x86 CPU 通常都支持64位擴展。

還有許多其他的理由讓我們拋棄32位系統。但是在內核、用戶空間和單獨的程序中,我們沒有辦法列出所有的64位系統比32位系統做得更好的地方。

中文社區倉庫[編輯 | 編輯原始碼]

主條目: Arch Linux 中文社區倉庫

Q) [archlinuxcn] 倉庫和 AUR 是什麼關係?[編輯 | 編輯原始碼]

A) 沒有特別的關係。部分軟件包的 PKGBUILD 打包腳本也同時存在於 AUR 而已。然而並不是所有 [archlinuxcn] 提供的軟件包都存在於 AUR,也不是所有同時存在於 [archlinuxcn] 和 AUR 的軟件包就一定會使用相同的打包腳本。我們不是 AUR 的二進制版。

在使用 [archlinuxcn] 提供的軟件包時遇到問題,也請您報告到我們的 GitHub issues

Q) 既然有 AUR,我為什麼會想要使用 [archlinuxcn] 倉庫?[編輯 | 編輯原始碼]

A) [archlinuxcn] 倉庫提供許多額外的、已經打包好的軟件。相比於 AUR,您不必就地從世界各地下載軟件源碼然後花費時間編譯,而是可以直接安裝已經編譯好的軟件包。

如果您是中國大陸用戶,您可以利用我們位於中國大陸境內的多個鏡像源,來快速下載到軟件,而不必處理訪問國際網絡可能會遇到的問題。

Q) 我是 Manjaro (或其它 Arch Linux 衍生發行版)用戶,我可以使用 [archlinuxcn] 倉庫嗎?[編輯 | 編輯原始碼]

A) 我們不建議這樣做。[archlinuxcn] 倉庫只支持 Arch Linux,在衍生發行版上使用可能會出現問題。

如果您在非 Arch Linux 系統上使用 [archlinuxcn] 倉庫遇到了問題,還請不要將問題報告給我們。