Arch Linux

本页使用了标题或全文手工转换,现处于台湾繁体模式
求聞百科,共筆求聞
Arch Linux
開發者Judd Vinet (2001-2007)
Aaron Griffin 小組 (2007-2020)
Levente Polyak與其他人
作業系統家族類Unix系統
運作狀態支援中
原始碼模式開源自由軟體
首次發布2002年3月11日,​22年前​(2002-03-11
最新版本滾動更新) / Installation CD 2022.01.01
更新方式Pacman
軟體套件管理系統Pacman
支援平台x86-64i686(官方已停止支援,改由Arch Linux 32專案維護)、ARM(非官方支援,由Arch Linux ARM專案維護)
核心類別單核心Linux
預設使用者介面命令列介面
許可證多種(GPL 及其他協定)[1]

Arch Linux(或 Arch /ˈɑːr/)[2])是一款基於 x86-64 架構的 Linux發行版 [3]。系統主要由自由開源軟體[4]組成,支援社群參與。系統設計以 KISS原則(保持簡單和愚蠢)為總體指導原則,注重代碼正確、優雅和極簡主義,期待使用者願意去理解系統的運作[5]。Arch Linux 採用pacman作為預設的軟體套件管理器

Arch Linux 採用捲動發行模式,即沒有所謂的大版本更新,每次常規更新都會將系統和軟體保持在最新狀態。Arch 發行的系統安裝映像也只是簡單地包含最新的基本系統組件。[6]

Arch Linux 以社群 Wiki 的形式提供文件,稱為 ArchWiki[7][8][9]。該 Wiki 經常編有特定主題的最新資訊,受到了 Linux 社群的廣泛認可,內容也應用在 Arch Linux 以外的領域。[10]

歷史

  • 加拿大程式設計師兼吉他手 Judd Vinet 從 2001 年早期開始開發 Arch Linux,並在 2002 年 3月 11 日正式發行 0.1 版。
  • 2007 下半年,Judd Vinet 登出了 Arch Linux 的開發,改由 Aaron Griffin 接手。[11]
  • 2012 年 7 月發行的 Arch Linux 安裝 ISO 映像開始放棄安裝框架轉為使用不同的輔助指令碼。[12]並逐步開始將初始化系統遷移至 Systemd
  • 2017 年 1 月,宣布將放棄 i686 架構的支援,2017 年 2 月發布的安裝媒介中不再包含 i686 環境。[13]並於2017年11月底徹底拋棄 i686 支援。[14]

設計及原則

Arch Linux 是由二進位軟體套件組成的,這些軟體套件會針對 x86-64 最佳化以配合目前的硬體。類似 Ports/ebuild 也在 Arch Linux 上發展,即「Arch Build System」。

Arch Linux 專案(對開發者而言)注力於簡潔主義,其貢獻在於對發行版的組件提供具有良好注釋的設定檔,而非帶有圖形介面的組態工具。[15]因此該發行版被稱為適合「不懼怕命令列的中進階Linux使用者」。[16]

原則

以下原則構成了通常所指的 Arch 之道,或者說 Arch 的哲學。

  • 簡潔:避免任何不必要的添加、修改和複雜增加。
  • 現代:盡全力保持軟體處於最新的穩定版本,採用捲動升級策略,安裝之後可以持續升級。
  • 實用:開發者依賴基於事實的技術分析和討論,避免政治因素,不會被流行觀點左右。倉庫中既提供了開源、自由的軟體,也提供了閉源軟體。實用性大於意識形態。
  • 以使用者為中心:Arch Linux 適用於樂於自己動手的使用者,他們願意花時間閱讀文件,解決自己的問題。也鼓勵每一個使用者 參與 和貢獻,報告和幫助修復 bugs,提供軟體套件修補程式和參加核心 專案,活躍的貢獻者也有機會成為開發人員[17]

安裝

Arch Linux網站提供ISO鏡像,可以從CD或USB執行。[18]不屬於基本系統的額外軟體套件(例如,桌面環境)的安裝,可以在啟動(或[[chroot]ing])到新安裝的系統後,用pacstrap或Pacman來完成。 [19][20][21]

Neofetch output of an Arch Linux Installation.

