archlinux 安装软件命令(ArchLinux的)

您所在的位置:网站首页 archlinux包管理命令 archlinux 安装软件命令(ArchLinux的)

archlinux 安装软件命令(ArchLinux的)

2023-04-13 06:52| 来源: 网络整理| 查看: 265

注意!

对于 Arch Linux 用户,在系统升级前,建议你访问 Arch-Linux 主页查看最新消息,以了解异常更新的情况。如果系统更新需要人工干预,主页上将发布相关的新闻。你也可以订阅RSS 源或Arch 的声明邮件。

在升级基础软件(如 kernel、xorg、systemd 或 glibc) 之前,请注意查看相应的 论坛,以了解大家报告的各种问题。

在 Arch 和 Manjaro 等滚动发行版中不支持部分升级。这意味着,当新的库版本被推送到软件库时,软件库中的所有包都需要根据库版本进行升级。例如,如果两个包依赖于同一个库,则仅升级一个包可能会破坏依赖于该库的旧版本的另一个包。

用 Pacman 查找包

pacman使用-Q选项查询本地包数据库,使用-S选项查询同步数据库,使用-F选项查询文件数据库。

pacman可以在数据库中搜索包,包括包的名称和描述:

pacman -Ss 字符串1 字符串2 ...

archlinux 安装软件命令(ArchLinux的)(5)

查找已经被安装的包:

pacman -Qs 字符串1 字符串2 ...

根据文件名在远程软包中查找它所属的包:

pacman -F 字符串1 字符串2 ...

查看一个包的依赖树:

pactree 软件包名

清除包缓存

pacman将其下载的包存储在/var/cache/Pacman/pkg/中,并且不会自动删除旧版本或卸载的版本。这有一些优点:

它允许 降级一个包,而不需要通过其他来源检索以前的版本。已卸载的软件包可以轻松地直接从缓存文件夹重新安装。

但是,有必要定期清理缓存以防止文件夹增大。

pacman contrib包中提供的paccache(8)脚本默认情况下会删除已安装和未安装包的所有缓存版本,但最近 3 个版本除外:

paccache -r

archlinux 安装软件命令(ArchLinux的)(6)

要删除当前未安装的所有缓存包和未使用的同步数据库,请执行:

pacman -Sc

要从缓存中删除所有文件,请使用清除选项两次,这是最激进的方法,不会在缓存文件夹中留下任何内容:

pacman -Scc

安装本地或者第三方的包

安装不是来自远程存储库的“本地”包:

pacman -U 本地软件包路径.pkg.tar.xz

安装官方存储库中未包含的“远程”软件包:

pacman -U http://www.example.com/repo/example.pkg.tar.xz

额外内容:用 pacman 排除常见错误

下面是使用 pacman管理包时可能遇到的一些常见错误。

提交事务失败(文件冲突)

如果你看到以下报错:

error: could not prepare transaction error: failed to commit transaction (conflicting files) package: /path/to/file exists in filesystem Errors occurred, no packages were upgraded.

这是因为 pacman检测到文件冲突,不会为你覆盖文件。

解决这个问题的一个安全方法是首先检查另一个包是否拥有这个文件(pacman-Qo 文件路径)。如果该文件属于另一个包,请提交错误报告。如果文件不属于另一个包,请重命名“存在于文件系统中”的文件,然后重新发出更新命令。如果一切顺利,文件可能会被删除。

你可以显式地运行 pacman -S –overwrite 要覆盖的文件模式**,强制pacman` 覆盖与 给模式匹配的文件,而不是手动重命名并在以后删除属于该包的所有文件。

提交事务失败(包无效或损坏)

在 /var/cache/pacman/pkg/中查找.part文件(部分下载的包),并将其删除。这通常是由在pacman.conf文件中使用自定义XferCommand引起的。

初始化事务失败(无法锁定数据库)

当 pacman要修改包数据库时,例如安装包时,它会在/var/lib/pacman/db.lck处创建一个锁文件。这可以防止pacman的另一个实例同时尝试更改包数据库。

如果 pacman在更改数据库时被中断,这个过时的锁文件可能仍然保留。如果你确定没有pacman实例正在运行,那么请删除锁文件。

检查进程是否持有锁定文件:

lsof /var/lib/pacman/db.lck

如果上述命令未返回任何内容,则可以删除锁文件:

rm /var/lib/pacman/db.lck

如果你发现 lsof命令输出了使用锁文件的进程的 PID,请先杀死这个进程,然后删除锁文件。

我希望你喜欢我对 pacman基础命令的介绍。

via: https://itsfoss.com/pacman-command/

作者:Dimitrios Savvopoulos选题:lujun9972译者:Chao-zhi校对:wxy

本文由 LCTT原创编译,Linux中国荣誉推出

,


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3