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

rpm 命令

    rpm(Red Hat Package Manager)是 Red Hat Linux 及其衍生发行版(如 CentOS、Fedora)中用于管理软件包的系统。它允许用户安装、卸载、升级、查询和验证软件包。

一、安装软件包

(1)安装一个 RPM 软件包:

rpm -ivh 软件包名.rpm

这里的选项含义如下:

  • -i:表示安装(install)操作。
  • -v:表示详细信息输出(verbose),可以看到安装过程的详细信息。
  • -h:表示以散列(hash)标记显示安装进度。

例如,安装一个名为 firefox 的软件包(安装其他的软件包也是类似操作):

 1.在CentOS 7 x86_64(也就是vmtools)中查找Packages文件

2.打开Packages

3. 点击搜索框
 4. 输入fire就可以看到firefox文
  5.鼠标右键选择复制
 6.选择一个你熟悉的文件夹位置后粘贴(这里我选择下载目录) 
 7.下载目录在当前用户目录下,cd 切换到下载目录 
 8.使用sudo rpm -ivh 进行安装(注意:这里直接输入firefox再按tab键自动补全) 
 9.下载好后使用命令检查:rpm -q firefox

10.左上角应用程序也能看见 

11.进入火狐也可以上网 


二、卸载软件包

(1)卸载一个 RPM 软件包:

rpm -e 包名

这里的选项 -e 表示卸载(erase)操作。

  • 例如,卸载名为 firefox 的软件包:

sudo rpm -e firefox

结果如下:

 结果发现无法删除软件包。

(2)如果想强制删除软件 ,需要加上--nodeps

sudo rpm -e --nodeps 包名

结果如下:

通过查找firefox发现已成功删除


三、升级软件包

(1)升级一个 RPM 软件包:

rpm -Uvh 包名.rpm

或者

rpm -Fvh 包名.rpm

这里的选项含义如下:

  • -U:表示升级(upgrade)或安装软件包。
  • -F:表示只升级(freshen)已安装的软件包,如果软件包未安装,则不会安装它。

四、查询软件包

(1)查询已安装的软件包信息:

rpm -q 包名

(2)查询所有已安装的软件包: 

rpm -qa

结果如下: 

 

  • 例如,查询是否安装了名为 firefox的软件包,一般借用grep来查找:
rpm -qa|grep firefox

结果如下: 

(3)查询软件包文件列表:

rpm -ql 包名
  • 例如,查询软件包 firefox的文件列表
rpm -ql firefox

结果如下: 

(4)查询软件包的详细信息:

rpm -qi 包名
  • 例如,查询软件包 firefox的详细信息:
rpm -qi firefox

结果如下:

(5)查询某个文件属于哪个 RPM 软件包

rpm -qf 文件路径

这里的 -qf 选项的含义是:

  • -q:查询(query)操作。
  • -f:指定查询的文件(file)。
  •  例如,如果您想查询 /usr/lib64/firefox/platform.ini文件属于哪个软件包

结果如下:


五、验证软件包

(1)验证软件包文件的完整性:

rpm -V 包名

这里的选项 -V 表示验证(verify)操作。

其他选项

  • --test:进行测试安装,不会实际安装软件包。
  • --nodeps:忽略依赖关系。
  • --replacepkgs:重新安装软件包,即使之前已经安装过。
  • --force:强制执行操作,即使会覆盖某些文件。

        使用 rpm 命令时,务必注意选项的准确性,以及确保软件包来源的可靠性,以避免潜在的安全风险。


http://www.mrgr.cn/news/53630.html

相关文章:

  • 力扣OJ算法题:合并两个有序链表
  • FP独立站搭建指南:如何巧妙应对三大挑战?
  • Lua中的goto语句
  • 【软件安装与配置】 vue
  • 前端算法:字典and哈希表(力扣1题、349题解法)
  • OpenIPC开源FPV之Channel配置
  • PPT自动化:如何判断PPT中的shape类型(python-pptx中常见shape类型及其代码速查表)
  • 【学习笔记】理解 C++ 中 reinterpret_cast 和 C 风格类型转换的区别
  • 动态分层强化学习(DHRL)算法详解
  • 西门子嵌入式面试题及参考答案(万字长文)
  • 【SpringBoot系列】SpringBoot中集成日志的几种方式?
  • JavaWeb 开发指南
  • JavaWeb 23.一文速通npm的配置和使用
  • 【代码模板】如何用Python脚本执行shell命令并且获取命令的输出?(subprocess.Popen,subprocess.check_output)
  • TryHackMe 第8天 | Web Fundamentals (三)
  • 如何安全运行别人上传的Python代码?
  • 题目 3161: 蓝桥杯2023年第十四届省赛真题-子矩阵
  • kubernetes(三)
  • 勤于奋身体倒下还是上来回答粉丝关于Adsense赚美金
  • 设计模式之设计模式分类
  • ESP32-IDF 通用定时器 GPTimer
  • LeetCode题练习与总结:拼接最大数--321
  • 小白学大模型 RAG:GraphRAG 概念、组成和流程,看完这一篇你就懂了!!
  • 出手!快手可灵开源版,AI视频生成整合包!
  • 84.【C语言】数据结构之顺序表的头部插入和删除
  • 医疗领域的RAG技术:如何通过知识图谱提升准确性