一、rpm包管理器
rpm是一个功能强大的包管理工具,可用于构建,安装,查询,验证,更新和卸载软件包。
用法:
rpm [OPTION...]
例 rpm -ivh +包名
配置文件:
/var/lib/rpm/ 已安装rpm包的元数据
选项:
- -i:安装
- --test:测试安装
- --nodeps:忽略依赖关系
- --replacepkgs | replacefiles 重装
- --nosignature:不检查来源合法性
- --nodigest:不检查包完整性
- --noscript:不执行程序包脚本
- --nopre:不执行安装前脚本
- --nopost:不执行安装后脚本
- --nopreun:不执行卸载前脚本
- --nopostun:不执行卸载后脚本
- -v|-vv:显示过程
- -h:显示进度条
- --force:强制
- -e:卸载
- --allmatches:卸载包的所有版本
- -U:升级安装
- -F:升级
- --oldpackage:降级
- -q:查询
- -a:显示所有包
- -f:查询文件是由哪个包生成的
- -p:查询未安装的文件名
- -c:只看配置文件
- -d:显示文档
- -i:包的说明信息
- -l:查看程序包提供了哪些文件
- --scripts:查询包的脚本信息
- -R:查询包所依赖的“能力”
- --whatprovides CAPABILITY:查询指定的”能力“由哪个包所提供
- --whatrequires CAPABILITY:查询指定的“能力”被哪个包所依赖
- --changelog:查询rpm包的更新日志
- --provides:列出包提供的“能力”
- -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:检查包的签名和完整性
- --import /etc/pki/rpm-gpg/KEY导入公钥
- --root=/path/ 安装到指定“/”下
- --initdb:初始化rpm数据库
- --rebuilddb:重建rpm数据库
相关命令:
ldconfig -p 查看系统中所有的库 rpm2cpio FILE.rpm |cpio -tv 预览包内文件 rpm2cpio FILE.rpm |cpio -idv /path/file 解压rpm包指定文件
ldconfig -p 查看系统中所有的库
rpm2cpio FILE.rpm |cpio -tv 预览包内文件
rpm2cpio FILE.rpm |cpio -idv /path/file 解压rpm包指定文件
二、yum包管理
yum是存储了众多rpm包,以及包的相关的元数据文件
yum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号
$arch: 平台,i386,i486,i586,x86_64等
$basearch:基础平台;i386, x86_64
$YUM0-$YUM9:自定义变量
yum的用法
yum [options] [command] [package ...]
显示仓库列表:
yum repolist [all|enabled|disabled]
显示程序包:
yum list
yum list [all | glob_exp1] [glob_exp2] [...]
yum list {available|installed|updates} [glob_exp1] [...]
安装程序包:
yum install package1 [package2] [...]
yum reinstall package1 [package2] [...] (重新安装)
升级程序包:
yum update [package1] [package2] [...]
yum downgrade package1 [package2] [...] (降级)
检查可用升级:
yum check-update
卸载程序包:
yum remove | erase package1 [package2] [...]
查看程序包information:
yum info [...]
查看指定的特性(可以是某文件)是由哪个程序包所提供:
yum provides | whatprovides feature1 [feature2] [...]
清理本地缓存:
清除/var/cache/yum/$basearch/$releasever缓存
yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
构建缓存:
yum makecache
搜索
yum search string1 [string2] [...] 例如:yum search *app*
配置文件:
/etc/yum.conf 配置文件
- cachedir 缓存目录
- keepcache=0|1 安装时是否保留缓存的rpm包
- logfile 日志文件
- gpgcheck=0|1 检查签名和完整性
/var/log/yum.log 日志
/etc/yum.repos.d/FILE.repo yum源文件
[base] name=base #描述信息 baseurl=http|ftp|file #yum仓库,路径指向repodata的父目录 enabled=0|1 gpgcheck=0|1 gpgkey=/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 failovermethod={roundrobin|priority} #roundrobin:意为随机挑选,为默认值 #priority:按顺序访问 cost= #优先级,默认1000,值越小越优先 mirror=http|ftp|file #指向repo地址的文件