Linux 中的 RPM 命令

2023-11-11

RPM 包管理器 (RPM) 是 Red Hat Linux 及其衍生产品(例如 CentOS 和 Fedora)使用的功能强大的包管理系统。 RPM 也指rpm命令和.rpm文件格式。 RPM 包由文件和元数据的存档组成,其中包括依赖项和安装位置等信息。

在本教程中,我们将讨论如何使用rpm用于安装、更新、删除、验证、查询和以其他方式管理 RPM 包的命令。

安装、更新和删除 RPM 软件包#

通常,要在基于 Red Hat 的发行版上安装新软件包,您将使用yum or dnf命令,可以解析并安装所有包依赖项。

你应该总是更喜欢使用yum or dnf over rpm安装、更新和删除软件包时。

在安装 RPM 软件包之前,您必须首先使用浏览器或命令行工具(例如curl or wget .

When 安装 RPM 包,确保它们是为您的系统架构和您的CentOS版本。替换或更新重要的系统软件包(例如 glibc、systemd 或其他对于系统正常运行至关重要的服务和库)时要格外小心。

仅 root 或具有以下权限的用户须藤权限可以安装或删除RPM包。

使用以下命令安装 RPM 包rpm, 使用-i选项,后跟包名称:

sudo rpm -ivh package.rpm

The -v选项告诉rpm显示详细输出和-h显示哈希标记进度条的选项。

您可以跳过下载部分,并将 RPM 包的 URL 提供给rpm命令:

sudo rpm -ivh https://example.com/package.rpm

要升级 RPM 包,请使用-U选项。如果未安装该软件包,则会安装该软件包:

sudo rpm -Uvh package.rpm

如果您正在安装或更新的软件包依赖于当前未安装的其他软件包,rpm将显示所有缺少的依赖项的列表。您必须手动下载并安装所有依赖项。

要安装 RPM 软件包而不在系统上安装所有必需的依赖项,请使用--nodeps option:

sudo rpm -Uvh --nodeps package.rpm

要删除(擦除)RPM 包,请使用-e option:

sudo rpm -e package.rpm

The --nodeps当您想要删除包而不删除其依赖项时,选项也很有用:

sudo rpm -evh --nodeps package.rpm

The --test选项告诉rpm运行安装或删除命令而不实际执行任何操作。它仅显示该命令是否有效:

sudo rpm -Uvh --test package.rpm

查询RPM包#

The -q选项告诉rpm命令来运行查询。

要查询(搜索)某个软件包是否已安装,请将软件包名称传递给rpm -q命令。以下命令将显示您是否OpenJDK 11软件包已安装在系统上:

sudo rpm -q java-11-openjdk-devel

如果安装了该软件包,您将看到如下内容:

java-11-openjdk-devel-11.0.4.11-0.el8_0.x86_64

Pass -i获取有关所查询包的更多信息:

sudo rpm -qi java-11-openjdk-devel

要获取已安装的 RPM 包中所有文件的列表:

sudo rpm -ql package

如果您想找出特定文件属于哪个已安装的软件包,请键入:

sudo rpm -qf /path/to/file

为了得到一个所有已安装软件包的列表在您的系统上使用-a option:

sudo rpm -qa

验证 RPM 包#

验证包时,rpm命令检查系统上是否存在软件包安装的每个文件、文件的摘要、所有权、权限等。

要验证已安装的软件包,请使用-V选项。例如,要验证 openldap 包,您将运行:

sudo rpm -V openldap-2.4.46-9.el8.x86_64

如果验证通过,该命令将不会打印任何输出。否则,如果某些检查失败,则会显示一个字符表示测试失败。

例如,以下输出显示文件的 mTime 已更改(“T”):

.......T.  c /etc/openldap/ldap.conf

请参阅 RMP 手册页了解每个字符的含义。

要验证所有已安装的 rpm 包,请运行以下命令:

sudo rpm -Va

结论#

rpm是一个低级命令行工具,用于安装、查询、验证、更新和删除 RMP 软件包。安装 RPM 包时应该优先使用yum or dnf因为它们会自动为您解决所有依赖关系。

有关所有可用命令选项的更多信息,请键入man rpm在您的终端中或访问RPM.org网站。

如果您有任何问题或反馈,请随时发表评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 中的 RPM 命令 的相关文章

  • Bash - 比较 2 个文件列表及其 md5 校验和

    我有 2 个列表 其中包含带有 md5sum 检查的文件 即使文件相同 列表也具有不同的路径 我想检查每个文件的 md5 和 我们正在讨论数千个文件 这就是为什么我需要脚本来仅显示差异 第一个列表是普通列表 第二个列表是文件的当前状态 我想
  • 如何在 osx 终端中返回应用程序版本

    我需要在 Mac osX 10 10 上的 sh 脚本中使用应用程序版本 以便我可以与另一个数字进行比较 以便我可以强制更新或不更新 到目前为止我已经有了这个 我使用 Firefox app 作为示例 FirefoxmdlsVersion
  • 如何使用 nohup 获取正在运行的程序列表

    我正在通过 SSH 连接访问运行 CentOS linux 发行版 的服务器 由于我无法始终保持登录状态 因此我使用 nohup command 来运行我的程序 我找不到如何获取我开始使用 nohup 的所有程序的列表 工作 只有在我注销之
  • 构建 rpm 而不编译源文件

    我正在尝试使用单个文件的示例 rpm 包 在我的源文件夹中 我有 python test rpm tar gz 其中仅包含一个 python 脚本文件 但是 该文件不是有效的 python 脚本 我想做的就是将其打包并将其部署到特定文件夹中
  • 为 CocoaPods 插件设置 Xcode

    我正在尝试设置终端 Xcode 以便正确工作Xcode CocoaPods 插件 https github com kattrali cocoapods xcode plugin 当我从插件运行集成 cocoapods 选项时 我收到一条消
  • OSX 终端在启动时无法识别 ~/.bashrc 和 ~/.bash_profile

    OSX 识别我的 bashrc 和 bashprofile 的唯一方法是我在终端的首选项中指定启动时要定位的文件 他们没有按应有的方式工作有什么原因吗 这是我的 bashrc 的内部 s HOME rvm scripts rvm sourc
  • 如何通过双击使该 file.sh 可执行?

    首先我用的是Mac 接下来 我需要执行这个 file sh 我们将调用它 每次我需要执行它时 我都必须打开终端并输入 cd Users Jacob Documents folderWithFileInIt bash file sh 这没关系
  • 为什么我无法设置 SSHFS 共享? “OSXFUSE 文件系统不可用”错误

    我正在尝试设置从本地计算机到远程计算机的 SSHFS 共享 但它不起作用 我收到错误 OSXFUSE 文件系统不可用 见下文 如何解决这个问题 仅供参考 我的本地计算机是运行 OSX 10 9 3 的 MacBook Pro 笔记本电脑 远
  • 在 MacOS 上重新启动终端而不关闭

    如何在不关闭窗口的情况下重新启动当前的 MacOS 终端会话 在Linux中我使用exec bash但在这种环境下它不起作用 我对 bash profile 提示 别名等 我想在不关闭它并再次打开的情况下查看 只需输入命令 exec bas
  • bdist_rpm 从 Ubuntu 到 CentOs

    我们在 Ubuntu Mac 上进行开发 并将 RPM 部署到 CentOS 这是设置 不能更改太多 问题是 当从 rpm 安装时 软件包会转到 usr local lib python2 7 dist packages 这是 Ubuntu
  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统
  • 静默检查 bash 脚本中是否存在 rpm

    我正在尝试使用 if 语句快速检查 rpm 是否安装在 bash 脚本中 但我想默默地做 目前 当我运行脚本并且 rpm 确实存在时 它将 rpm 的输出输出到我不想要的屏幕 if rpm qa grep glib then do some
  • 为什么同一个curl命令在windows和linux下输出不同的东西?

    为什么同样的curl o file https www link com 命令输出不同的东西 例如 如果我运行命令curl o source txt https www youtube com playlist list PLIx6Fwnp
  • 如何更改VSCode集成终端中文本的字体颜色?

    我想轻松区分 VSCode 终端中的输入命令和终端输出 因此 如果我可以更改 my Macbook Air Folder myname 的颜色或字体 这将非常有帮助 来自互联网的示例图像 在VSCode集成终端中如何做到这一点 查看这两个来
  • 用于生成 4GB ISO 的构建系统的版本控制解决方案

    我有一个软件项目 在其构建的最后阶段 在创建所有 jar 文件和相关脚本 配置文件之后 我需要将其植入 CentOS ISO 中 该 ISO 具有一个 kickstart 配置文件 该文件运行一些安装后脚本并安装一些定制的 RPM 该项目位
  • 在 CentOS 7 上找不到 GLIBCXX_3.4.21

    我最近将 CentOS 上的 gcc 版本从 4 7 更新到 5 4 但现在编译程序时出现以下错误 lib64 libstdc so 6 version GLIBCXX 3 4 21 not found 我找到了一些解决方案 https s
  • 找不到 gcloud 命令 - 安装 Google Cloud SDK

    我正在尝试在终端中使用以下命令在 Mac 上安装 Google Cloud SDK curl https sdk cloud google com bash 它工作得很好 但是当我进入下一步时 gcloud init 我得到以下内容 bas
  • rshd.c 源代码中缺少 pam_appl.h 和 pam_misc.h

    我正在研究一个CentOS 5 5 操作系统 它显示错误 security pam appl h 和 security misc h 文件丢失 实际上我的 rshd c 没有加载 PAM 模块 可能是通过放置这个库 它可以帮助我很好地工作我
  • 在vim中将命令映射到:w

    我怎样才能绘制地图Command S to w in vim 我已经尝试了其他线程中的所有内容 但似乎在 Mac OS X El Capitan 中不起作用 据说这在以前的版本中有效 但我尝试过 但没有成功 noremap
  • 无法在 Centos 上安装 php-mysqli 扩展

    我正在尝试将 mysqli 扩展安装到 php yum install php mysqli 我收到下一个错误 Transaction Check Error file usr share mysql charsets Index xml

随机推荐

  • 如何在 Debian 9 Stretch 上安装 PHP(7.4、7.3 和 5.6)

    PHP 7 4 是可在 Debian 9 Stretch Linux 计算机上安装的最新版本 Ubuntu 用户可以访问我们的教程在 Ubuntu 上安装 PHP 7 本教程适用于 Debian 9 Stretch 用户在其系统上安装 PH
  • 如何在Linux终端上访问远程邮箱

    Linux 系统有大量的图形电子邮件客户端 您可以轻松安装它们以通过 POP IMAP 协议访问远程系统的邮箱 对于没有GUI界面的Linux服务器版本可以使用命令行邮件客户端访问远程邮箱 本教程将帮助您在Linux终端上使用POP IMA
  • Bash – 如何获取未来的日期和时间

    Linuxdate命令显示系统的当前日期和时间 在编写 shell 脚本时 我意识到有时我们需要查找未来的日期 例如 10 天 2 个月或 1 年之后的日期等 date 命令提供了一个选项来显示未来的日期 如所述 d date STRING
  • Magento 2 代码库和数据库备份脚本

    本教程将帮助您使用 shell 脚本自动执行 Magento2 代码库和数据库备份过程 该脚本将按计划的时间间隔执行自动备份 该脚本还能够根据配置删除较旧的备份 设置Magerun2 您需要在系统上下载并配置 Magerun2 脚本 wge
  • 如何使用 Mysqlcheck 检查和修复 MySQL 表

    数据库管理系统是现代软件应用程序无缝运行不可或缺的一部分 MySQL 是世界上使用最广泛的关系数据库管理系统之一 随着数据库的增长和发展 确保其中表的完整性 性能和运行状况至关重要 这就是 Mysqlcheck 发挥作用的地方 1 Mysq
  • 如何在 Ubuntu 20.04 上使用 VSFTPD 设置 FTP 服务器

    本文介绍如何在 Ubuntu 20 04 上安装和配置 FTP 服务器 用于在设备之间共享文件 FTP 文件传输协议 是一种标准网络协议 用于在远程网络之间传输文件 有多种可用于 Linux 的开源 FTP 服务器 最知名和最广泛使用的是P
  • 如何在 Ubuntu 20.04 上添加交换空间

    交换空间是磁盘上的空间 当物理 RAM 内存已满时使用 当 Linux 系统耗尽 RAM 时 非活动页面将从 RAM 移至交换空间 交换空间可以采用专用交换分区或交换文件的形式 通常 在虚拟机上运行 Ubuntu 时 不存在交换分区 唯一的
  • 如何在 Debian 9 上安装和配置 Redmine

    Redmine 是一款免费的开源项目管理和问题跟踪应用程序 它是跨平台和跨数据库的 构建在 Ruby on Rails 框架之上 Redmine包括对多个项目 wiki 问题跟踪系统 论坛 日历 电子邮件通知等的支持 在本教程中 我们将向您
  • 如何在 Debian 10 上设置 WireGuard VPN

    WireGuard 是一种通用 VPN 虚拟专用网络 采用最先进的加密技术 与其他流行的 VPN 解决方案 例如 IPsec 和 相比OpenVPN 线卫通常速度更快 更容易配置并且占用空间更小 它是跨平台的 几乎可以在任何地方运行 包括
  • 如何在 Ubuntu 20.04 上安装 Plex 媒体服务器

    Plex 是一款流媒体服务器 可让您组织视频 音乐和照片集 并将媒体随时随地流式传输到计算机 手机 平板电脑或电视 Plex 媒体服务器可以安装在所有主要操作系统和设备上 本文介绍了如何安装Plex 媒体服务器在 Ubuntu 20 04
  • 如何在 Debian 9 上使用 Apache 安装和保护 phpMyAdmin

    phpMyAdmin 是一个免费 开源的基于 PHP 的应用程序 旨在通过基于 Web 的界面简化 MySQL 和 MariaDB 服务器的管理 phpMyAdmin 允许您管理 MySQL 数据库 用户帐户和权限 执行 SQL 语句 以各
  • 在 Linux 中查找大文件

    随着时间的推移 您的磁盘驱动器可能会因大量不必要的文件而变得混乱 占用大量磁盘空间 通常 Linux 系统会因日志或备份文件过大而耗尽磁盘空间 本教程介绍如何使用以下命令查找 Linux 系统中最大的文件和目录find and du命令 使
  • 如何在 Debian 10 上安装 Apache Maven

    Apache Maven 是一个开源项目管理和理解工具 主要用于 Java 项目 Maven 使用项目对象模型 POM 它本质上是一个 XML 文件 其中包含有关项目 配置详细信息 项目依赖项等的信息 本文展示了在 Debian 10 上安
  • 如何在 Linux 中删除/移除用户(userdel 命令)

    Linux 是一个多用户系统 这意味着多个人可以同时与同一个系统交互 作为系统管理员 您有责任通过以下方式管理系统的用户和组创建新用户并将它们分配给不同的groups 有时 您可能需要删除用户帐户 也许是因为用户离开了组织 或者它是为不再在
  • 如何在 CentOS 7 上设置 Nginx 服务器块

    Nginx Server Blocks 允许您在一台机器上运行多个网站 这很有用 因为对于每个站点 您可以指定站点文档根 包含网站文件的目录 创建单独的安全策略 使用不同的 SSL 证书等等 在本教程中 我们将解释如何在 CentOS 7
  • 如何在 Ubuntu 20.04 上安装 VirtualBox

    虚拟盒子是开源跨平台虚拟化软件 允许您同时运行多个来宾操作系统 虚拟机 一般来说 Virtualbox 被桌面用户用作测试和开发环境 在本教程中 我们将向您展示在 Ubuntu 20 04 上安装 VirtualBox 的两种方法 来自标准
  • Bash For 循环

    循环是编程语言的基本概念之一 当您想要一遍又一遍地运行一系列命令直到达到特定条件时 循环会很方便 在 Bash 等脚本语言中 循环对于自动执行重复任务非常有用 Bash 脚本中有三种基本的循环结构 for loop while 循环 and
  • 如何在 Ubuntu 20.04 上安装 MySQL

    MySQL是最流行的开源关系数据库管理系统 它速度快 易于使用 可扩展 是流行的LAMP and LEMP stacks 本指南介绍了如何在 Ubuntu 20 04 上安装 MySQL 并确保其安全 先决条件 确保您以以下身份登录具有 s
  • 在 Ubuntu 18.04 上使用 Let's Encrypt 保护 Apache

    Let s Encrypt 是由互联网安全研究小组 ISRG 创建的证书颁发机构 它通过完全自动化的流程提供免费的 SSL 证书 旨在消除手动证书创建 验证 安装和续订 Let s Encrypt 颁发的证书受到当今所有主要浏览器的信任 在
  • Linux 中的 RPM 命令

    RPM 包管理器 RPM 是 Red Hat Linux 及其衍生产品 例如 CentOS 和 Fedora 使用的功能强大的包管理系统 RPM 也指rpm命令和 rpm文件格式 RPM 包由文件和元数据的存档组成 其中包括依赖项和安装位置