pacman 包管理器使用教程

pacman 包管理器使用教程

loskyertt Unknown

1.介绍

EndeavouOS(以及其他基于Arch的发行版)中,pacman 是一个用于软件包管理的命令行工具。下面是 pacman 命令的详细解释:

  • -S:用于安装软件包。
  • -y:强制刷新软件包数据库。
  • -yy:强制刷新所有的软件包数据库。通常只需要一个 -y 就足够,但 -yy 用于解决某些情况下可能出现的数据库同步问题。
  • -u:更新所有已安装的软件包,用于更新系统或者pacman包含的软件以及以来库。

对于所有用pacman进行的操作,都可以通过yay实现:

1
sudo pacman yay

yay支持的软件多一些(通过aur源)。

2.下载和更新

  • 要更新或下载指定的软件包:
    1
    sudo pacman -S 包名
    pacman 会检查你指定的软件包是否有新版本,如果有的话,就会下载并安装更新后的版本。

3.查看包/库信息

  • 查看包名信息
    显示指定软件包的信息,但不会安装或更新。这个选项可以用来查看某个软件包的详细信息,包括它的版本、依赖关系等。例如:
    1
    sudo pacman -Si <pkgname>

查看包的简略信息:

1
yay -Qs <pkgname>

查看包的详细信息:

1
yay -Qi <pkgname>
  • 查看可升级的包/库:
    列出有可用更新的已安装软件包及其最新版本。
    1
    sudo pacman -Qu

列出所有的外部软件包(即非官方仓库安装的包,如AUR软件包):

1
sudo pacman -Qm

4.卸载

4.1 卸载单个软件包

要卸载单个软件包,可以使用以下命令:

1
sudo pacman -R package_name

4.2 卸载软件包及其未使用的依赖

有时卸载一个包后,它的一些依赖包可能不再被其他软件包使用。要卸载软件包及其未使用的依赖,可以使用以下命令:

1
sudo pacman -Rns package_name

解释:

  • -R(–remove):卸载指定的包。
  • -n(–nosave):从系统中删除安装包的所有配置文件。
  • -s(–recursive):递归地卸载未使用的依赖包。

4.3 强制卸载(不推荐)

在极少数情况下,可能需要强制卸载一个包,即使这可能会破坏系统的依赖关系。请谨慎使用此选项:

1
sudo pacman -Rdd package_name

解释:

  • -d:忽略依赖关系检查。

4.4 清理未使用的孤立包

系统中可能会有一些未使用的孤立包,这些包是作为依赖安装的,但现在没有任何包依赖它们。可以使用以下命令清理这些孤立包:

1
sudo pacman -Rns $(pacman -Qtdq)

解释:

  • pacman -Qtdq:列出所有未使用的孤立包。
  • -Rns:递归地卸载未使用的包及其配置文件。

5.查看安装包的文件及其路径

1
sudo pacman -Ql boost

输出示例:

1
2
3
4
5
6
7
8
9
boost /usr/share/boostbook/xsl/source-highlight.xsl
boost /usr/share/boostbook/xsl/template.xsl
boost /usr/share/boostbook/xsl/testing/
boost /usr/share/boostbook/xsl/testing/Jamfile.xsl
boost /usr/share/boostbook/xsl/testing/testsuite.xsl
boost /usr/share/boostbook/xsl/type.xsl
boost /usr/share/boostbook/xsl/utility.xsl
boost /usr/share/boostbook/xsl/xhtml.xsl
boost /usr/share/boostbook/xsl/xref.xsl

可以加上grep进行匹配:

1
sudo pacman -Ql boost | grep cmake

grep后加上-i参数可以忽略大小写进行匹配查找。

  • Title: pacman 包管理器使用教程
  • Author: loskyertt
  • Created at : 2024-07-24 08:51:17
  • Updated at : 2024-12-11 09:26:42
  • Link: https://redefine.ohevan.com/2024/07/24/pacman包管理器/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments