首页 > 代码库 > rpm包管理
rpm包管理
rpm 执行安装包
二进制包(Binary)以及源代码包(Source)两种。二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译、安装。源代码包经常以.rpm作为后缀名。
例: rpm -qa |grep rsync
安装:
rpm {-i|--install} [install-option] PACKAGE-FILE(rpm包所在的路径) 安装
option
-v, --verbose 显示详细安装信息
-h, --hash 以#显示安装进度
-vv 显示详细安装信息(比-v详细)
--replacepkgs 覆盖安装,重新安装并覆盖原文件(如原文件被修改则先删除后在安装包)
--test 安装测试,并不实际安装
--nodeps 忽略软件包的依赖关系,安装成功后比一定有能用,却少其他包
--force 强制安装
--nodigest 不检测完整性性
--nosignature 不检测来源合法性和签名信息
升级:
rpm {-U|--upgrade} [install-option] PACKAGE-FILE 升级
-U:升级或安装(安装有旧版本则升级,若没有则安装)
rpm {-F|--freshen} [install-option] PACKAGE-FILE 升级
-F:升级(只升级没有,不做操作)
option
--test 不执行真正的的安装操作,仅报告依赖关系和信息冲突
--nodeps 忽略软件包的依赖关系,安装成功后比一定有能用,却少其他包
--for 强制安装
--oldpackage 降级到旧版本
卸载:
rpm {-e|--erase} [--allmatches] [--nodeps] [--test] PACKAGE-FILE
简单用法: rpm -e PACKAGE-FILE
--nodeps 忽略依赖关系
--test 测试卸载
--allmatches 如果一个程序包同时安装多个版本,次选项一次安装
查询:
rpm {-q|–query} [select-options] [query-options]
option常与 -q 连用
例:
1、查询某包或某些包是否安装
rpm -q PACKAGE-FILE
2、查询已安装的所有包
rpm -qa
3、查询某文件是有那个包安装生成
rpm -qf /PATH/TO/SOMEFILE
4、查询某包的简要信息
rpm -qi PACKAGE-FILE
5、查询未安装包的相关信息
rpm -qpi PACKAGE-FILE
6、查询某包安装生成的文件列表
rpm -ql PACKAGE-FILE
7、查询某包安装完成后生成的所有配置文件
rpm -qc PACKAGE-FILE
8、查询某包安装完成后生成的所有帮助文件
rpm -qd PACKAGE-FILE
9、查询某包安装或卸载时执行的脚本
rpm -q --scripts PACKAGE-FILE
10、查询某包所依赖的capabilities
rpm -q --requires PACKAGE-FILE
11、查询某包所提供的capabilities
rpm -q --provides PACKAGE-FILE
脚本有四类:
preinstall :安装过程开始之前执行的脚本;
postinstall :安装过程完成之后执行的脚本;
preuninstall:卸载开始之前执行的脚本;
postuninstall:卸载过程完成之后执行的脚本;
校验:
rpm {-V|--verify} [select-option] PACKAGE-FILE
用法:rpm -V PACKAGE-FILE
--nodigest 不检测完整性性
--nosignature 不检测来源合法性
rpm {--initab| --rebuilddb}[-v] [--dbpath DIRECORY]
--initdb :初始化数据库,不存在时创建。
yum是解决安装包的依赖关系
yum的主配置文件:
/etc/yum.conf 为各仓库指向提供公共配置文件
yum仓库的定义:
/etc/yum.repos.d/*.repo 以.repo结尾的文件 为仓库指向提供配置信息
仓库配置(简写):
[repositoryid] 标识repository指向
baseurl=url://path/to/repdity 服务器路径
ftp服务:ftp://SERVER/PATH/TO/REPOSITORY
http服务:http://SERVER/PATH/TO/REPOSITORY
file服务:file:///SERVER/PATH/TO/REPOSITORY
gpgcheck={1|0} 是否对程序包校验
yum的命令形式一般是如下:yum [options] [command] [package ...]
其中的[options]是可选的,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。[command]为所要进行的操作,[package ...]是操作的对象。
自动搜索最快镜像插件: yum install yum-fastestmirror
安装yum图形窗口插件: yum install yumex
查看可能批量安装的列表: yum grouplist
yum仓库
yum repolist :列出已经配置的所有可用仓库
yum [all|enabled|disabled]
yum缓存:
yum clean :清理缓存
yum makecache :创建缓存
程序包查看:
yum list [all|glob_exp1]
yum list {available|updates|installed|...}
yum groplist [hidden] [groupwidcard]
程序包安装
yum install package1 [package2] [...]
重新安装(覆盖安装)
yum reinstall package1 [package2] [...]
程序包升级
yum update package1 [package2] [...]
程序包降级
yum downgrade package1 [package2] [...]
检测有那些升级可用
yum check-update
软件包卸载
yum remove package1 [package2] [...]
1.yum的一切配置文件内容
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
metadata_expire=1800
cost= 当前repository的访问开销,默认为1000
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
查询:yum info 查询程序的相关信息
包组:
列出所有包组
yum grouplist
显示指定包组信息
yum groupinfo group1
安装
yum groupinstall package1 [package2] [...]
升级
yum groupupdate package1 [package2] [...]
卸载
yum remove package1 [package2] [...]
1.清除缓存目录(/var/cache/yum)下的软件包
命令:yum clean packages
2.清除缓存目录(/var/cache/yum)下的 headers
命令:yum clean headers
3.清除缓存目录(/var/cache/yum)下旧的 headers
命令:yum clean oldheaders
4.清除缓存目录(/var/cache/yum)下的软件包及旧的headers
命令:yum clean, yum clean all (= yum clean packages; yum clean oldheaders)
rpm包管理