文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Arch Linux的pacman命令怎么用

2023-06-28 16:27

关注

本篇文章为大家展示了Arch Linux的pacman命令怎么用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

pacman 命令可以在Linux系统中查找新的安装包、安装和升级新的安装包、以及清理系统等功能。

Arch Linux 用户应该知道的几个重要的 pacman 命令

与其他包管理器一样,pacman 可以将包列表与软件库同步,它能够自动解决所有所需的依赖项,以使得用户可以通过一个简单的命令下载和安装软件。

通过 pacman 安装软件

你可以用以下形式的代码来安装一个或者多个软件包:

  1. pacman -S 软件包名1 软件包名2 ...

Arch Linux的pacman命令怎么用

安装一个包

-S 选项的意思是同步synchronization,它的意思是 pacman 在安装之前先与软件库进行同步。

pacman 数据库根据安装的原因将安装的包分为两组:

卸载已安装的软件包

卸载一个包,并且删除它的所有依赖。

  1. pacman -R 软件包名

Arch Linux的pacman命令怎么用

移除一个包

删除一个包,以及其不被其他包所需要的依赖项:

  1. pacman -Rs 软件包名

如果需要这个依赖的包已经被删除了,这条命令可以删除所有不再需要的依赖项:

  1. pacman -Qdtq | pacman -Rs -

升级软件包

pacman 提供了一个简单的办法来 升级 Arch Linux。你只需要一条命令就可以升级所有已安装的软件包。这可能需要一段时间,这取决于系统的新旧程度。

以下命令可以同步存储库数据库,并且 更新系统的所有软件包,但不包括不在软件库中的“本地安装的”包:

  1. pacman -Syu

也就是说,同步到中央软件库(主程序包数据库),刷新主程序包数据库的本地副本,然后执行系统更新(通过更新所有有更新版本可用的程序包)。

Arch Linux的pacman命令怎么用

系统更新

注意!

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

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

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

用 Pacman 查找包

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

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

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

Arch Linux的pacman命令怎么用

查找一个包

查找已经被安装的包:

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

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

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

查看一个包的依赖树:

  1. pactree 软件包名

清除包缓存

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

  1. 它允许 降级 一个包,而不需要通过其他来源检索以前的版本。

  2. 已卸载的软件包可以轻松地直接从缓存文件夹重新安装。

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

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

  1. paccache -r

Arch Linux的pacman命令怎么用

清除缓存

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

  1. pacman -Sc

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

  1. pacman -Scc

安装本地或者第三方的包

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

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

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

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

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

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

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

如果你看到以下报错:

  1. error: could not prepare transaction

  2. error: failed to commit transaction (conflicting files)

  3. package: /path/to/file exists in filesystem

  4. 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 实例正在运行,那么请删除锁文件。

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

  1. lsof /var/lib/pacman/db.lck

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

  1. rm /var/lib/pacman/db.lck

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

上述内容就是Arch Linux的pacman命令怎么用,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