rpm是一个功能十分强大的软件包管理系统,它使得在Linux下安装、升级和删除软件包的工作变的容易、并且具有查询、验证软件包的功能。


1)安装选项

命令格式:rpm {-i|--install} [install-options] PACKAGE_FILE ...

详细选项

-h (or -hash)安装时输出hash记号(#)

--test 只对安装进行测试,并不实际安装

--percent 以百分比的形式输出安装的进度

--nodeps:忽略依赖关系

--replacepkgs:重新安装

--nosignature:不检查来源合法性

--noscipts:不执行程序包脚本片段;

%pre:安装前脚本:--nopre

$post:安装后脚本; --nopost

%preun:卸载前脚本; --nopreun

%postun:卸载后脚本; --nopostun

普通选项

-v:显示附加信息

--vv:显示更加详细的信息


2)升级

命令格式:rpm {-U|--upgrade}[install-options]PACKAGE_FILE...

rpm {-F|--freshen}[install-options]PACKAGE_FILE...

upgrade:安装有旧版程序包,则升级,如果不存在旧版本的程序包,则安装;

freeshen:安装有旧版程序包,则升级,如果不存在旧版本程序包,则不执行升级操作;

rpm -Uvh PACHAGE_FILE ...

rpm Fvh PACHAGE_FILE ...

--oldpackage:降级

--force:强行升级

注意:(1)不要对内核升级操作:Linux支持多内核版本并存,因此,对直接安装新版本内核;

(2)如果原程序包的配置文件安装后曾被修改,升级时,新版本的提供的通一个配置文件并不会直接覆盖老版本的配置文件,而被新版本文件重命名(FILENAME.rpmnew)后保留;


3)查询

命令格式: rpm {-q|--query} [select-options] [query-options]

-a:所有包;

-f:查看指定的文件由那个程序包安装生成

-p /PATH/TO/PACKAGE_FILE:针对尚未安装的程序包做查询操作;

--whatprovides CAPABILITY:查询指定CAPABILITY由那个包提供;

--whatrequies CAPABILITY:查询指定CAPILITY被那个包所依赖;

详细选项

--changelog:查询rpm包的changlog

-c:查询程序的配置文件

-i:infornation

-l:查看指定程序包安装后生成的指定文件

--scripts:程序包自带脚本片段

-R:查询指定的程序包所依赖的CAPABILITY;

--provides:列出指定程序包所提供的CAPABILITY;

用法

-qi PACKAGE,-qf FILE,-qc PACKAGE,-qd PACKAGE

-qpi PACKAGE_FILE,-qpl PACHAGE_FILE,...

-qa


4)卸载

命令格式:rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts][--notriggers] [--test] PACKAGE_NAME ...

参数

pkg1 ... pkgN :要删除的软件包

详细选项

--test 只执行删除测试

--noscripts 不运行预安装和后安装脚本程序

--nodeps 不检查依赖性


5)校验已安装的软件包

命令格式:

rpm {-V|--verify} [select-options] [verify-options]

参数

pkg1 ... pkgN 将要校验的软件包名

软件包选项

-p Verify against package file

-f 校验所属的软件包

-a Verify 校验所有的软件包

-g 校验所有属于组的软件包

详细选项

--noscripts 不运行校验脚本

--nodeps 不校验依赖性

--nofiles 不校验文件属性


例子

[root@qingcheng-db lgp]# rpm -ivh htop-2.0.2-1.el7.x86_64.rpm             //安装包,并显示详细进度
警告:htop-2.0.2-1.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID 352c64e5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:htop-2.0.2-1.el7 ################################# [100%] [root@qingcheng-db lgp]# rpm -i ftp://ftp.xxx.xxx //在线安装
[root@qingcheng-db lgp]# rpm -Va //校验所有的rpm包,查找丢失的文件
遗漏 c /etc/yum.repos.d/CentOS-Base.repo
遗漏 c /etc/yum.repos.d/CentOS-CR.repo
遗漏 c /etc/yum.repos.d/CentOS-Debuginfo.repo
遗漏 c /etc/yum.repos.d/CentOS-Media.repo
遗漏 c /etc/yum.repos.d/CentOS-Sources.repo
遗漏 c /etc/yum.repos.d/CentOS-Vault.repo
遗漏 c /etc/yum.repos.d/CentOS-fasttrack.repo [root@qingcheng-db lgp]# rpm -qf /usr/bin/htop //查找一个文件属于哪个包
htop-2.0.2-1.el7.x86_64 [root@qingcheng-db lgp]# rpm -qpi htop-2.0.2-1.el7.x86_64.rpm //查询rpm包的描述信息
[root@qingcheng-db lgp]# rpm -qpl htop-2.0.2-1.el7.x86_64.rpm //列出rpm包的文件信息
警告:htop-2.0.2-1.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID 352c64e5: NOKEY
/usr/bin/htop
/usr/share/doc/htop-2.0.2
/usr/share/doc/htop-2.0.2/AUTHORS
/usr/share/doc/htop-2.0.2/COPYING
/usr/share/doc/htop-2.0.2/ChangeLog
/usr/share/doc/htop-2.0.2/README
/usr/share/man/man1/htop.1.gz
/usr/share/pixmaps/htop.png [root@qingcheng-db lgp]# rpm -Uvh htop-2.0.2-1.el7.x86_64.rpm //升级包
[root@qingcheng-db lgp]# rpm -q htop //查看htop的安装包
htop-2.0.2-1.el7.x86_64
[root@qingcheng-db lgp]# rpm -e htop //移除安装包
[root@qingcheng-db lgp]# rpm -qi htop //得到安装包的信息
[root@qingcheng-db lgp]# rpm -ql htop //列出http中有那些文件
[root@qingcheng-db lgp]# rpm -qa //列出所有已安装的包

