rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。

语法rpm(选项)(参数)

选项-a:查询所有套件;

-b+或-t +:设置包装套件的完成阶段,并指定套件档的文件名称;

-c:只列出组态配置文件,本参数需配合"-l"参数使用;

-d:只列出文本文件,本参数需配合"-l"参数使用;

-e或--erase:删除指定的套件;

-f+:查询拥有指定文件的套件;

-h或--hash:套件安装时列出标记;

-i:显示套件的相关信息;

-i或--install:安装指定的套件档;

-l:显示套件的文件列表;

-p+:查询指定的RPM套件档;

-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户;

-R:显示套件的关联性信息;

-s:显示文件状态,本参数需配合"-l"参数使用;

-U或--upgrade:升级指定的套件档;

-v:显示指令执行过程;

-vv:详细显示指令执行过程,便于排错。

参数

软件包:指定要操纵的rpm软件包。

实例

如何安装rpm软件包

rpm软件包的安装可以使用程序rpm来完成。执行下面的命令:rpm -ivh your-package.rpm

其中your-package.rpm是你要安装的rpm包的文件名,一般置于当前目录下。

安装过程中可能出现下面的警告或者提示:... conflict with ...

可能是要安装的包里有一些文件可能会覆盖现有的文件,缺省时这样的情况下是无法正确安装的可以用rpm --force -i强制安装即可... is needed by ...

... is not installed ...

此包需要的一些软件你没有安装可以用rpm --nodeps -i来忽略此信息,也就是说rpm -i --force --nodeps可以忽略所有依赖关系和文件问题,什么包都能安装上,但这种强制安装的软件包不能保证完全发挥功能。

如何安装.src.rpm软件包

有些软件包是以.src.rpm结尾的,这类软件包是包含了源代码的rpm包,在安装时需要进行编译。这类软件包有两种安装方法:

方法一:rpm -i your-package.src.rpm

cd /usr/src/redhat/SPECS

rpmbuild -bp your-package.specs #一个和你的软件包同名的specs文件

cd /usr/src/redhat/BUILD/your-package/ #一个和你的软件包同名的目录

./configure #这一步和编译普通的源码软件一样,可以加上参数

make

make install

方法二:rpm -i you-package.src.rpm

cd /usr/src/redhat/SPECS

前两步和方法一相同rpmbuild -bb your-package.specs #一个和你的软件包同名的specs文件

这时在/usr/src/redhat/RPM/i386/(根据具体包的不同,也可能是i686,noarch等等)在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。

执行rpm -i new-package.rpm即可安装完成。

如何卸载rpm软件包

使用命令rpm -e包名,包名可以包含版本号等信息,但是不可以有后缀.rpm,比如卸载软件包proftpd-1.2.8-1,可以使用下列格式:rpm -e proftpd-1.2.8-1

rpm -e proftpd-1.2.8

rpm -e proftpd-

rpm -e proftpd

不可以是下列格式:rpm -e proftpd-1.2.8-1.i386.rpm

rpm -e proftpd-1.2.8-1.i386

rpm -e proftpd-1.2

rpm -e proftpd-1

有时会出现一些错误或者警告:... is needed by ...

这说明这个软件被其他软件需要,不能随便卸载,可以用rpm -e --nodeps强制卸载

如何不安装但是获取rpm包中的文件

使用工具rpm2cpio和cpiorpm2cpio xxx.rpm | cpio -vi

rpm2cpio xxx.rpm | cpio -idmv

rpm2cpio xxx.rpm | cpio --extract --make-directories

参数i和extract相同,表示提取文件。v表示指示执行进程,d和make-directory相同,表示根据包中文件原来的路径建立目录,m表示保持文件的更新时间。

如何查看与rpm包相关的文件和其他信息

下面所有的例子都假设使用软件包mysql-3.23.54a-11

1、我的系统中安装了那些rpm软件包。rpm -qa 讲列出所有安装过的包

如果要查找所有安装过的包含某个字符串sql的软件包rpm -qa | grep sql

2、如何获得某个软件包的文件全名。rpm -q mysql

可以获得系统中安装的mysql软件包全名,从中可以获得当前软件包的版本等信息。这个例子中可以得到信息mysql-3.23.54a-11

3、一个rpm包中的文件安装到那里去了?rpm -ql 包名

注意这里的是不包括.rpm后缀的软件包的名称,也就是说只能用mysql或者mysql-3.23.54a-11而不是mysql-3.23.54a-11.rpm。如果只是想知道可执行程序放到那里去了,也可以用which,比如:which mysql

4、一个rpm包中包含那些文件。一个没有安装过的软件包,使用rpm -qlp ****.rpm

一个已经安装过的软件包,还可以使用rpm -ql ****.rpm

5、如何获取关于一个软件包的版本,用途等相关信息?一个没有安装过的软件包,使用rpm -qip ****.rpm

一个已经安装过的软件包,还可以使用rpm -qi ****.rpm

6、某个程序是哪个软件包安装的,或者哪个软件包包含这个程序。rpm -qf `which 程序名` #返回软件包的全名

rpm -qif `which 程序名` #返回软件包的有关信息

rpm -qlf `which 程序名` #返回软件包的文件列表

