专栏首页ITCoder如何在 CentOS 上安装 RPM 软件包

如何在 CentOS 上安装 RPM 软件包

RPM 是一个被 Red Hat 和它的衍生版本例如 CentOS 和 Fedora 使用的包管理系统。

官方 CentOS 软件源包含了成千上万的 RPM 软件包,它们可以通过使用yum命令行工具来进行安装。不在标准 CentOS 软件源中的软件包,也能很容易地通过启用合适的软件源来进行安装。

但是,并不是所有的软件供应商都会为他们的软件搭建 yum 软件源。通常这种情况下,他们会有一个下载页面,你可以在这个页面下载并安装 RPM 软件包,或者下载源码,并从源码编译软件包。

在这篇指南中,我们将会向你展示在 CentOS 上如何安装 RPM 软件包的两种方法。

一、在你开始之前

当你安装 RPM 软件包,确保它们是为你的系统架构和系统版本所构建。

你应该避免使用这种方式替换或者升级重要的系统软件包,例如 glibc, systemd, 或者其他的服务和库,因为它们是保证你的系统正常运行所必须的。这样做可能会导致错误和系统的不稳定。

想要安装 RPM 软件包,你需要以 root 或者其他拥有 sudo 权限的用户身份登录系统。

通常,你会使用一个浏览器来搜索并且下载一个 RPM 文件。一旦你定位到文件,你可以使用你的浏览器或者使用命令行工具,像 curl 或者 wget 来下载它。

二、使用yum安装 RPM 软件包

yum是 CentOS 系统上的默认包管理工具。它被用来从 CentOS 官方软件源和第三方软件源安装,移除,下载,查询,并且升级软件包。

第一步就是下载你想要安装的 RPM 文件:

wget https://example.com/file.rpm

想要安装这个软件包,使用yum localinstall命令加上软件包的路径。

sudo yum localinstall file.rpm

yum将会提示你确认。回答y,假设这个软件包兼容于你的系统,并且所有的依赖关系都满足,那么这个 RPM 软件包将会被安装。

如果这个 RPM 依赖的其他软件包没有被安装,并且如果这些依赖软件包在你系统上被启用的软件源中可用,yum将会安装所有的依赖软件包。否则,yum将会打印出一系列你需要去下载并且手动安装的依赖软件包。

除了下载然后安装 RPM 软件包,你还可以简单将 RPM 软件包的 URL 传递给yum localinstall命令:

sudo yum localinstall https://example.com/file.rpm

想要使用 yum 升级已经安装的软件包,可以使用和安装软件包一样的过程。

如果因为某些原因,你想移除已经通过 yum 安装的 RPM 软件包,使用标准的yum remove 命令加上软件包名:

sudo yum remove file.rpm

三、使用rpm 安装 RPM 软件包

rpm是一个用于安装,卸载,升级,查询和验证 RPM 软件包的底层工具。

想要安装一个 RPM 软件包,使用rpm -i命令加上 RPM 软件包名:

sudo rpm -ivh file.rpm

这个-v 选项告诉rpm显示具体输出,并且-h显示进度条。

如果这个软件包依赖的其他的软件包没有被安装,rpm将会显示一个所有缺失依赖软件包的列表。你将不得不自己去下载并且手动安装所有的依赖软件包。

除了直接下载和安装 RPM 软件包,你还可以使用 RPM 的 URL 作为参数:

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

想要升级软件包,使用-u选项:

sudo rpm -Uvh file.rpm

如果你尝试升级的软件包没有被安装,使用rpm -U命令将会安装它。

想要安装一个没有安装软件包,但是它的所有必须安装的依赖软件包没有全部被安装上,此时你需要使用--nodeps选项:

sudo rpm -Uvh --nodeps file.rpm

想要移除一个软件包,使用rpm -e命令,加上软件包名:

sudo rpm -e file.rpm

四、总结

在这个指南中,我们向你展示了如何在 CentOS 系统上安装 RPM 软件包。

你应该更偏向使用yum而不是rpm,因为它会帮你自动解决所有的依赖问题。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 在 CentOS 7 上如何安装更新

    保证你的 CentOS 系统更新到最新是整个系统安全中最重要的部分之一。如果你不经常使用最新的系统安全补丁来更新系统,你的机器将会很容易被攻击。

    雪梦科技
  • Linux 中的 RPM 命令

    RPM 包管理器 (RPM)是一个强大的包管理系统,它广泛用于 Red Hat Linux 和它的衍生版本,例如 CentOS 和 Fedora。RPM 涉及r...

    雪梦科技
  • 如何在 Linux 上使用 Apt 命令

    apt是一个命令行工具,它用来安装,升级,移除和类似的管理操作 deb 软件包,它存在于 Ubuntu, Debian, 和相关 Linux 发行版中。它将经常...

    雪梦科技
  • 聊聊Spring中的数据绑定 --- 属性访问器PropertyAccessor和实现类DirectFieldAccessor的使用【享学Spring】

    本篇文章聊聊Spring数据访问、绑定体系中一个非常重要的组成: 属性访问器(PropertyAccessor)。 首先提醒各位,注意此接口和属性解析器(P...

    YourBatman
  • UITextField设置leftView、圆角以及文字距离

    今天在工作中,搭建一个登录界面,因为涉及到用户名和密码的输入,所以在iOS中我们免不了要用到UITextField这个常见的输入控件。

    Originalee
  • EasyAR 3.0切换摄像头画面缩放翻转的问题

    之前一直使用Vuforia做AR项目,现在新公司用EasyAR做项目,需要实现切换摄像头的功能。

    魔都路易斯
  • 初尝 Jest 单元测试

    最近的几次发布都犯了小错,都是缺乏或者忽视了测试所导致的。通常来说,一个新功能上线的时候,开发和测试都投入比较多,各项测试都是比较全面的。然而,发布上线也并非意...

    IMWeb前端团队
  • 接口测试-基础

    最近一部电视连续剧<<亲爱的, 热爱的>>红遍了大江南北, 让无数少女少妇们追捧不已, 唤起了她们的恋爱梦幻情结. 讲述了女主人公软萌少女佟年对计算机"鬼才"韩...

    louiezhou001
  • 另一种深度学习(上):自我监督学习与着色任务

    深度学习确实在机器学习领域,尤其是图像识别任务中重新调整了东西。2012年,Alex-net发起了一项(仍然远未结束)的竞赛,以解决或至少显着改善计算机视觉任务...

    AiTechYun
  • 特尔、高通、赛灵思集体反对将华为列入“实体清单”:这是在伤害美国公司

    路透社援引知情人士的消息称,因“实体清单”一事,包括英特尔、高通、赛灵思等在内的美国芯片制造商已秘密向美国政府施压,要求放宽对华为的供货禁令。

    镁客网

扫码关注云+社区

领取腾讯云代金券