本节讲解如何使用 rpm 命令对 RPM 二进制包进行安装、卸载和升级操作。

我们以安装 apache 程序为例。因为后续章节还会介绍使用源码包的方式安装 apache 程序,读者可以直观地感受到源码包和 RPM 包的区别。

RPM包默认安装路径

通常情况下,RPM 包采用系统默认的安装路径,所有安装文件会按照类别分散安装到表 1 所示的目录中。表 1 RPM 包默认安装路径安装路径含 义

/etc/配置文件安装目录

/usr/bin/可执行的命令安装目录

/usr/lib/程序所使用的函数库保存位置

/usr/share/doc/基本的软件使用手册保存位置

/usr/share/man/帮助文件保存位置

RPM 包的默认安装路径是可以通过命令查询的。

除此之外,RPM 包也支持手动指定安装路径,但此方式并不推荐。因为一旦手动指定安装路径,所有的安装文件会集中安装到指定位置,且系统中用来查询安装路径的命令也无法使用(需要进行手工配置才能被系统识别),得不偿失。

与 RPM 包不同,源码包的安装通常采用手动指定安装路径(习惯安装到 /usr/local/ 中)的方式。既然安装路径不同,同一 apache 程序的源码包和 RPM 包就可以安装到一台Linux服务器上(但同一时间只能开启一个,因为它们需要占用同一个 80 端口)。

实际情况中,一台服务器几乎不会同时包含两个 apache 程序,管理员不好管理,还会占用过多的服务器磁盘空间。

RPM 包的安装

安装 RPM 的命令格式为:[root@localhost ~]# rpm -ivh 包全名

注意一定是包全名。涉及到包全名的命令,一定要注意路径,可能软件包在光盘中,因此需提前做好设备的挂载工作。

此命令中各选项参数的含义为:-i:安装(install);

-v:显示更详细的信息(verbose);

-h:打印 #,显示安装进度(hash);

例如,使用此命令安装 apache 软件包,如下所示:[root@localhost ~]# rpm -ivh \

/mnt/cdrom/Packages/httpd-2.2.15-15.el6.centos.1.i686.rpm

Preparing...

####################

[100%]

1:httpd

####################

[100%]

注意,直到出现两个 100% 才是真正的安装成功,第一个 100% 仅表示完成了安装准备工作。此命令还可以一次性安装多个软件包,仅需将包全名用空格分开即可,如下所示:[root@localhost ~]# rpm -ivh a.rpm b.rpm c.rpm

如果还有其他安装要求(比如强制安装某软件而不管它是否有依赖性),可以通过以下选项进行调整:-nodeps:不检测依赖性安装。软件安装时会检测依赖性,确定所需的底层软件是否安装,如果没有安装则会报错。如果不管依赖性,想强制安装,则可以使用这个选项。注意,这样不检测依赖性安装的软件基本上是不能使用的,所以不建议这样做。

-replacefiles:替换文件安装。如果要安装软件包,但是包中的部分文件已经存在,那么在正常安装时会报"某个文件已经存在"的错误,从而导致软件无法安装。使用这个选项可以忽略这个报错而覆盖安装。

-replacepkgs:替换软件包安装。如果软件包已经安装,那么此选项可以把软件包重复安装一遍。

-force:强制安装。不管是否已经安装,都重新安装。也就是 -replacefiles 和 -replacepkgs 的综合。

-test:测试安装。不会实际安装,只是检测一下依赖性。

-prefix:指定安装路径。为安装软件指定安装路径,而不使用默认安装路径。

apache 服务安装完成后,可以尝试启动:[root@localhost ~]# service 服务名 start|stop|restart|status

各参数含义:start:启动服务;

stop:停止服务;

restart:重启服务;

status: 查看服务状态;

例如:[root@localhost ~]# service httpd start #启动apache服务

服务启动后,可以查看端口号 80 是否出现。命令如下:[root@localhost ~]# netstat -tlun | grep 80

tcp 0 0 :::80:::* LISTEN

也可以在浏览器中输入 Linux 服务器的 IP 地址,访问这个 apache 服务器。目前在 apache 中没有建立任何网页,所以看到的只是测试页,如图 2 所示。

图 2 apache测试页

RPM包的升级

使用如下命令即可实现 RPM 包的升级:[root@localhost ~]# rpm -Uvh 包全名

-U(大写)选项的含义是:如果该软件没安装过则直接安装;若没安装则升级至最新版本。[root@localhost ~]# rpm -Fvh 包全名

-F(大写)选项的含义是:如果该软件没有安装,则不会安装,必须安装有较低版本才能升级。

RPM包的卸载

RPM 软件包的卸载要考虑包之间的依赖性。例如,我们先安装的 httpd 软件包,后安装 httpd 的功能模块 mod_ssl 包,那么在卸载时,就必须先卸载 mod_ssl,然后卸载 httpd,否则会报错。

软件包卸载和拆除大楼是一样的,本来先盖的 2 楼,后盖的 3 楼,那么拆楼时一定要先拆除 3 楼。

如果卸载 RPM 软件不考虑依赖性,执行卸载命令会包依赖性错误,例如:[root@localhost ~]# rpm -e httpd

error: Failed dependencies:

httpd-mmn = 20051115 is needed by (installed) mod_wsgi-3.2-1.el6.i686

httpd-mmn = 20051115 is needed by (installed) php-5.3.3-3.el6_2.8.i686

httpd-mmn = 20051115 is needed by (installed) mod_ssl-1:2.2.15-15.el6.

centos.1.i686

httpd-mmn = 20051115 is needed by (installed) mod_perl-2.0.4-10.el6.i686

httpd = 2.2.15-15.el6.centos.1 is needed by (installed) httpd-manual-2.2.

