当前位置: 首页 > news >正文

【银河麒麟】桌面操作系统-dpkg命令的常见用法

【 概 述 】银河麒麟桌面系统的包管工具dpkg在实际的生产、办公或是排障中有很大用处,下面笔者将结合案例展现dpkg命令的一些常见用法,文末拓展了一个实用的包提取工具


【 常见用法 】

1、# dpkg -l | grep 包名 查看是否安装了某个软件包,grep适用于我们记不清软件包的准确名称的情况

## 比如说我们的系统没有正常进入图形界面,可以通过该命令查看相关软件包的状态,是否被删除,或者直接没有找到这个软件;又比如我们想查看系统是是否装有wps软件,可以使用该命令确定,如上图返回五列,分别表示:软件包状态,ii为已安装;软件包名;软件包版本;架构;软件包描述

常见状态符号及含义如下:

ii
表示软件包已安装且配置完成(i=installed)。这是正常安装后的标准状态。

rc
表示软件包已被删除(r=removed),但配置文件仍保留在系统中(c=config-files)。可通过apt purge彻底清除。

un
表示软件包未被安装(u=unknown),且系统未保留其配置文件(n=not-installed)。

hi
表示软件包被手动标记为保留(h=hold),阻止自动升级或删除。可通过apt-mark hold设置。

pn
表示软件包被彻底清除(p=purged),包括所有配置文件(n=not-installed)。

ud
表示软件包因依赖问题未完成安装或配置(u=unpacked, d=half-configured)。

2、# dpkg -l | grep "^rc" 查看被卸载但仍保留有配置文件的软件包 # dpkg -l | grep -v "ii" 查看状态除正常已安装之外的所有其他状态的软件包

## 这两个命令常用于查看系统中被误删除的软件

3、# dpkg -L 软件包名 查看某个已安装软件包的所有文件和目录路径,适用于已安装的包 # dpkg -c 软件包全名 显示 .deb 包中所有文件的列表,包括路径和权限信息,适用于尚未安装的包文件

## 如图,我们可以看到ukui-greeter软件包安装的文件,这里我截取了部分,如配置文件ukui-greeter.conf和可执行文件也就是命令ukui-greeter,在排障中,也可以通过执行该命令初步确定软件包是否被删除

## 可以看到dpkg -L和dpkg -c的区别,前者指定包名即可,后者指定的是当前目录下存在的软件包全名

4、# dpkg -s 软件包名 查看软件包的详细信息

## 如图,可以看到软件的状态、版本、依赖和描述等

5、# dpkg -S 文件 查询某个文件所属软件包

## https://blog.csdn.net/H15578730450/article/details/155780845?spm=1001.2014.3001.5502

在上一篇库文件损坏的博客中,我们采用的是拷贝同系统的libmount.so.1.1.0库,将损坏的库替换,再重建软链接和更新库缓存。当然也可以通过查看该文件所属的软件包为libmount1,然后重装该包修复

6、# dpkg -i 软件包全名 安装指定软件包 # dpkg -i *.deb 安装当前目录下所有的软件包

## 上图为安装libmount1软件包示例

7、# dpkg -x 软件包全名 /target/directory 提取.deb包的内容到指定目录下(不安装)

## 这里我创建了一个空目录libmount1,并将当前目录下的libmount1软件包中的内容提取到了该目录下,可以看到这个包中的内容包含了libmount.so的库文件,我们也可以通过这种方法提取库文件替换损坏了的libmount.so.1.1.0

8、# dpkg -r 软件包名 卸载软件包但保留其配置文件 # dpkg -P 软件包名 彻底卸载软件包及其所有配置文件

## 以上为卸载软件的命令

9、# dpkg --add-architecture 体系架构 用于在当前架构中添加其他的体系架构 # dpkg --remove-architecture 体系架构 用于在架构列表中移除某架构 # dpkg --print-architecture 显示dpkg体系架构 # dpkg --print-foreign-architectures 显示已启用的异质体系结构

## 以上命令适用于能连外网源的情况,如图,我的系统架构是arm64,当我想通过这个系统下载amd64架构的软件包时,可以通过--add-architecture选项添加amd64的架构,然后通过apt download 软件包名:amd64指定下载这一架构的软件包

【 扩 展 】


# dpkg-repack 软件包名 提取系统中的某个软件包到当前目录下

## dpkg-repack常用于内网环境下,提取系统中的某个软件包。如上图,从同样系统的机器中提取libmount1软件包,放到libmount.so.1.1.0库损坏的机器上安装,同样可以解决库文件损坏的问题。dpkg-repack这个软件包有需要的私信

http://www.cnnetsun.cn/news/113540.html

相关文章:

  • 雷柏V500Pro键盘新手必看:5分钟搞定基础设置
  • Java小白必看:5分钟上手MD5加密解密
  • AI一键搞定Java8安装:快马平台智能配置指南
  • 二叉排序树的构建与遍历
  • AI风险行为识别系统开发:给安全防护装个“智能哨兵”
  • After Effects Roto Brush 3.0:甲方没给绿幕也要“抠人”?AI 帮你 3 秒钟搞定逐帧噩梦
  • 1分钟搞定!用zip命令快速打包你的项目原型
  • 28、Linux 文件和目录管理全解析
  • 雷科电力-REKE610D绝缘油介质损耗电阻率测试仪
  • 对于设计IT系统的相关思路
  • 轻量无负担!2025 年 3 款小巧型文件加密软件分享
  • Canoe-Autosar网络管理自动化测试脚本 Capl源码,全套,修改项目配置可以直接使用...
  • 亚马逊、速卖通采购测评:构建安全环境,保障高效下单指南
  • 软连接vs硬链接:哪种更能提升你的工作效率?
  • 完全合作型博弈:当所有人的利益捆绑在一起 (Fully Cooperative)
  • 挖SRC必须知道的25个漏洞提交平台
  • AI市场舆情分析榜,原圈科技领跑研报神器
  • AI一键生成Python安装包配置脚本
  • 零基础学网安不慌!电脑小白 4 阶段入门路线,分阶段学习不踩坑
  • 传统锁 vs Redisson分布式锁:效率对比实测
  • 封神!从开发转安全渗透工程师,这是我做的最对的职业选择
  • 3、循环与分支:编程中的核心逻辑控制
  • 小白必看:5分钟学会检查你的个人信息是否泄露
  • 效率对比:传统开发vs使用MyBatisPlus代码生成器
  • DeepSeek在线:5分钟打造你的AI应用原型
  • EVS9323-EP伺服变频器
  • AI市场舆情分析榜,原圈科技领跑车企
  • 1900-0711-81触摸屏面板
  • 深圳比亚迪游学|被Zhong国智造狠狠圈粉!新能源黑科技太炸了[特殊字符]✨
  • 小程序项目之捷邻小程序源码(java+ssm+小程序+mysql)