您的位置:首页 > 运维架构 > Linux

linux软件包管理rpm

2016-03-17 16:13 441 查看
程序的组成部分:

二进制部分:一般在/bin、/sbin等目录

库:/lib、include

配置文件: /etc

帮助文件:man

linux各个目录简要注意点:
/etc,/bin,/sbin,/lib
系统启动就需要用到的程序,这些目录不能挂载额外的分区,必须在根文件系统所在的分区上
/usr/

bin

sbin

lib

操作系统核心功能,可以单独分区
/proc
/sys
不能单独分区,默认为空

/dev:设备,不能单独分区
/root:不能单独分区
/var:建议单独分区
/boot:内核,initrd(initramfs)
POST-->BIOS-->(MBR)bootloader(文件系统,ext2、ext3)-->内核

软件包管理:rpm
作用:
将二进制程序、配置文件、帮助文件、库文件打包成一个文件

生成数据库,追踪所安装的每一个文件

核心功能:
1.制作软件包

2.安装、卸载、升级、查询、校验

Redhat,SUSE:RPM
Redhat Package Manager

PRM is Package Manager

Debian:dpt

前端工具:yum apt-get
后端工具:RPM,dpt
yum:Yellowdog Update Modifier

rpm命令:
rpm:

数据库:/var/lib/rpm

rpmbuild:

rpm命名:
包:组成部分
主包:

bind-9.7.1-1.el5.i586.rpm

子包:

bind-libs-9.7.1-1.el5.i586.rpm

包名格式:
name-version-release.arch.rpm

bind-major.minor.release-release.arch.rpm
主版本号:重大改进
次版本号:某个子功能发生重大变化
发行号(第一个release):修正了部分bug,调整了一点功能
发行号(第二个release):作者制作成rpm修改的版本

rpm包:
二进制格式

rpm包作者下载源程序,编译配置完成后,制作成rpm包

rpm:
安装:
rpm -i /PATH/TO/PACKAGE_FILE
-h:以#显示进度:每个#表示2%;

-v:显示详细过程

-vv:更详细的过程

rpm -ivh /PATH/TO/PACKAGE_FILE
--nodeps:忽略依赖关系:

--replacepk:重新安装,替换原有安装:

--force:强行安装,可以实现重装或降级:

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

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

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

rpm -ql PACKAGE_NAME:查询指定包安装后生成的文件列表:

rpm -qd PACKAGE_NAME:查询指定包安装的帮助文件

rpm -qf /path/to/somefile:查询指定的文件是由哪个rpm包安装生成的
rpm -q --script PACKAGE_NAME:查询指定包中包含的脚本

如果某rpm包尚未安装,我们需查询其说明信息,安装以后会生成文件
rpm -qpi /PATH/TO/PACKAGE_FILE

rpm -qpl

升级:
rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本则升级,否则,则安装
rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本则升级,否则,退出
--oldpackage:降级

卸载:
rpm -e PACKAGE_NAME

--nodeps

校验:
rpm -V PACKAGE_NAME

重建rpm数据库:
rpm
--rebuilddb:重建数据库
--initdb:初始化数据库,没有才建立,有就不用

检验来源合法性,以及软件完整性:
加密类型:
对称:加密解密使用同一个密钥
公钥:一对密钥,公钥,私钥:公钥隐含于私钥中,可以提取出来,并公开出去
单向:用于验证完整性,只要有一个字符改变,计算结果便千差万别

[root@logstash ~]# ls /etc/pki/rpm-gpg/
RPM-GPG-KEY-CentOS-6 RPM-GPG-KEY-EPEL-6
RPM-GPG-KEY-CentOS-Debug-6 RPM-GPG-KEY-rpmforge-dag
RPM-GPG-KEY-CentOS-Security-6 RPM-GPG-KEY-rpmforge-fabian
RPM-GPG-KEY-CentOS-Testing-6

rpm -K /PATH/TO/PACKAGE_FILE
dsa,gpg:验证来源合法性,也即验证签名可以使用--nosignature,略过此项

sha1,md5:验证软件包完整性;可以使用--nodigest略过此项

本文出自 “单季稻” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: