[Linux]pacman命令详解

news/2025/1/9 22:16:12/文章来源:https://www.cnblogs.com/lusuo/p/18662989

以下只是一些pacman的简单操作实例。

1. 更新系统

在 Archlinux 中,使用一条命令即可对整个系统进行更新:

 

pacman -Syu

如果你已经使用 pacman -Sy 将本地的包数据库与远程的仓库进行了同步,也可以只执行:

pacman -Su

2. 安装包

# pacman -S 包名:例如,执行 pacman -S firefox 将安装 Firefox。你也可以同时安装多个包, 只需以空格分隔包名即可。
# pacman -Sy 包名:与上面命令不同的是,该命令将在同步包数据库后再执行安装。
# pacman -Sv 包名:在显示一些操作信息后执行安装。
# pacman -U:安装本地包,其扩展名为 pkg.tar.gz。

3. 删除包

# pacman -R 包名:该命令将只删除包,不包含该包的依赖。
# pacman -Rs 包名:在删除包的同时,也将删除其依赖。
# pacman -Rd 包名:在删除包时不检查依赖。

4. 搜索包

# pacman -Ss 关键字:这将搜索含关键字的包。
# pacman -Qi 包名:查看有关包的信息。
# pacman -Ql 包名:列出该包的文件。

5. 其他用法

# pacman -Sw 包名:只下载包,不安装。
# pacman -Sc:Pacman 下载的包文件位于 /var/cache/pacman/pkg/ 目录。该命令将清理未安装的包文件。
# pacman -Scc:清理所有的缓存文件。

简单实例

安装软件包
安装或者升级单个软件包,或者一列软件包(包含依赖包),使用如下命令:

  1. pacman -S package_name1 package_name2

有时候在不同的软件仓库中,一个软件包有多个版本(比如extra和testing)。你可以选择一个来安装:

  1. pacman -S extra/package_name
  2. pacman -S testing/package_name

删除软件包
删除单个软件包,保留其全部已经安装的依赖关系

  1. pacman -R package_name

删除指定软件包,及其所有没有被其他已安装软件包使用的依赖关系:

  1. pacman -Rs package_name

缺省的,pacman会备份被删除程序的配置文件,将它们加上*.pacsave扩展名。如果你在删除软件包时要同时删除相应的配置文件(这种行为在基于Debian的系统中称为清除purging),你可是使用命令:

  1. pacman -Rn package_name

当然,它也可以加上-s参数来删除当前无用的依赖。这样的话,真正删除一个软件包、它的配置文件以及所有不再需要的依赖的命令如下:

  1. pacman -Rsn package_name

升级系统
Pacman能够只用一个指令来升级系统中所有已安装的包。升级的时间取决于你的系统有多新。

  1. pacman -Su

当然,最好做法的是将升级系统和同步仓库数据合成为一条指令:

  1. pacman -Syu

查询包数据库
Pacman可以在包数据库中查询软件包,查询位置包含了包的名字和描述:

  1. pacman -Ss package

要查询已安装的软件包:

  1. pacman -Qs package

一旦你得到了软件包的完整名字,你可以获取关于它的更为详尽的信息:

  1. pacman -Si package
  2. pacman -Qi package

要获取已安装软件包所包含文件的列表:

  1. pacman -Ql package

你也可以通过查询数据库获知目前你的文件系统中某个文件是属于哪个软件包。

  1. pacman -Qo /path/to/a/file

要罗列所有不再作为依赖的软件包(孤立orphans):

  1. pacman -Qdt

Pacman使用-Q参数来查询本地软件包数据库。参见:

  1. pacman -Q help

…而使用-S参数来查询远程同步的数据库。参见:

  1. pacman -S help

详情可参见pacman man。

其它用法
Pacman是个非常广泛的包管理工具,这里只是它的一些其它主要特性。
• 下载包而不安装它:

  1. pacman -Sw package_name

• 安装一个’本地’包(不从源里):

  1. pacman -U /path/to/package/package_name-version.pkg.tar.gz

• 安装一个’远程’包(不从源里):

  1. pacman -U http://url/package_name-version.pkg.tar.gz

• 清理当前未被安装软件包的缓存(/var/cache/pacman/pkg):

  1. pacman -Sc

• 完全清理包缓存:

  1. pacman -Scc

Warning: 关于pacman -Scc,仅在你确定不需要做任何软件包降级工作时才这样做。pacman -Scc会从缓存中删除所有软件包。
• 要删除孤立软件包(递归的,要小心):

  1. pacman -Rs $(pacman -Qtdq)

• 重新安装你系统中所有的软件包(仓库中已有的):

  1. pacman -S $(pacman -Qq | grep -v $(pacman -Qmq)”)