15-15.el6.centos.1 .noarch

httpd is needed by (installed) webalizer-2.21_02-3.3.el6.i686

httpd is needed by (installed) mod_ssl-1:2.2.15-15.el6.centos.1.i686

httpd=0:2.2.15-15.el6.centos.1 is needed by(installed)mod_ssl-1:2.2.15-15.el6.centos.1.i686

RPM 软件包的卸载很简单,使用如下命令即可:[root@localhost ~]# rpm -e 包名

-e 选项表示卸载,也就是 erase 的首字母。

RPM 软件包的卸载命令支持使用“-nocteps”选项,即可以不检测依赖性直接卸载,但此方式不推荐大家使用,因为此操作很可能导致其他软件也无法征程使用。

本文来自投稿,不代表访得立场,如若转载,请注明出处:http://www.found5.com//view/894.html

linux卸载rpm包的命令,Linux RPM包安装、卸载和升级(rpm命令)相关推荐

  1. Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令

    Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界 ...

  2. (四) Shell脚本简介,变量的定义、引用、删除,常见状态和运算符,命令,软件的安装和维护(RPM),软件的安装和维护(yum)

    1,课程回顾 2,本章重点 shell 脚本 软件管理(rpm yum) 3,具体内容 3.1 Shell脚本简介 3.1.1 什么是shell脚本 1.当命令不在命令行中执行,而是从一个文件中执行时 ...

  3. Linux之用户管理、权限管理、程序安装卸载

    一. 用户管理 1. 查看账户 (1). 查看当前账号:whoami ​(2). 查看系统当前登录的账号:who ​补充常用选项: ​(3). 查看系统所有的账号: cat /etc/passwd ​ ...

  4. centos卸载不必要的程序_centos利用yum安装卸载软件常用命令

    来自:http://tech.v01.cn/Linuxchangjianwenti/changyongruanjiananzhuangyucao/2012/0119/70.html 一.使用yum安装 ...

  5. centos卸载不必要的程序_Centos 利用yum安装卸载软件常用命令[转载]

    一.使用yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的. 安装的命令是,yum install ~,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲 ...

  6. tcl卸载会怎么样 tvac_TCL电视怎么样,如何安装卸载第三方应用

    TCL电视是由TCL集团股份有限公司发布的电视机品牌,旗下另拥有四家上市公司.业务涵盖产品业务领域,服务业务领域以及创投及投资业务三大业务领域,TCL在电视端的硬件技术相当的好,CL液晶电视加入了动态 ...

  7. Linux执行yum不显示时间,Linux停的yum命令详解(朝花夕拾)

    yum是干什么的使用redhat,fedora的linuxer肯定都为rpm著名的dependency hell而头疼(这也是所有基于rpm发行版都有的问题).foo is needed by bar ...

  8. linux安装卸载软件

    一 .首先要清楚几个概念 (一)归档: 归档是把多个文件合并成一个文件的过程.生成的文件称为归档包. 归档包带后缀名.不同的归档程序,生成的归档包的后缀名不同. (二)压缩: 压缩是把一个大文件变成一 ...

  9. Linux下安装 卸载mysql57 msyql80

    date: 2018-08-17 13:32 一 Linux下 yum命令安装msyql-8.0: yum install wget -y 1 下载msyql8 yum源 wget https://d ...

  10. Linux 学习--一篇就学懂Linux(万字长文)

    Linux 学习笔记 Linux 学习笔记 一. 常用命令 LINUX常用操作命令和命令行编辑快捷键 终端快捷键: Ctrl + a/Home 切换到命令行开始 Ctrl + e/End 切换到命令行 ...

最新文章

  1. Python将小于0的书数换成0的几种方式
  2. pandas使用Categorical函数将object数据数据列转化为categorical数据列并基于categorical的因子(分类)水平排序dataframe
  3. SpringMVC如何获取请求带来的各种信息 ||如果我们的请求参数是一个POJO(自定义参数类型), SpringMVC会自动的为这个POJO进行赋值
  4. 直线和圆交点 halcon_人教版六年级上册数学第五单元《圆》5.1 圆的认识
  5. 【Web动画】SVG 实现复杂线条动画
  6. Python实现批量图片添加数字水印
  7. 9.20 模拟试题
  8. fiddler网站请求被拦截怎么恢复?
  9. carto笔记--- 传感器数据走向
  10. python实现两个任意字符串乘积
  11. 自然语言处理-停用词
  12. 计算机操作系统复习题
  13. 对抗样本:知其然,知其所以然
  14. WordPress安装时未选择语言导致变成英文无法修改成中文
  15. 播放和保存视频,图像倒置纠正到本地文件夹(含ffmpeg ,pyav多线程读取多路网络摄像头)
  16. 旁注、目录越权、跨库、CDN绕过
  17. Windows系统怎样配置PHP环境
  18. 光纤软件测试,20m光纤速度怎么测试 20m光纤速度测试方法【详解】
  19. 技术债务造成的延误成本,第4部分
  20. 学习表——受任于败军之际,奉命于危难之间(11.28-12.4)

热门文章

  1. 数据库实验 实验一 数据库创建与管理
  2. 运动目标检测之关键帧提取、二帧差法及三帧差法
  3. 华为服务器虚拟化和存储虚拟化中标,idc服务器虚拟化排名
  4. 国产服务器虚拟化产品,国内主流虚拟化厂商之间比较.doc
  5. java实现ZUC算法加密解密
  6. 五分钟教会如何计算CAN总线负载率,包学包会
  7. 纠错码较副本优势与minio纠错码配置
  8. vue中播放消息提示音
  9. 标志着“神舟三号”口服液正式进入产业化阶段.
  10. 想要专升本你不得不看的全干货_吐血整理_专升本_计算机文化基础(七)