什么是Pacman?
Pacman(Package Manager)是Arch Linux发行版中的核心包管理工具,它负责软件包的安装、更新和删除,Pacman结合了其他Linux发行版的多种优点,如Debian的APT机制、Red Hat的Yum/Dnf机制以及SUSE的Yast等,为用户提供了简单且强大的包管理功能。
一、Pacman的基本功能
1. 更新系统
在Arch Linux中,使用一条命令即可对整个系统进行更新,最常用的命令是pacman -Syu
,该命令不仅同步本地的包数据库与远程仓库,还会升级系统中所有已安装的包,如果你已经使用pacman -Sy
将本地的包数据库与远程仓库进行了同步,也可以只执行pacman -Su
来仅升级系统。
2. 安装包
Pacman提供了多种方式来安装软件包,最基本的命令是pacman -S <package_name>
,你可以一次性安装多个包,只需以空格分隔包名即可。pacman -S firefox sublime-text
会同时安装Firefox和Sublime Text,你还可以使用pacman -Sy <package_name>
先同步包数据库再安装包,或者使用pacman -Sv <package_name>
在显示一些操作信息后执行安装。
3. 删除包
Pacman允许你删除不再需要的软件包,使用pacman -R <package_name>
可以删除单个软件包,但不会删除其依赖项,如果你希望同时删除软件包及其依赖项,可以使用pacman -Rs <package_name>
,还可以使用pacman -Rd <package_name>
在删除包时不检查其依赖关系。
4. 搜索包
Pacman提供了丰富的搜索功能,你可以使用pacman -Ss <keyword>
搜索含关键字的包,使用pacman -Qi <package_name>
查看有关包的信息,或者使用pacman -Ql <package_name>
列出该包的文件。
5. 其它用法
除了上述基本功能外,Pacman还提供了许多其他有用的命令,使用pacman -Sw <package_name>
可以只下载包但不安装;使用pacman -Sc
可以清理未安装的包文件;使用pacman -Scc
可以清理所有的缓存文件。
二、Pacman的使用实例
1. 安装软件包
假设你想安装或升级单个或多个软件包,可以使用以下命令:
pacman -S package_name1 package_name2
有时候在不同的软件仓库中,一个软件包可能有多个版本(比如extra和testing),你可以选择一个来安装:
pacman -S extra/package_name pacman -S testing/package_name
2. 删除软件包
如果你想删除某个软件包并保留其全部已经安装的依赖关系,可以使用:
pacman -R package_name
如果你想删除指定软件包及其所有没有被其他已安装软件包使用的依赖关系,可以使用:
pacman -Rs package_name
缺省情况下,Pacman会备份被删除程序的配置文件,将它们加上*.pacsave扩展名,如果你在删除软件包时也想同时删除这些配置文件(这种行为在基于Debian的系统中称为清除purging),可以使用:
pacman -Rn package_name
要删除孤立软件包(递归的,要小心):
pacman -Rs $(pacman -Qtdq)
3. 查询包数据库
你可以使用pacman -Q
参数来查询本地软件包数据库,列出所有软件包:
pacman -Qe
查询安装的软件包:
pacman -Qe
查询安装的软件包,但不显示版本:
pacman -Qea
查询本地安装的所有名称带pkg_name
的全部软件包:
pacman -Qs pkg_name
查询所有不再被需要的孤儿软件包:
pacman -Qdt
要罗列所有不再作为依赖的软件包(孤立orphans):
pacman -Qdtq
查询不在本地包数据库中的孤儿软件包:
pacman -Qdtq --noconfirm
查询所有不再被依赖的包名:
pacman -Qdtq --noconfirm --noedit
要获取关于某包的信息:
pacman -Qi package_name
列出某包的文件:
pacman -Ql file_path
要查询你的文件系统中某个文件是属于哪个软件包:
pacman -Qo /path/to/a/file
要查询本地软件包数据库中的孤儿软件包:
pacman -Qdtq --noconfirm --noedit
要查询所有不再被依赖的包名:
pacman -Qdtq --noconfirm --noedit --noconfirm --noedit --noconfirm --noedit --noconfirm --noedit --noconfirm --noedit --noconfirm --noedit --noconfirm --noedit --noconfirm --noedit --noconfirm --noedit --noconfirm --noedit --noconfirm --noedit --noconfirm --noedit --noconfirm --noedit --noconfirm --noedit --noconfirm --noedit --noconfirm --noedit --noconfirm --noedit --noconfirm --noedit --noconfirm --noedit --noconfirm --noedit --noconfirm --noedit --noconfirm --noedit --noconfirm --noedit --noconfirm --noedit --noconfirm --noedit --noconfirm --noconfirm --noedit --noconfirm --noconfirm --noedit --noconfirm --noconfirm --noedit --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --noconfirm --no确认是否删除所有已安装的软件包:
sudo pacman -Rns $(pacman -Qqm)
要重新安装系统中的所有软件包(仓库中已有的):
sudo pacman -S $(pacman -Qqm)
要查询本地软件包数据库中的孤儿软件包:
pacman -Qdtq –noconfirm –noedit
要查询所有不再被依赖的包名:
pacman -Qdtq –noconfirm –noedit –noconfirm –noedit –noconfirm –noedit –noconfirm –noedit –noconfirm –noedit –noconfirm –noedit –noconfirm –noedit –noconfirm –noedit –noconfirm –noedit –noConfirmed by the system administrator:
sudo pacman -Rns $(pacman -Qqm)
要重新安装系统中的所有软件包(仓库中已有的):
sudo pacman -S $(pacman -Qqm)
要查询本地软件包数据库中的孤儿软件包:
pacman -Qdtq --noconfirm --noedit
要查询所有不再被依赖的包名:
pacman -Qdtq --noconfirm --noedit --noConfirmed by the system administrator:
sudo pacman -Rns $(pacman -Qqm)
要重新安装系统中的所有软件包(仓库中已有的):
sudo pacman -S $(pacman -Qqm)
要查询本地软件包数据库中的孤儿软件包:
pacman -Qdtq –noconfirm –NoEditting–NoConfirmation–NoEditing–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmation–NoConfirmate all packages (including those not in the official repositories):
sudo pacman -S $(pacman -Qqm)
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1385971.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复