注意,这里不是引号,而是`,就是键盘左上角的那个键。也可以使用rpm -qilf,同时输出软件包信息和文件列表。

7、某个文件是哪个软件包安装的,或者哪个软件包包含这个文件。

注意,前一个问题中的方法,只适用与可执行的程序,而下面的方法,不仅可以用于可执行程序,也可以用于普通的任何文件。前提是知道这个文件名。首先获得这个程序的完整路径,可以用whereis或者which,然后使用rpm -qf例如:whereis ftptop

ftptop: /usr/bin/ftptop /usr/share/man/man1/ftptop.1.gz

rpm -qf /usr/bin/ftptop

proftpd-1.2.8-1

rpm -qf /usr/share/doc/proftpd-1.2.8/rfc/rfc0959.txt

proftpd-1.2.8-1

linux rmp命令安装包在哪里_rpm命令_Linux rpm 命令用法详解:RPM软件包的管理工具...相关推荐

  1. linux ctags目录在哪里,Linux(centos)下vim、ctags的配置及基本用法详解

    一.vi/vim 基本使用方法vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的配置和一小部分指令.由于对Unix及Linux系统 ...

  2. Linux用一键安装包快速部署禅道项目管理平台

    Linux用一键安装包快速部署禅道项目管理平台 简介:本文介绍如何在linux下面使用禅道一键安装包搭建禅道的运行环境. 一.安装 二.如何访问数据库 三.9.2.stable版本起Linux一键安装 ...

  3. linux 下的程序格式,linux 下软件安装包的格式有哪些?

    一.Linux常用安装包及安装方法 1.安装包一般有四类: 1)tar包,如software-1.2.3-1.tar.gz.他是使用UNIX系统的打包工具tar打包的. 2)rpm包,如softwar ...

  4. linux系统安装tv软件下载,Linux版TeamViewer安装包下载

    Linux版teamviewer安装包适合在Ubuntu.Debian Red Hat.CentOS.Fedora系统上安装. 具体环境: Debian 9(包括Raspbian) Ubuntu16. ...

  5. telnet服务下载 Linux,linux telnet服务安装包

    这是linux telnet服务安装包下载, telnet-client 客户端安装包.telnet-server服务端安装包和xinetd依赖包,本人在linux retHat 32位系统上亲自安装 ...

  6. linux - 异常:安装包冲突 conflicts with

    linux - 异常:安装包冲突 conflicts with 参考文章: (1)linux - 异常:安装包冲突 conflicts with (2)https://www.cnblogs.com/ ...

  7. Linux安装deb安装包

    dpkg -i package.deb Linux安装deb安装包 dpkg -l | grep package 条件查询 grep -r -n name 本地路径查询文件name | 管道:将前一个 ...

  8. jdk8 linux 32位 安装包 微云网盘下载

    jdk8 linux 32位 安装包 微云网盘下载 链接:https://share.weiyun.com/DwQoPjV0 密码:sbvrfd

  9. linux下python安装包 3.7.1

    linux下python安装包 3.7.1 百度网盘链接:https://pan.baidu.com/s/12mU27c84dQ0Clf-gjenOrg  提取码:jg0r

最新文章

  1. JAVA中是传值还是传引用?回答KEZHANG问题
  2. cat卡特鞋有实体店吗_保养课堂 | 小小密封件,竟然是CAT油缸和连杆耐用的秘密...
  3. BEx Query Designer中的变量及其增强
  4. PLS-00172: string literal too long
  5. 十一、深入JavaScript的定时器(七)
  6. s5-11 距离矢量路由选择协议
  7. 正在编写推箱子游戏的自动求解程序
  8. 这几天微软发布的一些好玩的东西(顺祝女性程序员朋友们节日快乐!)
  9. 【SICP练习】140 练习3.71
  10. spring断言使用
  11. java多线程通信方法
  12. stl 优先队列(堆)
  13. C#窗体无法接受Keydown事件
  14. final可以修饰哪些java名词_Java关键知识点 - Java final关键字到底修饰了什么?
  15. 图像处理-形态学运算
  16. IBM System x3850 X5服务器安装windows_server_2008_R2
  17. 【Ruby】【改gem源镜像】【Win10 + Jruby-9.1.2.0 + Rails 5.1.3 + gem 2.6.4 】
  18. 【故事】跟零计算机基础的房东女儿讲了一下午的中间人劫持京东事件后,她感激涕零,决定给我免除房租(上)...
  19. FreeMarker导出word遇到的坑
  20. php 如何获取真实的客户端ip

热门文章

  1. c语言图片效果,c语言能显示图片吗
  2. 使用 Spring Cloud 实现微服务系统
  3. 什么 Leader 值得追随?
  4. Vue 团队公开快如闪电的全新脚手架工具,未来将替代 Vue-CLI,才300余行代码,学它!...
  5. 50行 koa-compose,面试常考的中间件原理原来这么简单?
  6. Node.js+Express+MongoDB 实现学生增删改查
  7. SQL Server CONVERT() 日期转换为新数据类型的 通用函数
  8. 第17课:RDD案例(join、cogroup等实战)
  9. C3P0 释放连接 的问题
  10. 根目录下各文件夹的作用