 
			
			pacman 包管理器使用教程
 
			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 | boost /usr/share/boostbook/xsl/source-highlight.xsl | 
可以加上grep进行匹配:
| 1 | sudo pacman -Ql boost | grep cmake | 
在grep后加上-i参数可以忽略大小写进行匹配查找。
6.问题汇总
6.1 PGP 签名问题
有时候执行pacman -Syu时,会出现这种问题:
| 1 | invalid or corrupted package (PGP signature) error | 
解决办法:
| 1 | sudo pacman -S archlinux-keyring | 
一般执行这两条命令后,就能成功解决了,如果还不行,就手动删除corrupted pkgs(提示所损坏的包)。
- Title: pacman 包管理器使用教程
- Author: loskyertt
- Created at : 2024-07-24 08:51:17
- Updated at : 2025-02-17 04:36:55
- Link: https://redefine.ohevan.com/2024/07/24/pacman包管理器/
- License: This work is licensed under CC BY-NC-SA 4.0.
        Comments
    
    
        
            
    
    
        
    
 
  