软件包管理

博文参考

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

RPM

安装:

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

-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]linux

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的文件保留

校验:

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

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

经常使用用法:rpm –V packages_name测试

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

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仓库

程序包编译安装

相关文章
相关标签/搜索