Linux教程:rpm包管理器,yum工具,编译安装从入门(2)

示例:
#rpm -ivh --nodeps php-fpm-5.4.16-23.el7_0.3.x86_64.rpm
解释:忽略依赖关系安装软件php-fpm
#rpm -ivh --replacepkgs zsh-5.0.2-7.el7.x86.64.rpm
解释:重新安装一次软件zsh
#rpm -ivh --replacepkgs --nodigest --nosignature zsh-5.0.2-7.el7.x86.64.rpm
解释:digest即完整性,signature即来源合法性,表示安装时不检查zsh安装包的完整性和来源合法性
(2)升级:
rpm {-U|--upgrade} [install-options] PACKAGE_FILE
rpm {-F|--freshen} [install-options] PACKAGE_FILE
 upgrade:安装有旧版程序包,则“升级”;如果不存在旧版程序包,则“安装”
 freshen:安装有旧版程序包,则“升级”;如果不存在旧版程序包,则不执行升级操作
rpm -Uvh PACKAGE_FILE
rpm -Fvh PACKAGE_FILE
 --oldpackage:降级
 --force:强行升级
注意:
(1)不要对内核做升级操作,Linux支持多内核版本并存,因此直接安装新版本内核即可
(2)如果原程序包的配置文件安装后曾被修改,升级时新版本提供的同一个配置文件并不会直接覆盖老版本的配置文件,而是把新版本的文件重命名(FILENAME.rpmnew)后保留
(3)查询:
rpm {-q|--query} [select-options] [query-options]
[select-options]
 -q:查询包
 -a:所有包
 -f:查看指定的文件由哪个程序包安装生成
 -p /PATH/TO/PACKAGE_FILE:针对尚未安装的程序包文件查询其安装文件信息
 --whatprovides CAPABILITY:查询指定的CAPABILITY由哪个包所提供
 --whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖
[query-options]
 --changelog:查询rpm包的更新日志
 -c:查询程序的配置文件
 -d:查询程序的文档
 -i:information
 -L:列出许可证信息
 -l:查看指定的程序包安装后生成的所有文件
 --scripts:程序包自带的脚本片段
 -R:查询指定的程序包所依赖的CAPABILITY
 --provides:列出指定程序包所提供的CAPABILITY
用法小结:
(1)-qi PACKAGE,-qf FILE,-qc PACKAGE,-ql PACKAGE,-qd PACKAGE
(2)-qpi PACKAGE_FILE,-qpl PACKAGE_FILE
(3)-qa
示例:
#rpm -qa | grep "php"
解释:查询所有rpm包,并找出“php”开头的软件包
#rpm -qf /etc/issue
解释:查询/etc/issue文件是由哪个程序包安装生成
#rpm -q --whatrequires /bin/cat
解释:查询/bin/cat被哪些程序包依赖
#rpm -q --whatprovides /bin/cat
解释:查询/bin/cat是由哪个包所提供
#rpm -q --changelog zsh
解释:查询zsh的安装更新日志
#rpm -q -c zsh
解释:查询zsh包含的配置文件
#rpm -q --conflicts zsh
解释:列出zsh包和哪些文件会发生冲突
#rpm -q -d zsh
解释:列出zsh包下的所有的手册文档
#rpm -qi zsh
解释:列出包的相关简要信息,包含名称,版本和描述信息
#rpm -ql zsh
解释:列出zsh安装后生成的所有文件的列表
#rpm -q --scripts zsh
解释:列出所有程序包含的脚本
#rpm -q -R zsh
解释:列出zsh程序包所依赖的CAPABILITY
#rpm -ql -p php-common-5.4.16-23.el7_0.3.x86_64.rpm
解释:如果程序php-common没有安装,那么使用-p可以查询其安装后可以生成的文件的信息
(4)卸载:
rpm {e|--erase} [--allmatches] [--nodeps] [--noscripts] [--notriggers] [--test] PACKAGE_NAME
示例:
#rpm -e zsh
解释:卸载zsh
(5)校验:
rpm {-V|--verify} [select-options] [verify-options]
校验信息含义:
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
示例:
#rpm -V zsh
解释:校验zsh哪些地方有发生改变。
包来源合法性验正及完整性验正:
 完整性验正:SHA256
 来源合法性验正:RSA
公钥加密:
 对称加密:加密,解密使用同一个密钥
 非对称加密:密钥是成对的
 public key:公钥,公开所有人
 secret key:私钥,不能公开
导入所需要的公钥:
CentOS 7发行版光盘提供的密��文件:RPM-GPG-KEY-CentOS-7
#rpm --import RPM-GPG-KEY-CentOS-7
(6)数据库重建:
rpm {--initdb|--rebuilddb}
 initdb:初始化,如果事先不存在数据库,则新建之;否则,不执行任何操作
 rebuilddb:重建,无论当前存在与否,直接重新创建数据库
总结:
以上这些命令就是RPM包管理器的所有基础的管理功能,后面的所有服务的配置过程,首先都需要创建用户并安装程序包,这是两个经常用到的操作,其中安装程序包部分比重会更大,所以这部分的知识大家一定要做到熟练运用。
Linux程序包管理之--yum
rpm是Linux的一种软件包名称,以.rpm结尾,安装的时候语法为:rpm -ivh,rpm报道安装有一个很大的缺点就是文件的关联性太大,有时候装一个软件要安装很多其他的软件包,很麻烦,所以就有了yum前端管理工具的诞生,它可以彻底解决这个软件依赖的关联性问题,很方便,只要配置两个文件即可安装。简单的说,rpm只能安装已经下载到本地机器上的rpm包,yum能在线下载并安装rpm包,能更新系统,并且还能自动处理包与包之间的依赖问题,这是yum前端管理工具解决的重要问题。
yum是rpm软件包管理器的前端管理工具。yum是一个在Fedora和RedHat以及CentOS的shell前端软件包管理器。基于rpm包管理,能够从指定的服务器自动下载rpm包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无需繁琐地一次次下载、安装。

Linux教程:rpm包管理器,yum工具,编译安装从入门

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

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