yum

用于添加/删除/更新rpm包,自动解决包的依赖问题以及系统更新升级

参数

-e 静默执行

-t 忽略错误

-R[分钟]设置等待时间

-y 自动应答 yes

--skip-broken忽略依赖问题

--nogpgcheck 忽略GPG验证

check-update 检查可更新的包

clean all清楚全部

clean packages 清楚临时包文件 (/var/cache/yum 下文件)

clean headers 清除rpm头文件

deplist 列出包的依赖

list 可安装和可更新的RPM包

list installed 已安装的包

list extras 已安装且不在资源库的包

info 可安装和可更新的RPM包信息

info installed 已安装包的信息(-qa参数相似)

install[RPM包]安装包

localinstall 安装本地的RPM包

update [RPM包]更新包

upgrate 升级系统

search [关键词]搜索包

provides[关键词]搜索特定包文件名

resinstall [RPM包]更新安装包

repolist 显示资源库的配置

resolvedep指定依赖

remove[RPM包]卸载包

例子

安装
[root@qingcheng-db ~]# yum install php //安装PHP
[root@qingcheng-db ~]# yum groupinstall "MySQL Server" //安装mysql数据组 更新和升级
[root@qingcheng-db ~]# yum update //全部更新
[root@qingcheng-db ~]# yum update php //更新PHP
[root@qingcheng-db ~]# yum check-update //检查可更新的程序
[root@qingcheng-db ~]# yum upgrade php //升级php
[root@qingcheng-db ~]# yum groupupdate "MySQL Server" //升级mysql服务组 查找和显示
[root@qingcheng-db ~]# yum info php //查看php的安装信息
[root@qingcheng-db ~]# yum list //列出所有可用安装程序包
[root@qingcheng-db ~]# yum list php //列出所有php的程序包
[root@qingcheng-db ~]# yum groupinfo "MySQL Server" // 查看mysql服务组的,相关安装包
[root@qingcheng-db ~]# yum deplist php //查看php依赖情况
[root@qingcheng-db ~]# yum search iftop //搜索安装包
[root@qingcheng-db ~]# yum history //查看历史记录
[root@qingcheng-db ~]# yum provides */vim //查看命令的生成包 删除
[root@qingcheng-db ~]# yum remove php //删除php
[root@qingcheng-db ~]# yum groupremove "MySQL Server" //删除mysql服务组 清除缓存
[root@qingcheng-db ~]# yum clean packages //清除缓存目录下的软件包
[root@qingcheng-db ~]# yum clean headers //清除缓存目录下的headers
[root@qingcheng-db ~]# yum clean oldheaders //清除缓存目录下旧的headers
[root@qingcheng-db ~]# yum clean,yum clean all //清除所有

