pacman :软件包管理器

更新时间:2024-09-20 22:11

Pacman 是一个软件包管理器,作为Arch Linux发行版的一部分,是Arch Linux 的一大亮点。它将一个简单的二进制包格式和易用的构建系统结合了起来。不管软件包是来自官方的 Arch 库还是用户自己创建,Pacman 都能方便的管理。

开发历史

受到另一个极简主义发行版CRUX的启发,Judd Vinet 在 2002 年 3 月启动了 Arch Linux 项目。选择这个名称是因为 Vinet 喜欢这个词的“主要”含义,如“头号敌人”。

最初仅适用于32 位 x86 CPU,第一个x86_64安装 ISO 于 2006 年 4 月发布。

Vinet 一直领导 Arch Linux 直到 2007 年 10 月 1 日,之后他因时间不够而辞职,并将该项目的控制权移交给 Aaron Griffin。

2012 年 8 月开始迁移到systemd作为其初始化系统,并于 2012 年 10 月成为新安装的默认系统。它取代了自发行版诞生以来一直使用的SysV 风格的初始化系统。

i686支持的终止于 2017 年 1 月宣布,2017 年 2 月的 ISO 是最后一个包含 i686 的ISO ,并于 2017 年 11 月使该架构不再受支持。从那时起,社区衍生品 Arch Linux 32 可以用于 i686 硬件。

2020 年 2 月 24 日,Aaron Griffin 宣布,由于他对该项目的参与有限,他将在投票期结束后将该项目的控制权移交给 Levente Polyak。这一变化还导致项目负责人职位增加了新的 2 年任期。

2021 年 3 月,Arch Linux 开发人员正在考虑将 Arch Linux 软件包移植到x86_64-v3 ,大致与英特尔 Haswell处理器时代相关。

2021 年 4 月,Arch Linux 安装映像开始默认包含引导安装脚本。

2021 年底,Arch Linux 开发人员发布了 Pacman 6.0,支持并行下载。

2022 年 2 月,Arch Linux 开发人员开始提供调试包。

软件简介

Pacman 包管理器是 Arch Linux 的一大亮点。Pacman 通过和主服务器同步软件包列表来进行系统更新,这使得注重安全的系统管理员的维护工作成为轻而易举的事情。这种服务器/客户端模式可以使用一条命令就下载/安装软件包,同时安装必需的依赖包。

功能和服务

pacman的官方并没有发布有图形界面的前端,其他的开发者发布了可用的pacman GUI图形前端。以下是一些可用的pacman GUI图形前端:

Qt/KDE界面

- Shaman: Shaman是多功能的Qt 4前端,它扩展了pacman一系列功能,图形化的设置,以及ABS的支持。

- pacmanager-svn: 用Qt 4开发,基于pacman的包管理器。

- kpacupdate: 适用与KDE系统消息栏的Pacman更新消息提示工具。

- octopi: 使用Qt编写的pacman图型前端。

- oktopi: octopi的分支,针对KDE所设计,已并入octopi。

TK/GNOME界面

- gtkpacman: 采用PyGTK2开发的pacman图形前端。

- alunn: 显示新的更新和消息的系统提示。

- guzuta: 另一个采用PyGTK开发的前端。

- pacmon-svn: 提示可用更新的任务栏部件。

- pacupdate: 提示系统更新的系统提示。

- wakka: gtkpacman的一个分支。

- kalu: 在系统匣显示官方新闻及更新(包含官方套件库及AUR),同时包含了一个系统升级的图形前端。

PacmanXG4 — 是一个 pacman 的 GUI 前端。不依赖于GTK 或者 Qt,仅仅依赖X11。它可以完成以下功能:

- 安装/移除/升级软件包

- 搜索/过滤软件包

- 获取软件包信息,包括截图

- 降级软件包 (需要 AUR/downgrade 工具)

- 刷新包数据库,同步镜像

- 一键式系统升级

- Find out which package a specific file belongs to (include file with pkgfile utility)

- YAOURT 支持

语法

Pacman 的操作主要通过在终端中输入命令来完成。以下是一些常用的命令和参数:

同步包

在终端机里输入:

pacman -S \u003cpackage\u003e

这样系统会自动下载封包`\u003cpackage\u003e`以及所有的依存套件,同时进行一系列套件的安装过程进行。

参数:

- `-s --search \u003c正则表达式\u003e`:会在所有源列表中搜索与表达式匹配的包并列出

- `-u --sysupgrade`:将升级所有版本比源列表低的包,通过调用两次可以变为与源列表不相等的包,该命令对于从不稳定源切换至稳定源十分有用

- `-w --downloadonly`:只返回搜索结果,不进行安装或升级操作

- `-y --refresh`:下载主源列表最新副本,通常配合-u使用,通过调用两次即可强制下载,即使版本相同

移除

在终端机里输入:

pacman -R \u003cpackage\u003e

这样系统会自动移除`\u003cpackage\u003e`以及任何依此存套件的其它套件。

参数:

- `-c --cascade`:递归删除该包及所有与该包有依赖关系的包,请小心使用该参数

- `-u --uneeded`:删除向下没有依赖关系的包,比起-c,本参数更为安全

更新

在终端机中输入:

pacman -U \u003cpackage\u003e

这样系统可以同步已经在本地的包至最新状态。

参考资料

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}
友情链接: