dpkg(Debian Package)和rpm(RPM Package Manager)是两种不同的Linux包管理工具,它们各自在特定的Linux发行版中占据核心地位。两者之间对比如下:

  1. 所属发行版:dpkg主要用于Debian及其衍生系统,如Ubuntu、Knoppix等。而rpm则主要用于Red Hat及其衍生系统,如CentOS和Fedora。
  2. 软件包格式:dpkg使用.deb格式的软件包,而rpm则使用.rpm格式的软件包。这两种格式在安装、更新和删除过程中都提供了依赖性的检查和处理功能,但具体的实现方式可能有所不同。
  3. 依赖性管理:dpkg和rpm都能有效地管理软件包的依赖关系,但各有其特点。dpkg的依赖关系管理功能相对强大,能够确保在安装、更新或删除软件包时,所有必要的依赖关系都得到满足。而rpm则通过其元数据支持来管理依赖关系,这有助于避免因依赖性问题导致的软件包安装失败。
  4. 命令行工具:dpkg和rpm都提供了命令行工具来执行安装、删除、查询和更新软件包等操作。dpkg的命令行工具包括dpkg本身以及更高级的工具如apt-get,它们提供了丰富的功能和选项。而rpm则直接使用rpm命令来执行相关操作。
  5. 底层与高层工具:dpkg可以看作是一个底层的工具,它提供了对软件包内容的底层访问。而rpm也提供了类似的底层功能,但通常与更高级的工具(如yum或dnf)结合使用,这些工具提供了更丰富的功能和更友好的用户界面。
  6. 安全性与稳定性:dpkg和rpm都经过了广泛的测试和验证,以确保其安全性和稳定性。然而,由于它们各自在特定的Linux发行版中使用,因此在安全性和稳定性方面可能存在一些细微的差异。

列出已安装的软件包

dpkg -l

rpm -q package  # 查询已安装的软件包
rpm -qi package # 查询已安装软件包的详细信息
rpm -ql package # 列出已安装软件包的文件列表
rpm -qa package # 列出所有已安装的软件包

安装软件包

dpkg -i package_file.deb

rpm -i package_file.rpm

删除软件包

dpkg -r package # 删除已安装的软件包,但保留配置文件
dpkg -P package # 完全清除已安装的软件包,包括删除配置文件 rpm -e package # -e 表示删除(erase),rpm命令没有直接提供保留或删除配置文件的选项,但你可以在删除后再手动处理配置文件

查看软件包内容

dpkg -c package_file.deb

rpm -ql package_file.rpm
rpm -qlp yourpackage.rpm # 只查看RPM包内容而不解压

解压软件包

dpkg-deb -R package_file.deb directory 	# 将软件包的内容解压到指定目录,包括控制信息(如DEBIAN目录)。
dpkg-x package_file.deb directory # 将软件包的内容(不包含控制信息)解压到指定目录。
dpkg-X package_file.deb directory # 将软件包的内容(不包含控制信息)解压到指定目录,并在控制台输出详细信息。 rpm2cpio yourpackage.rpm | cpio -idmv

dpkg和rpm对比及常用命令的更多相关文章

  1. dpkg 比rpm好用 常用没命令 UbuntuVS RHEL

    yum install      (必须先执行apt update)apt install yum remove(危险禁止使用)  apt remove(危险禁止使用) rpm -Uvh        ...

  2. Redhat6 RPM 软件管理常用命令汇总

    软件的安装时操作系统管理的基础,与Windows不同,Linux的软件管理有很多种方式,Redhat的最常用的是RPM方式,安装集成在光盘中的RPM包.这种方式比Windows平台的软件管理更加便捷( ...

  3. ubuntu下dpkg/apt的一些常用命令

    apt-get update 更新源(硬盘缓存的包的版本等)apt-get upgrade 更新包(更新系统中已安装的包,依据缓存包的版本更新)apt-get dist-upgrade 升级系统apt ...

  4. DOS 和 Linux 常用命令的对比

    DOS 和 Linux 常用命令的对比 许多在 shell 提示下键入的 Linux命令都与你在 DOS 下键入的命令相似.事实上,某些命令完全相同. 本附录提供了 Windows的 DOS 提示下的 ...

  5. yum与rpm常用命令

    1  yum常用命令 2  rpm常用命令 1  yum常用命令 (1)列出所有可更新的软件清单命令:yum check-update (2)更新所有软件命令:yum update (4)仅安装指定的 ...

  6. rabbitmq 部署(二进制和rpm)与常用命令

    目录 一 rabbitmq 简介 二 erlang 安装 三 rabbitmq rpm安装 (二进制安装和rpm安装二选一) 四 rabbitmq 二进制安装(rpm 安装和二进制安装二选一) 五 初 ...

  7. yum 系列(一) yum 和 rpm 常用命令

    yum 系列(一) yum 和 rpm 常用命令 一.yum 常用命令 yum 命令:http://man.linuxde.net/yum yum 是在 Fedora 和 RedHat 以及 SUSE ...

  8. 思科、华为、H3C常用命令对比大全

    思科.华为.H3C这些网络设备的命令还是挺多的,不过我们一般用的路由交换机设备都是最简单的了,先学基本命令,再学其他功能命令.路由命令是最基本的命令了. 思科.华为.H3C常用命令对比大全    CI ...

  9. CentOS的rpm常用命令(转)

    一.RPM 安装操作 命令: rpm -i 需要安装的包文件名 举例如下: rpm -i example.rpm 安装 example.rpm 包: rpm -iv example.rpm 安装 ex ...

  10. Linux系统管理常用命令

    Linux系统管理常用命令 分类: Linux2011-01-10 18:26 1538人阅读 评论(0) 收藏 举报 linuxcommandservicenginxuserunix 目录(?)[+ ...

随机推荐

  1. Python 中的数字类型与转换技巧

    Python中有三种数字类型: int(整数) float(浮点数) complex(复数) 当您将值分配给变量时,将创建数字类型的变量: 示例:获取您自己的Python服务器 x = 1 # int ...

  2. Qt 实现涂鸦板一:简易涂鸦板

    新建一个Qt项目,在 .h 文件中写入 #pragma once #include <QtWidgets/QWidget> #include "ui_xuexi.h" ...

  3. Python读写json文件--json

    import json # 将数据写入json文件 def json_write_file(): data={'name':'张三','age':12} with open('json.json',' ...

  4. Grafana 系列-统一展示-4-AWS Cloudwatch 数据源

    系列文章 Grafana 系列文章 AWS Cloudwatch 数据源 对于 AWS Cloudwatch, 主要在于 3 种不同的认证方式: AWS SDK Default IAM Role AK ...

  5. 如何保存/同步多架构容器 Docker 镜像

    前言 随着容器.芯片技术的进一步发展,以及绿色.节能.信创等方面的要求,多 CPU 架构的场景越来越常见.典型的应用场景包括: 信创:x86 服务器 + 鲲鹏 ARM 等信创服务器: 个人电脑:苹果 ...

  6. Python 潮流周刊第 46 期(摘要)+ 赠书 7 本

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...

  7. Java多线程之Callable和Future

    Java多线程之Callable和Future 本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果. Callable接口类似于Runnable,从名字就可以看出来 ...

  8. CentOS9 \ Centos8安装MySQL 8步骤

    centos8 rpm 安装mysql8.0.28_太阳神LoveU的博客-CSDN博客 This upper link is still working for mysql 8 on the Cen ...

  9. 见鬼了!我家的 WiFi 只有下雨天才能正常使用...

    这是作者大学时期在家里遇到的一个非常奇怪的网络问题,作者的父亲是一名经验丰富的网络工程师,他们家里使用了一个复杂的网络设置,通过 Wi-Fi 桥接的方式,将父亲公司的高速商业网络连接到家中.但是有一天 ...

  10. 力扣162(java&python)-寻找峰值(中等)

    题目: 峰值元素是指其值严格大于左右相邻值的元素. 给你一个整数数组 nums,找到峰值元素并返回其索引.数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可. 你可以假设 nums[ ...