RPM命令详解1---安装&更新&删除

一、使用RPM安装rpm包

命令模式: rpm {-i|–install} [install-options] PACKAGE_FILE1 PACKAGE_FILE2…

install-options
[–allfiles] [–badreloc] [–excludepath OLDPATH]
[–excludedocs] [–force] [-h,–hash]
[–ignoresize] [–ignorearch] [–ignoreos]
[–includedocs] [–justdb] [–nocollections]
[–nodeps] [–nodigest] [–nosignature] [–noplugins]
[–noorder] [–noscripts] [–notriggers]
[–oldpackage] [–percent] [–prefix NEWPATH]
[–relocate OLDPATH=NEWPATH]
[–replacefiles] [–replacepkgs]
[–test]

[root@master01 yiifung]# rpm -ivh erlang-25.3.2.3-1.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:erlang-25.3.2.3-1.el7            ################################# [100%]
[root@master01 yiifung]# 

-i 安装的意思
-v 显示更多信息
-h(–hash)显示进度信息,打印hash值,一般和-v一起使用
-vv 显示更多详细信息
–quiet 打印更少的信息

二、RPM升级与更新(upgrade/freshen)

使用RPM来对软件进行升级时非常方便的,常用-Uvh和-Fvh参数进行升级,而-Uvh和-Fvh参数进行升级的选项与参数与install是一样的,但是-U与-F还是有不一样的地方
rpm {-U|–upgrade} [install-options] PACKAGE_FILE1 PACKAGE_FILE2…
rpm {-F|–freshen} [install-options] PACKAGE_FILE1 PACKAGE_FILE2 …

-Uvh 后面接的软件如果没有安装过,则RPM会自动安装该软件,若后面接的文件有安装过旧版本,则系统会自动更新至新版本

-Fvh 后面接的软件如果没有安装过,则RPM不会自动安装该软件,即只有已经安装过的软件会被升级更新

在做更新的时候,只会也只能更新到最新的版本,而不会更新到一个较老的版本

[root@master01 yiifung]# ls -lrt erlang*
-rw-rw-r--. 1 yiifung yiifung 23055992 May 31 02:35 erlang-25.3.2.1-1.el7.x86_64.rpm
-rw-rw-r--. 1 yiifung yiifung 23065248 Jul  1 12:30 erlang-25.3.2.3-1.el7.x86_64.rpm
[root@master01 yiifung]# rpm -qa | grep erlang
erlang-25.3.2.3-1.el7.x86_64
[root@master01 yiifung]# rpm -Uvh erlang-25.3.2.1-1.el7.x86_64.rpm
Preparing...                          ################################# [100%]
	package erlang-25.3.2.3-1.el7.x86_64 (which is newer than erlang-25.3.2.1-1.el7.x86_64) is already installed
[root@master01 yiifung]# 

如果你想安装一个较老的版本,则需要删除当前的版本,然后再安装你选择的版本

[root@master01 yiifung]# rpm -e erlang-25.3.2.3-1.el7.x86_64
[root@master01 yiifung]# rpm -Uvh erlang-25.3.2.1-1.el7.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:erlang-25.3.2.1-1.el7            ################################# [100%]
[root@master01 yiifung]# rpm -Uvh erlang-25.3.2.3-1.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:erlang-25.3.2.3-1.el7            ################################# [ 50%]
Cleaning up / removing...
   2:erlang-25.3.2.1-1.el7            ################################# [100%]
[root@master01 yiifung]# rpm -qa | grep erlang
erlang-25.3.2.3-1.el7.x86_64
[root@master01 yiifung]# 

三、RPM卸载

rpm {-e|–erase} [–allmatches] [–justdb] [–nodeps] [–noscripts]
[–notriggers] [–test] PACKAGE_NAME …

[root@master01 ~]# rpm -qa | grep erlang
erlang-25.3.2.3-1.el7.x86_64
[root@master01 ~]# rpm -e erlang-25.3.2.3-1.el7.x86_64
[root@master01 ~]# rpm -qa | grep erlang
[root@master01 ~]#

在卸载软件的时候需要注意,一定要从上往下卸载,因为底层的一些包可能其他程序的依赖文件,如果随意卸载会导致报错也会导致其他软件崩溃无法运行。

–allmatches 会删除匹配上PACKAGE_NAME包名的所有版本的包,但是通常会报错(慎用)

–nodeps 在卸载的时候不检查依赖情况(慎用),这种情况下会造成误删文件的情况

注意

PACKAGE_FILE 与 PACKAGE_NAME 是不同的,PACKAGE_FILE 是rpm文件名,而PACKAGE_NAME是包名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值