简述rpm与yum命令的常见选项的更多相关文章

  1. rpm与yum命令的初步认识

    RPM:Red Hat package manager(RedHat软件包管理工具),现在为RPM is Package Manager好比windows里的文件扩展名为·exe的软件包. RPM的包 ...

  2. rpm、yum命令

    一.rpm命令 挂载光盘文件到/media目录: 进去/media目录下的Packages目录: 查看系统已安装的所有rpm包: 查看系统是否安装dhcp软件包: 安装dhcp软件包: 查看dhcp软 ...

  3. (十五)、linux软件的安装与查询-rpm与yum命令

    一.RPM软件管理程序:rpm 1.RPM安装软件(install) rpm命令的选项超级多,安装话直接使用-ivh即可,其余做了解即可 命令格式:rpm  -ivh  package_name.rp ...

  4. rpm与yum,at与crontab,sed命令使用

    1.简述rpm与yum命令的常见选项,并举例. rpm——软件包管理系统,它使得在Linux下安装.升级.删除软件包的工作变得容易,并且具有查询.验证软件包的功能. 1)安装选项 命令格式: rpm ...

  5. rpm 与 yum 源

    rpm rpm -e                删除软件包rpm -i                安装软件包rpm -U                更新软件包rpm -qa         ...

  6. Linux基础之命令练习Day4-fdisk,mkfs,mlabel,mount,umount,mkswap,swapon,dd,top,free,ps,kill,rpm,yum,make

    一. 硬盘分区.格式化及文件系统的管理 1. 在Linux系统中,一切皆文件.每个设备都被当作一个文件来对待. 常见的存储设备在Linux系统中的文件名如下表所示: 2. 对硬盘进行分区有以下优点: ...

  7. rpm命令,yum命令大全

    rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种.二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译.安装.源代码包经常以src.rpm作为后缀名. 常用命令组合 ...

  8. 18、通过yum命令只下载rpm包不安装

    18.1.说明: 经常遇到服务器没有网络的情况下部署环境,或者创建自己的 yum 仓库等,这时就需要下载 rpm 包. 18.2.方法一,yumdownloader(推荐): 如果只想通过 yum 下 ...

  9. Linux系统yum命令安装软件时保留(下载)rpm包 -- 转载

    昨天在部署zabbix监控的时候,遇到一个问题:监控服务器处于无外网状态,在线安装不可用.而某些依赖包度娘或谷姐搜索起来也挺呛人的!于是想到一个办法,利用有外网的服务器的yum命令来安装这些软件,并自 ...

随机推荐

  1. CPU的系统总线

    主频:时钟频率,用来表示CPU的运算速度.主频=外频*倍频. 外频:基准频率,系统总线的工作频率,外频是CPU与主板之间同步运行的速度,大部分电脑系统中外频也是内存与主板之间同步运行的速度,在这种方式 ...

  2. Lumen框架使用Redis与框架Cache压测比较

    使用命令 ab -c 20000 -n 100000 'http://127.0.0.1:9050/v1/api.store.xxx'进行压测,并同时进行了交叉测试,结果如下: 高并发情况下数据目前没 ...

  3. ubuntu16.04 登陆不进桌面

    ubuntu 16.04 登陆不进桌面 问题描述: 系统软件升级之后,重启,在登陆界面输入密码后,回车,闪现一次黑屏和一些代码,然后又重新回到登陆界面. 原因分析: 有两种可能: 1.主目录下的.Xa ...

  4. jenkins+svn 打包部署上传服务器并正常运行项目,从安装到使用

    以前写过一个版本,jenkins打包部署的全果然,然后...没保存,现在重新写一个版本从按照开始. 项目平时部署情况,svn拉代码,开发打包后进行给测试,测试上传到跳板机,杀掉以前项目进程,上传到服务 ...

  5. 第十二周翻译-《Pro SQL Server Internals, 2nd edition》

    <Pro SQL Server Internals, 2nd edition> 作者:Dmitri Korotkevitch 翻译:赖慧芳 译文: 专业SQL服务器内部 了解在引擎盖下发生 ...

  6. shell中特殊位置参数变量

    shell中特殊位置参数变量:$0.$n.$#.$*.$@ $0:获取当前执行shell脚本文件名,如果执行脚本包含路径,那么就包括脚本路径 $n:获取当前执行shell脚本的第n个参数值.n=1.. ...

  7. 使用IdentityServer4,在一个ASPNetCore项目中,配置oidc和api的AccessToken两种认证授权

    1.配置两种认证方式 JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear(); services.AddAuthentication(op ...

  8. 不会点git真不行啊.

    基本使用: // 进入项目根目录, git init // 接管你的项目文件夹, git status // 查看状态. 绿色已接管,红色未管理 git add . // 添加管理当前目录所有文件及子 ...

  9. TCP学习总结(一)

    在学习的过程中,相信大家都有过“学了就忘“这种经历,又特别是TCP/IP知识点密集的通信协议,所以在此总结一下自己学到的皮毛,希望对自己对大家也有所帮助. 这篇博客主要讲运输层TCP和UDP的东西,I ...

  10. 精进之路之CAS

    CAS (Compare And Swap) 即比较交换, 是一种实现并发算法时常用到的技术,Java并发包中的很多类都使用了CAS技术,本文将深入的介绍CAS的原理. 其算法核心思想如下 执行函数: ...