除了使用CD或USB鏡像進行安裝外,還有一種方法是使用靜態版本的軟體套件管理器Pacman,從另一個基於Linux的作業系統中進行安裝。[22]使用者可以掛載他們新格式化的分割區,並使用pacstrap(或帶有適當命令列互動的Pacman來安裝基本包和附加包,目標裝置的裝載點是其操作的root。這種方法在將Arch Linux安裝到USB隨身碟或屬於其他系統的臨時掛載裝置上時非常有用。

無論選擇哪種安裝類型,在新系統可以使用之前,都需要進行進一步的操作,最主要的是安裝bootloader和組態新系統的系統名、網路連接、語言設定和圖形化使用者介面。[23]

Arch Linux不安排特定日期的發布,而是採用"捲動發布"系統,每天都會提供新的軟體套件。它的軟體套件管理允許使用者輕鬆地保持系統更新。[24]

偶爾,某些更新需要手動干預,說明發布在Arch Linux網站的新聞部分。[25]

引導式自動安裝指令碼

自2021年以來,所有發布的Arch ISO鏡像中都包含一個名為archinstall的實驗性指導安裝程式。它允許使用者輕鬆安裝和組態Arch Linux,包括驅動程式磁碟分割區、網路組態、帳戶設定和桌面環境的安裝。[26][27]

優勢

使用GNOME的Arch Linux
  • Arch Linux是針對特定處理器而最佳化過的,能夠更好地利用CPU周期以提高效能。Arch Linux簡單的設計讓它容易被輕鬆擴充和組態成為任何想要的系統類型。
  • 通過二進位套件管理系統pacman,僅需一個指令就能完成安裝、升級等多個操作。同時也附帶一個類似ports的套件構建系統ABS(Arch Build System)。
  • Gentoo類似,不同於其他大部分主流Linux發行版比如FedoraUbuntu。Arch Linux不採跨版本升級而採用「滾動更新」,故Arch Linux的軟體包時常會維持在開發者的最新版本。

缺點

  • 安裝過程簡陋,缺乏直觀的錯誤處理與圖形化安裝介面,需要使用者有一定的Linux環境常識才能正確安裝使用。
  • 包管理系統pacman在升級過程缺乏對系統核心組件的回溯保護,比如當使用者升級到錯誤的核心會造成系統無法啟動。
  • 系統軟體缺乏嚴謹的測試管理機制,穩定性、可靠性不如RedhatCentOSDebian等發行版[28],難以在企業使用者中推廣。

軟體套件管理

Pacman

pacman 是 Arch Linux 的軟體套件管理器,具有依賴處理和構建軟體套件的功能。

軟體倉庫

現時存在以下官方倉庫:[29]

  • core,包含啟動系統所必需的、連結網際網路時可能需要的、編譯軟體套件時需要的、檢查、修復檔案系統的工具、在安裝過程中可能用到的軟體套件和它們的依賴。
  • extra,提供基本系統不需要的軟體套件,包括桌面環境和其他程式。
  • community,提供由社群構建和投票的軟體套件,包括因有足夠投票而被「Trusted User」所收養的。
  • multilib,為x86_64使用者提供的支援在64位元環境下使用32位元軟體的集中化倉庫。

此外,也存在testing倉庫,包含還未進入其他倉庫的候選包。現時存在以下測試倉庫:

  • testing,包含為coreextra準備的軟體套件。
  • community-testing,包含為community準備的軟體套件。
  • multilib-testing,包含為multilib準備的軟體套件。

尚處於開發階段的GNOME和KDE有時會被放在以下專門的測試倉庫中:

  • gnome-unstable,包含不穩定版GNOME的軟體套件。
  • kde-unstable,包含不穩定版KDE的軟體套件。

staging、multilib-stagingcommunity-staging被用來進行一些軟體套件的重新構建,以避免損壞testing中的軟體套件。

unstable倉庫已在2008年7月復原,其中的大部分軟體套件也已移動至其他倉庫。[30] 在官方倉庫以外還存在一些非官方的使用者倉庫,其中最知名的是代管在Arch Linux站點上的Arch User Repository(AUR)。此外也有不少使用者獨立建立的非官方倉庫。[31]

Arch 編譯系統

Arch 編譯系統 (Arch Build System,ABS)是一套能從原始碼編譯軟體的類 ports 系統。Pacman 是 Arch 下特定的二進位安裝包管理工具(也包括管理那些從 ABS 構建的二進位安裝包),而 ABS 則是 Arch 下特定的編譯工具,將原始碼編譯為一個可供安裝的 .pkg.tar.xz 包。

2017年5月15日,Arch Linux宣布放棄支援ABS,並推薦使用者切換到 ASP [32]

Arch 使用者軟體倉庫

Arch 使用者軟體倉庫(Arch User Repository,AUR)是一個面對廣大Arch使用者、以社群為主導的軟體倉庫。AUR的初衷是組織社群內分享PKGBUILD,並且促使熱門的使用者貢獻軟體套件進入community軟體庫。

AUR被稱為Arch的新軟體套件的發源地,在AUR里使用者貢獻出他們自己的軟體套件。AUR社群對它們進行投票或反對,一旦某個軟體套件擁有足夠多的票數,AUR的受信使用者就會將它加入到[community]軟體庫,使得可以通過pacman和ABS來使用它們。

衍生發行

官方的Arch安裝程式是基於CLI命令列介面,對於那些需要GUI圖形介面安裝環境的使用者,可以選擇這些Live CD:

其他流行的衍生發行版包括Arch Linux ARM等。[33]

歷史版本

Arch Linux 的首個版本發行於 2002 年,但是發行周期較不規律 [34],從 2012 年 7 月開始安裝媒介改為每月發行一次。目前 Arch Linux 安裝是採用網路進行下載與升級。

發行日期 版本 核心版本
2022-01-01 2022.01.01 -
2021-12-01 2021.12.01 -
2021-11-01 2021.11.01 -
2021-10-01 2021.10.01 -
2021-09-01 2021.09.01 -
2021-08-01 2021.08.01 -
2021-07-01 2021.07.01 -
2021-06-01 2021.06.01 -
2021-05-01 2021.05.01 -
2021-04-01 2021.04.01 -
2021-03-01 2021.03.01 -
2021-02-01 2021.02.01 -
2021-01-01 2021.01.01 -
2020-12-01 2020.12.01 -
2020-11-01 2020.11.01 -
2020-10-01 2020.10.01 -
2020-09-01 2020.09.01 -
2020-08-01 2020.08.01 -
2020-07-01 2020.07.01 5.7.6
2020-06-01 2020.06.01 5.6.15
2020-05-01 2020.05.01 5.6.8
2020-04-01 2020.04.01 5.5.13
2020-03-01 2020.03.01 5.5.6
2020-02-01 2020.02.01 5.4.15
2020-01-01 2020.01.01 5.4.6
2019-12-01 2019.12.01 5.3.13
2019-11-01 2019.11.01 5.3.8
2019-10-01 2019.10.01 5.3.1
2019-09-01 2019.09.01 5.2.11
2019-08-01 2019.08.01 5.2.5
2019-07-01 2019.07.01 5.1.15
2019-06-01 2019.06.01 5.1.5
2019-05-02 2019.05.02 5.0.10
2019-05-01 2019.05.01 5.0.10
2019-04-01 2019.04.01 5.0.5
2019-03-01 2019.03.01 4.20.13
2019-02-01 2019.02.01 4.20.6
2019-01-01 2019.01.01 4.20.0
2018-12-01 2018.12.01 4.19.4
2018-11-01 2018.11.01 4.18.16
2018-10-01 2018.10.01 4.18.9
2018-09-01 2018.09.01 4.18.5
2018-08-01 2018.08.01 4.17.11
2018-07-01 2018.07.01 4.17.3
2018-06-01 2018.06.01 4.16.12
2018-05-01 2018.05.01 4.16.5
2018-04-01 2018.04.01 4.15.14
2018-03-01 2018.03.01 4.15.6
2018-02-01 2018.02.01 4.14.15
2018-01-01 2018.01.01 4.14.9
2017-12-01 2017.12.01 4.13.12
2017-11-01 2017.11.01 4.13.9
2017-10-01 2017.10.01 4.13.3
2017-09-01 2017.09.01 4.12.8
2017-08-01 2017.08.01 4.12.3
2017-07-01 2017.07.01 4.11.7
2017-06-01 2017.06.01 4.11.3
2017-05-01 2017.05.01 4.10.13
2017-04-01 2017.04.01 4.10.6
2017-03-01 2017.03.01 4.9.11
2017-02-01 2017.02.01 4.9.6
2017-01-01 2017.01.01 4.8.13
2016-12-01 2016.12.01 4.8.11
2016-11-01 2016.11.01 4.8.6
2016-10-01 2016.10.01 4.7.5
2016-09-03 2016.09.03 4.7.2
2016-08-01 2016.08.01 4.6.4
2016-07-01 2016.07.01 4.6.3
2016-06-01 2016.06.01 4.5.4
2016-05-01 2016.05.01 4.5.1
2016-04-01 2016.04.01 4.4.5
2016-03-01 2016.03.01 4.4.1
2016-02-01 2016.02.01 4.3.3
2016-01-01 2016.01.01 4.3.3
2015-12-01 2015.12.01 4.2.5
2015-11-01 2015.11.01 4.2.5
2015-10-02 2015.10.01 4.2.2
2015-09-01 2015.09.01 4.1.6
2015-08-01 2015.08.01 4.1.3
2015-07-01 2015.07.01 4.0.7
2015-06-01 2015.06.01 4.0.4
2015-05-01 2015.05.01 4.0.1
2015-04-01 2015.04.01 3.19.2
2015-03-01 2015.03.01 3.18.6
2015-02-01 2015.02.01 3.18.4
2015-01-01 2015.01.01 3.17.6
2014-12-01 2014.12.01 3.17.4
2014-11-01 2014.11.01 3.17.1
2014-10-01 2014.10.01 3.16.3
2014-09-03 2014.09.03 3.16.1
2014-08-01 2014.08.01 3.15.7
2014-07-03 2014.07.03 3.15.3
2014-06-01 2014.06.01 3.14.4
2014-05-01 2014.05.01 3.14.1
2014-04-01 2014.04.01 3.13.7
2014-03-01 2014.03.01 3.13.5
2014-02-01 2014.02.01 3.12.9
2014-01-05 2014.01.05 3.12.6
2013-12-01 2013.12.01 3.12.1
2013-11-01 2013.11.01 3.11.6
2013-10-01 2013.10.01 3.11.2
2013-09-01 2013.09.01 3.10.10
2013-08-01 2013.08.01 3.10.3
2013-07-01 2013.07.01 3.9.8
2013-06-01 2013.06.01 3.9.4
2013-05-01 2013.05.01 3.8.10
2013-04-02 2013.04.01 3.8.4
2013-03-01 2013.03.01 3.7.9
2013-02-01 2013.02.01 3.7.5
2013-01-04 2013.01.04 3.6.11
2012-12-01 2012.12.01 3.6.8
2012-11-01 2012.11.01 3.6.4
2012-10-06 2012.10.06 3.5.5
2012-09-07 2012.09.07 3.5.3
2012-08-04 2012.08.04 3.4.7
2012-07-15 2012.07.15 3.4.4
2011-08-19 2011.08.19 3.0.3
2010-05-16 2010.05 2.6.33.4
2009-08-17 2009.08 2.6.30.4
2009-02-16 2009.02 2.6.28
2008-06-24 2008.06 2.6.25.6
2007-10-07 2007.08-2 2.6.22.9
2007-09-10 2007.08.1 2.6.22.6
2007-08-05 2007.08 2.6.22.1
2007-05-28 2007.05-Linuxtag2007 2.6.21.3
2007-05-17 2007.05 2.6.21.1
2007-03-28 0.8 2.6.20.4
2006-05-18 0.7.2 2.6.16.16
2006-01-05 0.7.1 2.6.15
2005-01-24 0.7 2.6.10
2004-03-01 0.6 2.6.3
2003-07-21 0.5 2.4.21
2002-12-18 0.4 2.4.20
2002-08-07 0.3 2.4.19
2002-04-17 0.2 2.4.18
2002-03-12 0.1 2.4.18

參看

注釋

  1. Licenses, wiki.archlinux.org, [2013-06-14] 
  2. Aaron Griffin. Pronnounciation [sic] of our beloved distribution's name. Osdir.com. 2005-08-24 [2009-10-19]. 
  3. About. Arch Linux. [2011-09-27]. 
  4. Explaining Why We Don't Endorse Other Systems. GNU Project. [2011-09-28]. 
  5. The Arch Way. ArchWiki. 2009-10-09 [2013-03-18]. 
  6. Ivan Jelic. Rolling with Arch Linux. LWN.net. 2010-03-10 [2011-09-30]. 
  7. Smith, Jesse. Arch Linux - Feature Story. 2015-12-21 [2016-01-17]. 
  8. ArchWiki:About. ArchWiki. Arch Linux. [2016-01-17]. 
  9. Linton, Susan. Debian Project Lead: Snappy and Mir Bad Ideas. OStatic. 2015-07-17 [2017-02-04]. One of the first questions wondered if McGovern was jealous of anything from any other distro. To that he answered Arch's wiki calling it "an absolutely amazing resource" that he himself uses. 
  10. The Arch Linux wiki is awesome and I would like to thank it's contributors • r/linux. reddit. [2017-08-09] (英語). 
  11. Arch Leadership / Announcements, Package & Security Advisories / Arch Linux Forums. bbs.archlinux.org. [2017-07-27] (英語). 
  12. Arch Linux - News: Install media 2012.07.15 released. www.archlinux.org. [2017-07-27] (英語). 
  13. Arch Linux - News: Phasing out i686 support. www.archlinux.org. [2017-07-27] (英語). 
  14. Arch Linux - News: The end of i686 support. www.archlinux.org. [2019-10-26]. 
  15. OSNews.com. OSNews.com. 2004-02-10 [2009-10-19]. 
  16. PolishLinux.org Wiki: Archlinux. Wiki.polishlinux.org. [2009-10-19]. 
  17. Arch Linux - ArchWiki. wiki.archlinux.org. [2017-07-27] (英語). 
  18. 參照錯誤:無效的 <ref> 標籤,未定義名稱為 2012.07.15 的參考文獻內容文字。
  19. [_00 pacman - ArchWiki] 請檢查|url=值 (幫助). wiki.archlinux.org. [2019-09-13]. 
  20. General recommendations - ArchWiki. wiki.archlinux.org.  已忽略文字「url_01」 (幫助);
  21. 參照錯誤:無效的 <ref> 標籤,未定義名稱為 pacman 的參考文獻內容文字。
  22. 从现有Linux中安装. ArchWiki. 2009年11月21日 [2009年12月5日]. 
  23. 安装指南 - ArchWiki. wiki.archlinux.org. [2019-09-13]. 
  24. Arch Linux Review. DVD-Guides.com. 2007.  已忽略文字「urlhttps://www.dvd-guides.com/dvdguides/index.php/linux-reviews/212-arch-linux-review 」 (幫助);
  25. [_00 新闻] 請檢查|url=值 (幫助). archlinux.org. [2018-08-15].  已忽略未知參數|url-atus= (幫助)
  26. [_00 archinstall - ArchWiki] 請檢查|url=值 (幫助). wiki.archlinux. org. [2021-04-12]. 
  27. Nestor, Marius. Latest Arch Linux ISO Release Comes with the ArchInstall CLI Guided Installer. 9to5Linux. 2021-04-11 (美國英語).  已忽略文字「urlhttps://9to5linux.com/latest-arch-linux-iso-release-comes-with-the-archinstall-cli-guided-installer」 (幫助);
  28. Arch Compared to Other Distributions. [2012-11-26]. 
  29. Official Repositories, wiki.archlinux.org, [2012-11-23] 
  30. Arch Linux Newsletter 08-04-2008. Archlinux.org. 2008-08-04 [2009-10-19]. 
  31. Unofficial user repositories - ArchWiki. wiki.archlinux.org. [2017-07-27] (英語). 
  32. Arch Linux - News: Deprecation of ABS tool and rsync endpoint. www.archlinux.org. [2017-07-27] (英語). 
  33. Arch-based_distributions_(简体中文)#活跃的. wiki.archlinux.org. [2020-07-14]. 
  34. Arch Linux - Releases. www.archlinux.org. [2017-07-27] (英語). 

外部連結

社群