Arch構建系統

**Arch Linux** (/ɑːrtʃ/) 是一個獨立開發的 x86-64 通用 GNU/Linux 發行版，它致力於通過捲動發布來提供大多數軟體的最新穩定版本。預設安裝是一個最小的基本系統，由使用者組態添加有意需要的內容。Arch Linux 使用 pacman 作為包管理器。

Arch Linux 採用滾動更新。Arch Linux 努力維護其軟體的最新穩定版本，只要可以合理地避免系統包損壞。

Arch Linux 以社群 Wiki 的形式提供文件，稱為 ArchWiki。

## 歷史

* 由加拿大程式設計師兼吉他手 Judd Vinet 從 2001 年早期開始開發 Arch Linux，並在 2002 年 3 月 11 日正式發行 0.1 版。
* 2007 下半年，Judd Vinet 退出了 Arch Linux 的開發，改由 Aaron Griffin 接手。
* 2012 年 7 月發行的 Arch Linux 安裝 ISO 映像開始放棄安裝框架轉為使用不同的輔助指令碼。 並逐步開始將初始化系統遷移至 Systemd 。
* 2017 年 1 月，宣布將放棄 i686 架構的支援，2017 年 2 月發布的安裝媒介中不再包含 i686 環境。並於 2017 年 11 月底徹底拋棄 i686 支援。
* 2020 年 2 月 24 日，Aaron Griffin 宣布，由於他對該專案的參與有限，他將在投票期後將該專案移交給 Levente Polyak 負責。
* 2021 年 4 月，Arch Linux 安裝映像開始預設包含引導式安裝指令碼。
* 2021 年底，Arch Linux 開發人員發布了 Pacman 6.0，支援並列下載。
* 2022 年 2 月，Arch Linux 開發人員開始提供除錯包。

## 設計及原則

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

### 原則

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

* 簡單：避免任何不必要的添加、修改和複雜增加。
* 現代：盡全力保持軟體處於最新的穩定版本，採用捲動升級策略，安裝之後可以持續升級。
* 實用：開發者依賴基於事實的技術分析和討論，避免政治因素，不會被流行觀點左右。倉庫中既提供了開源、自由的軟體，也提供了閉源軟體。實用性大於意識形態。
* 使用者中心性：儘管許多 GNU/Linux 發行版都試圖對使用者更加友好，但 Arch Linux 一直是，並且將始終保持以使用者為中心。該發行版旨在滿足為其貢獻者的需求，而不是試圖吸引儘可能多的使用者。它面向精通 GNU/Linux 的使用者，或任何願意閱讀文件並解決自己問題的自己動手的態度的人。也鼓勵每一個使用者 參與 和貢獻，報告和幫助修復 bugs（頁面存檔備份，存於網際網路檔案館），提供軟體套件修補程式和參加核心 專案（頁面存檔備份，存於網際網路檔案館），Arch 的開發人員是志願者，積極的貢獻者通常會發現自己成為該團隊的一部分。
* 多功能性：Arch Linux 是一個通用的發行版。安裝時只提供命令列環境；使用者無需刪除不需要的包，而是可以通過在 x86-64 架構的官方軟體倉庫中提供的數千個高品質包中進行選擇來構建自訂系統。 Arch 是一個由 pacman 支援的捲動發布模型， pacman 是一個輕量級、簡單和快速的包管理器，允許使用一個命令持續升級整個系統。Arch 還提供 Arch Build System，一個類似於 BSD Ports 的系統，可以輕鬆地從原始碼構建和安裝套件，也可以與一個命令同步。此外，_Arch 使用者軟體倉庫_包含數千個社群貢獻的 PKGBUILD 指令碼，用於使用 makepkg 應用程式從原始碼編譯可安裝套件。使用者也可以輕鬆地構建和維護自己的自訂軟體倉庫。

## 安裝

存取下載 （頁面存檔備份，存於網際網路檔案館）頁面，取得 ISO 鏡像，安裝映像可以通過 USB 快閃記憶體驅動器、光碟或具有 PXE 的網路提供給目標電腦。參考官方的 Arch Linux 的指南 （頁面存檔備份，存於網際網路檔案館）進行安裝。

