您的位置:首页 > 产品设计 > 产品经理

阿岳之_rpm程序包管理篇

2016-01-03 17:48 411 查看
rpm

——redhat package manager(old)

——rpm pakage manager(now)

history

redhat从debian习得dpkg的包管理方式,先模仿再超越,然后SuSE又从redhat学习开始创新,后来redhat觉得SuSE这个想法不错,于是又超越了SuSE,真是厉害

Install

rpm -ivh 完整包名

eg:

rpm -ivh httpd-2.4.6-31.el7.centos.x86_64.rpm // -i 即install的意思,-v就显示安装进度,-h即以#显示安装进度,总共50个进度,每个表示2

Update

rpm -Uvh 完整包名

更新以及安装,检查rpm的数据库若之前有那个包就更新,若没有则安装
eg:

rpm -Uvh gnome-settings-daemon-updates-3.8.6.1-12.el7.x86_64.rpm

rpm -Fvh 完整包名

只更新,检查rpm的数据库若之前有那个包就更新,若没有则不采取任何安装

Uninstall

rpm -e 包名

卸载rpm包,不用给出完整包名,
eg:

rpm -e httpd

Query

rpm -q 包名

查询是否有含有包名的安装包,没有安装则没有查询结果

rpm -qa

查询所有已安装的rpm包,如果想查询其中一个包,则 rpm -qa | grep "包名"

eg:

rpm
-qa|grep "httpd"

rpm -ql 包名

查询程序包所生成的所有文件列表

eg:

rpm -ql httpd // -l 即为list之意

rpm -qf 文件名

查询文件的生成所依赖的包

eg:
rpm -qf /etc/passwd ,截图如下:



rpm -qc 包名

查询程序包所生成的配置文件

eg:
rpm -qc yum // -c 即为configure之意

rpm -qd 包名

查询程序包所生成的各类文档,安装文档、changelog、man,等等

eg:
rpm -qd yum // -d 即为document之意

rpm -qi 包名

查询程序包的详细信息,比如版本之类

eg:
rpm -qi yum // -i 即为information之意

rpm -q --provides 包名

查询程序包提供的所有功能,比如httpd就提供了webserver的功能

eg:
rpm -q --provides httpd

rpm -q --whatprovides 功能

查询此功能由哪些程序包提供

eg:
rpm -q --whatprovides webserver



rpm -q --whatrequires 包名

查询此程序包被哪些程序包所依赖

eg:

rpm -q --whatrequires bash



rpm -qp 包名

当rpm包下载到本地尚未安装之前,查询此程序包的相关信息,可以搭配前面的-l,-f,-c,-d等选项使用,常见的组合

rpm -qpi

rpm -qpd

rpm -qpc

... ...

rpm -qR 包名

查询程序包的依赖关系

Check

rpm --import RPM-GPG-KEY-CentOS-7

导入包制作者提供的公钥

rpm -K bash-4.2.46-12.el7.x86_64.rpm

验证包的合法性

说明:--nosignature 表示验证包的来源合法性,--nodigest 表示验证包的完整性

Rpm database

rpm --initdb --dbpath=/tmp/rpm

创建rpm数据库,并指定路径

rpm --rebuilddb --dbpath=/tmp/rpm

重建rpm数据库
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: