开发者 | Judd Vinet (2001-2007) Aaron Griffin 小组 (2007-2020) Levente Polyak与其他人 |
---|---|
操作系统家族 | 类Unix系统 |
运作状态 | 支持中 |
源码模式 | 开源,自由软件 |
首次发布 | 2002年3月11日 |
最新版本 | (滚动更新) / Installation CD 2022.01.01 |
更新方式 | Pacman |
软件包管理系统 | Pacman |
支持平台 | x86-64、i686(官方已停止支持,改由Arch Linux 32项目维护)、ARM(非官方支持,由Arch Linux ARM项目维护) |
内核类别 | 单内核,Linux |
默认用户界面 | 命令行界面 |
许可证 | 多种(GPL 及其他协议)[1] |
Arch Linux(或 Arch /ˈɑːrtʃ/)[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]
“ | 依赖复杂的工具来管理整个系统的结果是给最终用户带来恶化的体验。[...] “如果你尝试隐藏系统的复杂性,于是就得到一个更加复杂的系统。” 为了隐藏内部机制而设置抽象层并非良好的架构方法,而应该把内部机制设计得精良而无需隐藏。 | ” |
——Aaron Griffin,http://phraktured.net/arch-way.html |
原则
以下原则构成了通常所指的 Arch 之道,或者说 Arch 的哲学。
- 简洁:避免任何不必要的添加、修改和复杂增加。
- 现代:尽全力保持软件处于最新的稳定版本,采用滚动升级策略,安装之后可以持续升级。
- 实用:开发者依赖基于事实的技术分析和讨论,避免政治因素,不会被流行观点左右。仓库中既提供了开源、自由的软件,也提供了闭源软件。实用性大于意识形态。
- 以用户为中心:Arch Linux 适用于乐于自己动手的用户,他们愿意花时间阅读文档,解决自己的问题。也鼓励每一个用户 参与 和贡献,报告和帮助修复 bugs,提供软件包补丁和参加核心 项目,活跃的贡献者也有机会成为开发人员[17]。
安装
Arch Linux网站提供ISO镜像,可以从CD或USB运行。[18]不属于基本系统的额外软件包(例如,桌面环境)的安装,可以在启动(或[[chroot]ing])到新安装的系统后,用pacstrap或Pacman来完成。 [19][20][21]
除了使用CD或USB镜像进行安装外,还有一种方法是使用静态版本的软件包管理器Pacman,从另一个基于Linux的操作系统中进行安装。[22]用户可以挂载他们新格式化的分区,并使用pacstrap(或带有适当命令行交互的Pacman来安装基本包和附加包,目标设备的装载点是其操作的root。这种方法在将Arch Linux安装到U盘或属于其他系统的临时挂载设备上时非常有用。
无论选择哪种安装类型,在新系统可以使用之前,都需要进行进一步的操作,最主要的是安装bootloader和配置新系统的系统名、网络连接、语言设置和图形用户界面。[23]
Arch Linux不安排特定日期的发布,而是采用"滚动发布"系统,每天都会提供新的软件包。它的软件包管理允许用户轻松地保持系统更新。[24]
偶尔,某些更新需要手动干预,说明发布在Arch Linux网站的新闻部分。[25]
引导式自动安装脚本
自2021年以来,所有发布的Arch ISO镜像中都包含一个名为archinstall的实验性指导安装程序。它允许用户轻松安装和配置Arch Linux,包括驱动程序、磁盘分区、网络配置、账户设置和桌面环境的安装。[26][27]
优势
- Arch Linux是针对特定处理器而优化过的,能够更好地利用CPU周期以提高性能。Arch Linux简单的设计让它容易被轻松扩展和配置成为任何想要的系统类型。
- 通过二进制包管理系统pacman,仅需一个命令就能完成安装、升级等多个操作。同时也附带一个类似ports的包构建系统ABS(Arch Build System)。
- 与Gentoo类似,不同于其他大部分主流Linux发行版比如Fedora和Ubuntu。Arch Linux不采跨版本升级而采用“滚动更新”,故Arch Linux的软件包时常会维持在开发者的最新版本。
缺点
- 安装过程简陋,缺乏直观的错误处理与图形化安装界面,需要用户有一定的Linux环境常识才能正确安装使用。
- 包管理系统pacman在升级过程缺乏对系统核心组件的回溯保护,比如当用户升级到错误的内核会造成系统无法启动。
- 系统软件缺乏严谨的测试管理机制,稳定性、可靠性不如Redhat、CentOS、Debian等发行版[28],难以在企业用户中推广。
软件包管理
Pacman
pacman 是 Arch Linux 的软件包管理器,具有依赖处理和构建软件包的功能。
软件仓库
现时存在以下官方仓库:[29]
- 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月撤销,其中的大部分软件包也已移动至其他仓库。[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:
- 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 发行版,被收录在自由软件基金会的完全自由发行版列表中。
其他流行的派生发行版包括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 |
参看
注释
- ↑ Licenses, wiki.archlinux.org, [2013-06-14]
- ↑ Aaron Griffin. Pronnounciation [sic] of our beloved distribution's name. Osdir.com. 2005-08-24 [2009-10-19].
- ↑ About. Arch Linux. [2011-09-27].
- ↑ Explaining Why We Don't Endorse Other Systems. GNU Project. [2011-09-28].
- ↑ The Arch Way. ArchWiki. 2009-10-09 [2013-03-18].
- ↑ Ivan Jelic. Rolling with Arch Linux. LWN.net. 2010-03-10 [2011-09-30].
- ↑ Smith, Jesse. Arch Linux - Feature Story. 2015-12-21 [2016-01-17].
- ↑ ArchWiki:About. ArchWiki. Arch Linux. [2016-01-17].
- ↑ 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.
- ↑ The Arch Linux wiki is awesome and I would like to thank it's contributors • r/linux. reddit. [2017-08-09] (英语).
- ↑ Arch Leadership / Announcements, Package & Security Advisories / Arch Linux Forums. bbs.archlinux.org. [2017-07-27] (英语).
- ↑ Arch Linux - News: Install media 2012.07.15 released. www.archlinux.org. [2017-07-27] (英语).
- ↑ Arch Linux - News: Phasing out i686 support. www.archlinux.org. [2017-07-27] (英语).
- ↑ Arch Linux - News: The end of i686 support. www.archlinux.org. [2019-10-26].
- ↑ OSNews.com. OSNews.com. 2004-02-10 [2009-10-19].
- ↑ PolishLinux.org Wiki: Archlinux. Wiki.polishlinux.org. [2009-10-19].
- ↑ Arch Linux - ArchWiki. wiki.archlinux.org. [2017-07-27] (英语).
- ↑ 引证错误:
<ref>
标签无效;未给name(名称)为2012.07.15
的ref(参考)提供文本 - ↑ [_00 pacman - ArchWiki] 请检查
|url=
值 (帮助). wiki.archlinux.org. [2019-09-13]. - ↑ General recommendations - ArchWiki. wiki.archlinux.org. 已忽略文本“url_01” (帮助);
- ↑ 引证错误:
<ref>
标签无效;未给name(名称)为pacman
的ref(参考)提供文本 - ↑ 从现有Linux中安装. ArchWiki. 2009年11月21日 [2009年12月5日].
- ↑ 安装指南 - ArchWiki. wiki.archlinux.org. [2019-09-13].
- ↑ Arch Linux Review. DVD-Guides.com. 2007. 已忽略文本“urlhttps://www.dvd-guides.com/dvdguides/index.php/linux-reviews/212-arch-linux-review ” (帮助);
- ↑ [_00 新闻] 请检查
|url=
值 (帮助). archlinux.org. [2018-08-15]. 已忽略未知参数|url-atus=
(帮助) - ↑ [_00 archinstall - ArchWiki] 请检查
|url=
值 (帮助). wiki.archlinux. org. [2021-04-12]. - ↑ 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” (帮助);
- ↑ Arch Compared to Other Distributions. [2012-11-26].
- ↑ Official Repositories, wiki.archlinux.org, [2012-11-23]
- ↑ Arch Linux Newsletter 08-04-2008. Archlinux.org. 2008-08-04 [2009-10-19].
- ↑ Unofficial user repositories - ArchWiki. wiki.archlinux.org. [2017-07-27] (英语).
- ↑ Arch Linux - News: Deprecation of ABS tool and rsync endpoint. www.archlinux.org. [2017-07-27] (英语).
- ↑ Arch-based_distributions_(简体中文)#活跃的. wiki.archlinux.org. [2020-07-14].
- ↑ Arch Linux - Releases. www.archlinux.org. [2017-07-27] (英语).
外部链接
- 社群
- (繁体中文)Arch Linux 台湾社群
- (简体中文)Arch Linux 中文社区
- (简体中文)Arch Linux 中文论坛