目录
yum和rpm的常用命令
yum和rpm有很多的用法,下面我只介绍我们可能会经常遇到的。不经常用的,会贴到文章最后面。
软件包的安装
- rpm安装包的时候使用
rpm -ivh package_name
实例:rpm -ivh screen-4.0.3-19.el6.x86_64
强制安装:rpm -ivh package_name --force
(万能安装选项) - yum安装软件的语法格式:
yum install package_name
实例:yum install yum install screen-4.0.3-19.el6.x86_64.rpm
软件包的查询
软件包的查询可以配合着软件包的安装和卸载一起使用。当我们只知道软件包的文件而不知道包名,或者只知道包名的关键字的时候,我们可以利用这个进行搜寻,然后再去安装,或者卸载。
- rpm中的查询,语法:
rpm -qa |grep 关键字
实例:rpm -qa |grep screen
,从结果中筛选出我们想要的,然后在进行 相应的操作即可。 - yum中的查询
- 方法一:语法:
yum list installed |grep 关键字
实例:yum list installed |grep screen
- 方法二:语法:
yum provides 关键字
实例:yum provides screen
- 方法一:语法:
软件包的卸载
- rpm中的卸载 语法:
rpm -e 包名
实例:rpm -e screen
- yum中的卸载 语法:
yum remove 包名
实例:yum remove screen-4.0.3-19.el6.x86_64.rpm
以上就是我们常用的一些命令,我们常用的一般也就是这三种,将查询和其他两种结合起来能完成我们大多数的操作。
[注意]:在软件包安装和卸载的时候,yum的好处就是能够实现包的依赖安装。有些rpm一次不能安装好的命令,使用yum就能安装好。而且这种关系在卸载的时候,我们可以使用这条命令。yum history undo 4
其中4就是列表中的第四条而Undo就是反向执行。我们能看到图中第4条是一个安装命令,它的反向就是卸载。假如我们使用yum安装时候依靠依赖关系装了5个包,当我们使用undo时,就能够依靠反向去卸载这5个包。
yum和rpm的所有其他选项
rpm中的所有选项
rpm
-i 安装
-v 显示过程
-vv 显示详细过程
-h 显示进度
-ivh 常用的安装选项
--nodeps忽略依赖性关系检测
--replacepkgs 重复安装已安装过的包,文件覆盖
--replacefiles 即将安装的包的部分文件与其他已安装的包文件冲突,可继续安装,文件不覆盖
--nosignature: 不检查来源合法性
--nodigest:不检查包完整性
--noscripts:不执行程序包脚本
%pre: 安装前脚本; --nopre
%post: 安装后脚本; --nopost
%preun: 卸载前脚本; --nopreun
%postun: 卸载后脚本; --nopostun
-U 指定的包比已安装的包新或者未安装
-F 指定的包比已安装的包新
--oldpackage 指定的包比已安装过的包旧
--force
--replacepkgs, --replacefiles, --oldpackage
-q 查询包是否安装
-qa 查询已安装的所有包
-qf 文件路径 查询指定的文件来源于哪一个rpm包
-ql 包名 查询该包提供了哪些文件
-qp# rpm包 对未安装的包,指定rpm文件再配合其他查询子选项来进行各项查询操作
-q --changelog 包名 查看更新日志
-qc 包名 查看该软件包所提供的配置文件
-qd 包名 查看该软件包所提供的文档文件
-qi 包名 查看该软件包的详细信息
-q --scripts 查看安装前及安装后的脚本
-q --provides 包名 查看一个软件包提供了哪些能力
-qR 包名 查看一个软件包的运行所依赖的能力
-q --whatprovides 能力名 查看一个能力由哪个包提供
-q --whatrequires 能力名 查看一个能力依赖于哪些包
-e 卸载
-e 包名
rpm -e `rpm -q vsftpd`
或
rpm -e vsftpd --allmatches 安装了多个版本的某个rpm可以一次性全部删除
--nodeps 删除时不检查依赖性关系
-V 校验已安装的包的文件哪些发生了更改或丢失,更改变化的类型如下
S file Size differs
M Mode differs (includes permissions and file type)
5 digest (formerly MD5 sum) differs
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs
G Group ownership differs
T mTime differs
P capabilities differ
-K rpm包 验证包的合法性
--import 公钥 导入公钥
rpm -qa "gpg-pubkey*" 查询公钥
rpm -e `rpm -qa "gpg-pubkey*"` 删除公钥
--initdb 初始化/var/lib/rpm数据库
--rebuilddb 重建包头索引目录
yum中的所有选项
yum
yum repolist
all 显示所有的仓库
enabled 显示已启用的仓库
disabled 显示已禁用的仓库
yum list [all]
available 显示所有可用的,且未安装的
installed 显示所有已安装的包
updates 显示可更新的包
yum install pkg1 [pkg2]
yum reinstall pkg1 [pkg2]
yum update [pkg1] [pkg2]
yum list updates 或 yum check-update
yum erase 或 yum remove
yum info pkg1 显示包的详细信息
yum provides | whatprovides 文件路径(支持文件名通配符) 查询一个文件来自哪一个rpm包无论是否已安装
yum clean all清空缓存
yum makecache
yum deplist pkg1 查询指定包所依赖的能力
yum history 显示yum的历史操作
yum history info # 详细显示某条历史记录
yum history undo # 撤消某条yum的操作
yum localinstall |install rpm路径 安装本地的rpm包,并用yum解决依赖性关系
yum localupdate |update rpm路径 更新本地的rpm包,并用yum解决依赖性关系
yum groupinstall grppkg1
grouplist 列出所有的包组
groupinfo grppkg1 显示该包组包含的rpm包
groupremove grppkg1 卸载包组
yum install --nogpgcheck 临时不进行gpg check
-y 自动回答,避免交互式
-q 静默。但不彻底,建议使用yum -y install vsftpd &> /dev/null
createrepo 存放rpm的路径