arch

Arch Linux 是通用 x86-64 GNU/Linux 发行版。初始安装的 Arch 只是一个基本系统,其余由用户自行配置,在此基础上,用户可以安装其独特用途所需或所想的内容,从而构建出自己理想的环境。Arch Linux系统安装、删除和更新软件的软件包管理器叫做PacmanPacman将简单的二进制软件包与易于使用的软件包构建系统结合在一起,使用户从Arch官方软件到用户自己的个人软件包,再到来自第三方的软件包都可以轻松管理和定制。

Arch Linux采用滚动发行模式来获取系统更新和软件的最新版本。系统安装映像只简单地包含系统主要组件。Arch Linux以社区Wiki的形式提供文档,称为ArchWiki。该Wiki经常编有特定主题的最新信息,受到了Linux社区的广泛认可,内容也应用在Arch Linux以外的领域。

开发历史

加拿大程序员兼吉他手Judd Vinet从2001年早期开始开发Arch Linux,并在2002年3月11日正式发行0.1版。Vinet一直领导Arch Linux直到2007年10月1日,当时他因为时间不够而辞职,将项目的控制权转让给了Aaron Griffin。迁移到systemd作为其init系统始于2012年8月,并于2012年10月成为新安装的默认系统。宣布于2017年1月结束对i686的支持,2017年2月的ISO是最后一个包含i686的版本,并于2017年11月不再支持该架构。此后,社区衍生的Arch Linux 32可用于i686硬件。2020年2月24日,Aaron Griffin宣布由于他对项目的有限参与,他将在投票期后将项目的控制权转让给Levente Polyak。这一变化还导致项目领导职位增加了新的2年任期。

功能与服务

设计及原则

Arch Linux是由二进制软件包组成的,这些软件包会针对x86-64优化以配合硬件。类似Ports/ebuild也在Arch Linux上发展,也就是“Arch Build System”。Arch Linux项目注力于简洁主义(对开发者而言),其贡献在于对发行版的组件提供具有良好注释的配置文件,而非带有图形界面的配置工具。这也为其赢得适合“不惧怕命令行的中高级Linux用户”的发行版称号。Arch Linux哲学包括简洁、现代、实用和以用户为中心的原则,鼓励用户参与和贡献。

软件特色

Arch Linux是针对特定处理器而优化过的,能够更好地利用CPU周期以提高性能。相比Debian/Ubuntu、SUSE、Red Hat/fedora等其他发行版,Arch Linux属于轻量级选手,其简单的设计让它容易被轻松扩展和配置成为任何想要的系统类型。

特有的包管理系统

通过二进制包管理系统Pacman,仅需一个命令就能完成安装、升级等多个操作。同时也附带一个类似ports的包构建系统ABS(Arch Build System)。

滚动更新

Gentoo Linux类似,不同于其他大部分主流Linux发行版比如Fedora和Ubuntu。Arch Linux并没有跨版本升级的概念,通过更新,任何时期的Arch Linux都可以滚动更新到最新版本。

缺点

安装过程简陋,缺乏智能直观的错误处理,需要用户有一定的Linux环境常识才能正确安装使用。

包管理系统Pacman在升级过程缺乏对系统核心组件的回溯保护,如升级的内核有问题,即导致系统无法启动。

系统软件缺乏严谨的测试管理机制,稳定性、可靠性不如Red Hatcentos、Debian等发行版,难以在企业用户中推广。

Pacman

pacman是 Arch Linux 的软件包管理器,具有依赖处理和构建软件包的功能。Pacman通常使用具有.pkg.tar.zst扩展名的二进制软件包(用于zstd压缩),在此之前放置.pkg以指示它是Pacman软件包(给出.pkg.tar.zst);尽管其他压缩格式也是有效的,例如.pkg.tar.xz。

软件仓库

现时存在以下官方仓库:

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)。此外也有不少用户独立创建的非官方仓库。

ABS

ABS (Arch Build System),Arch 构建系统。它是一套像(BSD)Ports 一样的体系,能从 source(源代码)来构建一个软件。Pacman 是 Arch 下特定的二进制安装包管理工具(也包括管理那些从 ABS 构建的二进制安装包),而 ABS 则是 Arch 下特定的编译工具,将源代码编译为一个可供安装的 .pkg.tar.xz 包。

2017年5月15日,Arch Linux宣布放弃支持ABS,并推荐用户切换到 ASP。

御夫座

Arch Linux社区用户软件仓库(Arch Linux User-community Repository, AUR)是一个面对广大Arch用户、以社区为主导的软件仓库。AUR的初衷是组织社区内分享PKGBUILD,并且促使热门的用户贡献软件包进入community软件库。

AUR被称为Arch的新软件包的发源地,在AUR里用户贡献出他们自己的软件包。AUR社区对它们进行投票或反对,一旦某个软件包拥有足够多的票数,AUR的受信用户就会将它加入到[community]软件库,使得可以通过pacman和ABS来使用它们。

派生发行

官方的Arch安装程序是基于CLI命令行界面,对于那些需要GUI图形界面安装环境的用户,可以选择这些Live CD:

ArchBang- 一个默认使用openbox桌面环境的发行

Manjaro Linux- 一个默认使用Xfce桌面环境的发行

Chakra GNU/Linux- Chakra 项目发布的半滚动发行版

Antergos- 一个提供包括GNOME 3(默认),Cinnamon,Razor-qt,Base,KDE和Xfce多种桌面环境安装的发行(安装时可选)

Parabola GNU/Linux-libre- 基于 Arch Linux 的一个完全自由的 GNU/Linux 发行版。

其他流行的派生发行版包括Arch Linux ARM等。

参考资料

archlinux.清华大学开源软件镜像站.2024-01-30

Arch Linux.archlinux.org.2024-01-30