RPM包命令使用方法

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

源码包:C源代码包

rpm包:编译之后的二进制包

2、源码包

优点:开源;可以自由选择所需功能;可看源代码;卸载方便(直接删除安装位置);

缺点:安装步骤过多;编译时间过长;

3、RPM包

优点:使用简单,只需要几个命令就可以实现包的安装、升级、查询、卸载;安装速度快;
缺点:不能看源代码;功能选择不如源代码灵活;依赖性;
RPM包命名和依赖性

RPM包的命名规则

1、 httpd-2.4.6-67.el7.centos.x86_64.rpm

httpd 软件包名
2.4.6 软件版本
67 软件发行的次数
el7.centos 适合的linux平台
x86_64 适合的硬件平台
rpm rpm包扩展名
2、RPM包的依赖性
树形依赖性:a -> b -> c,即a依赖b,b依赖c
环形依赖:a -> b -> c -> a

rpm基本功能
1、rpm命令用于管理程序包:
主要 作用:安装、升级、卸载、查询、校验、数据库维护
2、rpm具体使用方法
(1)语法:rpm[OPTIONS] [PACKAGE_FILE] 即 rpm 【选项】【包文件】
(2)相关选项参数命令

  • 安装:-i --install
  • 升级:-U --update,-F
  • 卸载:-e --erase
  • 查询:q --query
  • 校验:-V --verify
  • 数据库维护:–builddb,–initdb

3、各选项参数详解
(1)安装:rpm {-i|–install} [install-options] PACKAGE_FILE …
rpm -ivh PACKAGE_FILE …(rpm包常规安装命令)
GENEARL OPTIONS:综合选项

  • -i:安装
    -v: 详细信息
    -vv:更加详细的信息
    -h:hash marks 输出进度条:50个#表示进度条
    –prefix :安装指定目录
    –test:测试安装,检查并报告安装是否完成 --> rpm -ivh --test PACKAGE_FILE …
    –nodeps:忽略依赖关系,不建议操作 --> rpm -ivh --nodepst PACKAGE_FILE
    –replacepkgs:重新安装rpm包 --> rpm -ivh --replacepkgs PACKAGE_FILE
    –nosignature:不检查签名信息,不检查来源合法性
    –nodigest:不检查包完整信息:

举列:

[root@localhost leiyuncai]# rpm -ivh zsh- 5.0.2-14.el7.x86_64.rpm
注意:忽略 --nodeps 依赖关系强制安装可能会导致所安装包不能够正常工作

(2)升级

  • rpm {-U|–upgrade} [install-options] PACKAGE_FILE … rpm
    {-F|–freshen} [install-options] PACKAGE_FILE …
    -U: 升级或者安装
    -F:单纯的升级,如果之前没有rpm包将无法升级
    –test:测试安装,检查并报告完成 --> rpm -Uvh --test PACKAGE_FILE …
    –nodeps:忽略依赖关系,不建议操作 --> rpm -Uvh --nodepst PACKAGE_FILE
    –replacepkgs:重新安装rpm包 --> rpm -ivh --Ueplacepkgs PACKAGE_FILE
    –oldpackage::降级操作
    –force:强制升级

举列:[root@localhost leiyuncai]# rpm -Uvh zsh-5.0.2-14.el7.x86_64.rpm

注意:(1)不要对内核做升级操作,Liunx支持多内核并存,直接安装新版本
(2) 如果源程序包的配置文件安装后曾修改过,升级时,新版本的程序提供的同一配置文件不会覆盖原有版本文件,而重命名为(FILENAME,rpmnew)

(3)卸载:

  • rpm {-e|–erase} [–allmatches] [–nodeps] [–noscripts] [–test]
    PACKAGE_NAME … rpm -e 软件包名称 -e:卸载指定程序
    -allmatches:卸载所有匹配指定名称的程序包的各个版本
    –nodeps:忽略依赖关系
    –test:测试卸载,显示依赖关系 举列: [root@localhost ~]# rpm -e zsh

(4) 查询

  • rpm {-q|–query} [select-options] [query-options]
    select-options:给指定值,一般是需要查询文件名称
    -a.all:查询所有已经安装过的包,后面一般通过管道输出至正则表达式匹配-列如: rpm -qa | grep “^z” -f FILE:查看指定的文件由哪个程序包安装生产:
    -p, --package PACKAGE_FILE:对于未安装的程序包执行查询操作
    –whatprovides CAPABILITY:查询指定的CAPABILITY由哪个程序包提供
    –whatrequlres CAPABILITY:查询指定的-CAPABILITY被哪个程序包依赖 [query-options]
    –changelog:查询rpm包的changelog; 历史
    -l --list:列出程序包安装生产的文件列表
    -i,–info:查询程序包相关的信息,包含版本、信息、时间等等
    -c,:查询程序包有哪些指定的配置文件
    -d:查询指定的程序包提供的文档信息
    –provides:列出指定程程序包的 CAPABILITY
    -R,–regulres:查询程序包依赖的包
    –scripts:查看程序包自带的脚本片断

举列:

1.[root@localhost Packages]# rpm -qa
#:查询所有安装的包
2.[root@localhost Packages]# rpm -qpi httpd-devel
#:查询未安装包的详细信息
3.[root@localhost Packages]# rpm -qi httpd-devel
#:查看程序包的相关信息
4.[root@localhost Packages]# rpm -ql httpd-devel
#:查看程序包安装产生的文件列表
5.[root@localhost Packages]# rpm -qc zsh
#:查看程序包的配置文件
6.[root@localhost Packages]# rpm -qd zsh
#:查看程序包提供的文档信息
7.[root@localhost Packages]# rpm -qR zsh
# :查询程序包依赖的包

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值