## 特點

* Arch Linux 簡單的設計讓它容易被輕鬆擴充和組態成為任何想要的系統類型。
* 通過二進位套件管理系統 pacman，僅需一個指令就能完成安裝、升級等多個操作。除此之外，使用者倉庫 **AUR** 由世界各地的 Arch Linux 使用者驅動，提供了海量的非官方軟體以供選擇。
* Arch Linux 不採跨版本升級而採用**滾動更新**，故 Arch Linux 的軟體包時常會維持在開發者的最新版本。
* Arch Linux 有一個完整的 **Wiki** 和**社群**體驗，使使用者容易上手並解決各種問題

## 軟體套件管理

### Pacman

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

### 軟體倉庫

現時存在以下官方倉庫：

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

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

* _testing_，包含為 _core_ 和 _extra_ 準備的軟體套件。
* _community-testing_，包含為 _community_ 準備的軟體套件。
* _multilib-testing_，包含為 _multilib_ 準備的軟體套件。

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

* _gnome-unstable_，包含不穩定版 GNOME 的軟體套件。
* _kde-unstable_，包含不穩定版 KDE 的軟體套件。

_staging、multilib-staging_ 和 _community-staging_ 被用來進行一些軟體套件的重新構建，以避免損壞 _testing_ 中的軟體套件。

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

### Arch 編譯系統

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

2017 年 5 月 15 日，Arch Linux 宣布放棄支援 ABS，並推薦使用者切換到 ASP（頁面存檔備份，存於網際網路檔案館） 。

### Arch 使用者軟體倉庫

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

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

### Arch Linux 中文社群倉庫

Arch Linux 中文社群倉庫是由 Arch Linux 中文社群驅動的非官方軟體倉庫，包含許多官方倉庫未提供的額外的軟體套件，以及已有軟體的 git 版本等變種。一部分軟體套件的打包指令碼來源於 AUR，但也有許多包與 AUR 不一樣。

## 衍生發行

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

* ArchBang - 一個預設使用 OpenBox 桌面環境的發行版。
* Manjaro Linux - 一個提供 XFCE/KDE/GNOME 桌面環境的發行版。
* Chakra GNU/Linux - Chakra 專案發布的使用 KDE 桌面環境的半捲動發行版。
* Antergos - 一個提供包括 GNOME 3（預設）、Cinnamon、Razor-qt、Base、KDE 和 Xfce 多種桌面環境安裝的發行版（安裝時可選）。(由於缺乏貢獻者，2019 年 5 月 21 日宣布停止開發。)
* Parabola GNU/Linux-libre - 基於 Arch Linux 的一個完全自由的 GNU/Linux 發行版，被收錄在自由軟體基金會的完全自由發行版列表（頁面存檔備份，存於網際網路檔案館）中。
* SteamOS - SteamOS 3.0 基於 Arch Linux 所開發，為執行電子遊戲而設計。

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

## Logo

現在的 Arch Linux 圖示由 Thayer Williams 設計的。在 2007 年替換了之前的 Logo。

## 歷史版本

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

## 參看

* Linux
* Chakra
* Manjaro Linux
* Antergos

## 注釋

## 參考連結

## 外部連結

* Arch Linux 首頁（頁面存檔備份，存於網際網路檔案館）
* Arch Linux 論壇（頁面存檔備份，存於網際網路檔案館）
* Arch Linux Wiki（頁面存檔備份，存於網際網路檔案館）
  * Arch 之道（來自 Arch Linux 官方 Wiki）（頁面存檔備份，存於網際網路檔案館）

**社群**

* （繁體中文）Arch Linux 臺灣社群（頁面存檔備份，存於網際網路檔案館）
* （簡體中文）Arch Linux 中文社群（頁面存檔備份，存於網際網路檔案館）
  * （簡體中文）Arch Linux 中文論壇（頁面存檔備份，存於網際網路檔案館）