软件包管理

博文参考

http://www.178linux.com/39458
http://www.178linux.com/39131

RPM

安装:

rpm {i|install} [install-option] PACKAGES_FILE…

 -h:hash,以#表示安装进度,每个#表示%2

 -v|–verbose:显示详细过程

 -vv:显示更详细的过程

 [install-option]

rpm –ivh –test:测试安装;但不真正执行安装;在dry run模式下进行

rpm –ivh –  –nodeps:忽略依赖关系

rpm –ivh –  –replacepkgs:重新安装,替换原有安装

rpm –ivh –  –nosignature:不检查来源合法性

rpm –ivh –  –nodigest:不检查包完整性

rpm –ivh –  –force:强行安装,可以实行重装或降级

rpm –ivh –  –scripts:不执行程序包脚本片段

查询

rpm {q|–query} [select-options] [query-options]

rpm -q packages_name: 查询指定的包是否已安装

rpm -qa:查询所有已安装的包

rpm -qi packages_name:查询指定包的说明信息

rpm -ql packages_name:查询指定安装包生成的文件

rpm –qc packages_name:查询指定安装包生成的配置文件

rpm –qd packages_name:查询指定安装包生成的帮助文件

rpm –qf files_name:查询指定的文件是由那个包安装生成的

rpm –qp files_name:查询指定未安装的程序包文件做查询操作

–whatprovides capability:查询指定的capability被那个包所提供

–whatrequires capability:查询指定的capability被那个包所依赖

rpm –q –scripts packages_name:查看指定的包中包含的脚本

rpm –q –changelog packages_name:查询rpm包改变日志

rpm –R packages_name:查询指定的程序包所以来的capabilty

rpm2cpio 包文件|cpio –itv 预览包里的文件

rpm2cpio 包文件|cpio –id “*.conf”释放包内文件

升级:

rpm {-U|–upgrade}[install-options] PACKAGES_FILE…:如果有老版本的,则升级,否则,则安装

rpm {-F|–freshen}[install-options] PACKAGES_FILE…:如果有老版本的,则升级,否则,则退出安装

–oldpackages:降级

注意:

不要对内核做升级操作;Linux支持多内核版本并存,因此,对直接安装新版本内核

如果源程序包的配置文件安装后曾被修改,升级时,新版本提供的同一个配置文件并不会覆盖老版本的配置文件,而把新版的文件命令为以.rpmnew的文件保留

卸载:

rpm {-e|–erase}  [–allmatches] [–nodeps][–test] PACKAGES_NAME

简单用法:rpm –e packages_name

–nodeps:忽略依赖关系

–test:测试卸载;dry-run模式

–allmatches:如果一个程序包同时安装多个版本时,则此选项一次全部卸载,但程序包配置文件安装后曾被修改,卸载时,此文 件通常不会被删除,而是被重名为以.rpmsave的文件保留

校验:

查询包安装之后生成的文件是否发生了改变

rpm {-V|–verify} [select-options][verify-options]

常用用法:rpm –V packages_name

当没有输出结果时表示软件包完整ok,当有相应的结果输出表明对应的内容有修改,具体如下:

S file Size differs  文件的容量大小发生改变

5(MD5 sum differs)MD5这一种指纹码的内容发生改变

M Mode 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 –import  /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

验证 rpm –K packages_name

重建数据库

当我们把数据库的文件删除之后,我们查询软件包的信息都是查询不到的,因为rpm –q是依据数据库里的数据来进行查询,这时就需要重建数据库了

数据库位置

 /var/lib/rpm

 rpm {–initdb|–rebuilddb}

 rpm –initab:初始化,如果事先不存在数据库,则新建,否则,不执行任何操作

 rebuilddb:重建,无论事先是否存在,直接重新创建数据库

yum

光盘当作本地yum仓库

创建yum仓库

程序包编译安装

    原文作者:达龙
    原文地址: https://segmentfault.com/a/1190000010179583
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