• 获取本地软件包和它们大小的一个已排序清单列表:

  1. LANG=C pacman -Qi | sed -n ‘/^Name[^:]*: (.*)/{s//1 /;x};/^Installed[^:]*: (.*)/{s//1/;H;x;s/n//;p}’ | sort -nk2

要了解更详细的参数开关可以pacman –help或者man pacman。

配置
Pacman的配置文件位于/etc/pacman.conf。关于配置文件的进一步信息可以用man pacman.conf查看。

常用选项
常用选项都在[options]段。阅读man手册或者查看缺省的pacman.conf可以获得有关信息和用途。
跳过升级软件包
如果由于某种原因,你不希望升级某个软件包,可以加入内容如下:

  1. IgnorePkg = 软件包名

跳过升级软件包组
和软件包一样,你也可以象这样跳过升级某个软件包组:

  1. IgnoreGroup = gnome

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/866781.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python + Appium 自动化操作微信入门(超详细)

Appium是一个开源的自动化测试工具,支持 Android、iOS 平台上的原生应用,支持 Java、Python、PHP 等多种语言。Appium是一个开源的自动化测试工具,支持 Android、iOS 平台上的原生应用,支持 Java、Python、PHP 等多种语言。 Appium 封装了 Selenium,能够为用户提供所有常见…

浅谈STC单片机看门狗的作用和使用成都控制器开发

有的控制器的运行环境是很复杂的,比如可能突然来个电压,突然来个浪涌,周围存在的强电磁场也可能交替对控制器造成冲击,也有可能外部器件出现错误很久不响应,这样就有可能让单片机的程序跑飞,或者进入死循环出不来,那这就完蛋了。怎么办呢? 一个简单的办法就是使用单片机…

【云计算】银行数据中心私有云平台2.0建设(来自真实案例,很有启发性)

【导读】某行数据中心私有云平台一期建设后投入使用。但在使用过程中遇到了诸多实际问题:审批流程不贴合实际情况、自动化程度较低、云平台无法与CMDB联动、裸金属纳管等。本文对问题根源进行了探讨,并分享了通过对资源管理模式、审批流程、资源部署、微服务部署等方面进行优…

markdown学习记录

markdown学习 标题 标题用“#” 字体 这是加粗(两个星号) 这是倾斜(一个星号) 加粗+倾斜(三个星号) 这是删除线 (两个~~) 引用大于号是引用分割线(“---”或“***”) 插入图片 !+[名称]+(URL)超链接 [地址名]+(网址) 我的博客地址 列表 有序用数字,无序用“-”号A…

【实用技巧】【探讨】Java 中比较两个对象的差异

1 前言 大家平时写业务代码的时候,应该能感知到哪些是基础配置数据,哪些是实例数据。比如营销里的活动信息、促销信息就属于配置型数据,基于活动带来的订单参与活动信息属于实例数据。比如一些规则信息、流程信息等类似一种版本的概念。那么版本跟版本之间的差异、以及创建…

主机与虚拟机互ping不通的解决办法

一、主机ping不通虚拟机,但虚拟机可以ping主机 解决办法:二、虚拟机ping不通主机,但主机可以ping虚拟机 解决办法: 这里说的第一点我不知道,我是虚拟机可以ping通百度,之前虚拟机有过相关配置 我这里主要是win11电脑网络连接这里开启防火墙下面简单的说明下Vmware的网络连…

Win32汇编学习笔记09.SEH和反调试

Win32汇编学习笔记09.SEH和反调试-C/C++基础-断点社区-专业的老牌游戏安全技术交流社区 - BpSend.net SEH - structed exception handler 结构化异常处理 跟筛选一样都是用来处理异常的,但不同的是 筛选器是整个进程最终处理异常的函数,但无法做到比较精细的去处理异常(例如处理…

【Windows攻防】Windows注册表 IFEO注入

介绍 IFEO 注入攻击是一种基于注册表的攻击技术,几乎可以保证以登录用户甚至管理员/系统用户的身份执行代码。在任何你可以想象的用例中,如果你想要将你的有效载荷绑定到 Windows 平台上二进制文件的“启动”,IFEO(图像文件执行选项)可能是你最好的选择。这是一种开发人员…

[Java] 计算Java对象大小

序在Java应用程序的性能优化场景中,时常需要考虑Java对象的大小,以便评估后,进一步提出优化方案:占用内存的大小。(比如 本地内存) 对象数据在网络传输中占用的网络带宽 对象数据在存储时占用的磁盘空间 ...概述 对象大小如何计算对象大小包括俩部分的内容,对象头和对象…

并行前缀(Parallel Prefix)加法器

并行前缀(Parallel Prefix)加法器 并行前缀加法器的基本介绍 二进制加法器是目前数字计算单元中的重要模块,基础的加法器架构包括行波进位加法器(Ripple Carry Adder),超前进位加法器(Carry Look-Ahead Adder),进位选择加法器(Carry Select Adder)等。加法器的进位传…

科技风?写实风?教你设置多风格三维地图

概述 三维地图通过高度、深度、立体感等表现形式,能够真实还原地形地貌、城市建筑和空间结构。相比二维地图,它能够更清晰地展示复杂的地理数据,帮助用户快速理解空间关系,如地形起伏、建筑高度等。在实际应用中,我们可以将不同风格的三维地图作为项目的主体元素进行展示,…

【模拟电子技术】03-PN与二极管的特性

【模拟电子技术】03-PN与二极管的特性上节中有提到对PN结施加反向电压时,会使得PN结所形成的势垒增加,阻止多子到另一边。在掺杂浓度比较低的时候,外加电场加强,中间的耗尽层会加长,变成了一个粒子加速器,自由电子进去后不断加速。直到某一电场强度时,粒子加速足够大的时…