pacman - archlinu环境下的包管理程序

上次使用pacman -Syu更新软件包后自动安装了开源版本的vscode,导致终端里使用code命令无法打开windows host中的官方版本vscode,今日卸载archlinux环境下安装的vscode,并使用pacman衍生的makepkg手动安装AUR库中的官方版本vscode,将一些心得和经验记录于下:

pacman官方文档

  1. 软件包基础搜索及安装卸载
    $ pacman -Ss 软件名称 //(搜索软件包)
    $ pacman -S 软件名称 //(安装软件包)
    $ pacman -Rs 软件名称 //(卸载软件包)
    $ pacman -Syu (更新)

  2. 包的查询及清理
    列出所有本地软件包(-Q,query查询本地;-q省略版本号)
    $ pacman -Qq

列出所有显式安装(-e,explicitly显式安装;-n忽略外部包AUR)
$ pacman -Qqe

列出自动安装的包(-d,depends作为依赖项)
$ pacman -Qqd

列出孤立的包(-t不再被依赖的”作为依赖项安装的包”)
$ pacman -Qqdt
注意:通常这些是可以妥妥的删除的。(sudo pacman -Qqdt | sudo pacman -Rs -)

  1. 软件包和文件的查询
    列出包所拥有的文件

    1
    2
    3
    4
    5
    6
    7
    8
    $ sudo pacman -Ql iw
    iw /usr/
    iw /usr/bin/
    iw /usr/bin/iw
    iw /usr/share/
    iw /usr/share/man/
    iw /usr/share/man/man8/
    iw /usr/share/man/man8/iw.8.gz

    check 检查包文件是否存在(-kk用于文件属性)

    1
    2
    $ sudo pacman -Qk iw
    iw: 7 total files, 0 missing files

    查询提供文件的包

    1
    2
    $ sudo pacman -Qo /usr/share/man/man8/iw.8.gz
    /usr/share/man/man8/iw.8.gz is owned by iw 5.0.1-1
  2. 查询包详细信息
    查询包详细信息(-Qi;-Qii[Backup Files])(-Si[Repository,Download Size];-Sii[Signatures,])
    $ pacman -Qi 包名
    Repository 仓库名称(要联网用pacman -Si或Sii才能看到这一栏;)
    Name 名称
    Version 版本
    Description 描述
    Architecture 架构
    URL 网址
    Licenses 许可证
    Groups 组
    Provides 提供
    Depends On 依赖于(依赖那些包)
    Optional Deps 可选项
    Required By 被需求的(被那些包需求)
    Optional For 可选项
    Conflicts With 与…发生冲突
    Replaces 替代对象
    Download Size 下载大小(要联网用pacman -Si或Sii才能看到这一栏;)
    Installed Size 安装尺寸
    Packager 包装者
    Build Date 包装日期
    Install Date 安装日期
    Install Reason 安装原因(主动安装,还是被依赖自动安装)
    Install Script 安装脚本
    Validated By 验证者

  3. 卸载软件包
    pacman -Rs 会递归删除目标软件包及其包含的一些依赖,这些依赖不被其他包依赖的,但经过实践会发现,一些作为可选项被依赖的包也会被删除,所以保险起见,可以先使用pacman -Rc只删除当前安装包,之后使用pacman -Rc $(pacman -Qtdq)删除不再被需要的依赖,此时不包含可选依赖

  4. makepkg安装AUR包
    makepkg是一个软件包自动编译脚本。使用时需要一个 Unix 环境和 PKGBUILD.使用之前,确保 base-devel包组 软件组已经安装。
    安装软件包分为以下几个步骤

    • 首先需要找到软件包构建所需文件,克隆其git存储库,在其AUR页面的“包详细信息”中标记为“Git Clone URL”。
    • 之后切换到含有软件包的 PKGBUILD 文件的目录
    • 使用如下命令编译软件包并安装软件包所需依赖
      $ makepkg --syncdeps / -s
    • 最后安装软件包
      $ makepkg --install / -i
    • 删除软件包时可以使用pacman对应命令

pacman - archlinu环境下的包管理程序
http://example.com/2023/11/16/pacman/
作者
李凯华
发布于
2023年11月16日
许可协议