Linux RPM软件包管理(2)

--changelog:查询rpm 包的changelog
-c:查询程序的配置文件
-d:查询程序的文档
-i:information
-l:查看指定的程序包安装后生成的所有文件
--scripts:程序包自带的脚本
--provides:列出指定程序包所提供的CAPABILITY
-R:查询指定的程序包所依赖的CAPABILITY

[verify-options]:

--nofiledigest:不校验文件完整性
--nofiles:不校验包内文件
--nodeps :不校验包的依赖性
--noscript:不执行校验脚本

查询结果所代表的意义:

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

总的来说查询用的还挺多的,-qa,-qf,-qp,-q --whatprovides 等挺使用的,而校验的话,我没怎么用过。
rpm除了上面提到的还有其他选项功能,大家可以用帮助查看。实际上,上面也提到了,一般我们也就用rpm来做查询用,其他的功能有更好的工具来做,例如使用yum来管理安装包。

3.rpm包管理的前端工具:yum

YUM: Yellowdog Update Modifier ,rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,up2date的替代工具。
要想使用yum工具,需要进行相关的配置。

1)yum repository配置

yum repository:yum repo,存储了众多的rpm包,以及包相关的元数据文件,放置于特定目录repodata下。
yum 相关的文件:

为所有repository提供公共的配置信息:/etc/yum.conf
为repository 的指向提供配置信息:/etc/yum.repos.d/*.repo
安装日志:/var/log/yum.log
缓存目录:/var/cache/yum/$basearch/$releasever

yum的repository配置文件中可用的变量

$releasever:当前OS 的发行版的主版本号
$arch:平台,i386,i486,i586,x86_64等 等
$basearch:基础平台;i386, x86_64
$YUM0-$YUM9:自定义变量

yum的repository配置文件中可选用的

http(s):// ;ftp://file://

从/etc/yum.repos.d/*.repo中我们可以看到.repo文件中所需的一些配置的信息,这里简单说明下:

[repository id]:这个是repo id
name=:这个是repo 名字
baseurl=:这个就是源,你可以选择使用http://、https://、ftp://、file://中的任何几个
enabled=:这个表示是否要启用这个repo,1代表启用,0代表禁用。
gpgcheck=:这个表示是否要检查公钥,1表示需要公钥,0表示不需要。
gpgkey=:这个就是公钥所在的地址(上面填1就不用)
enablegroups=是否使用组,1要,0不要(一般不用)
failovermethod=:这个有俩个选项,roundrobin表示随机挑衅也是默认配置,priority是按照顺序访问。(一般不用)
cost=默认为1000(一般不用)

上面的就是yum repository的配置了,配置好后,yum就可以使用了,当然前提是先把yum安装包安装好,可以使用yum命令。

2)yum命令

yum [options] [command] [package ...]

[options]

--nogpgcheck:禁止进行gpg check(公钥)
-y:自动回答为“yes”
-q:静默模式
--disablerepo=repoidglob:临时禁用此处指定的repo
--enablerepo=repoidglob:临时启用此处指定的repo
--noplugins:禁用所有插件

常用命令:

显示仓库列表:yum repolist [all|enabled|disabled]
显示程序包:yum list [all | glob_exp1 ...] {available|installed|updates} [glob_exp1][...]
安装程序包:yum install/reinstall package1 [package2] [...]
升级程序包:yum update/downdate [package1] [package2] [...]
检查可用升级:yum check-update
卸载程序包:yum remove/erase package1 [package2] [...]
查看程序包information:yum info [...]
查看指定的特性( 可以是某文件) 是由哪个程序包所提供:yum provides/whatprovides feature1 [feature2][...]
清理本地缓存:yum clean [ packages | metadata | expire-cache |rpmdb | plugins | all ]
构建缓存:yum makecache
搜索:yum search string1 [string2] [...]
查看指定包所依赖的capabilities:yum deplist package1 [package2] [...]
查看yum 事务历史:yum history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]
安装装及升级本地程序包:yum localinstall/localupdate rpmfile1 [rpmfile2] [...](install/update可以代替之)
组管理的相关命令:
yum groupinstall group1 [group2] [...]
yum groupupdate group1 [group2] [...]
yum grouplist [hidden] [groupwildcard] [...]
yum groupremove group1 [group2] [...]
yum groupinfo group1 [...]

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13427.html