软件包管理器的核心功能
1、制作软件包
2、安装、卸载、升级、查询、校验
Redhat、SUSE、Debian
Redhat、SUSE:RPM
Redhat Package Manager
RPM is Package Manager
Debian:dpt
安装软件包的时候经常会遇到包依赖关系
X-->Y-->Z
X-->Y-->Z-->X
自动解决依赖关系的管理工具
前端工具:yum、apt-get
yum:yellowdog update modifier
后端工具:RPM、dpt
rpm命令:
rpm:
数据库/var/lib/rpm
rpmbuild:创建RPM包
rpm命名
包组成部分:rpm包有主包和分包
主包:bind-9-7-1.1-e15.i386.rpm
子包:bind-libs-9-7-1.1-e15.i386.rpm
bind:单个包
bind-libs:主包-分包
包名格式:name-version-release.arch.rp(有源程序的RPM包和二进制的RPM包)
名称-主版本号、次版本号、源程序发行号-rpm包的发行号.主机平台.cpu架构
主版本号:重大改进
次版本号:某个子功能发生重大改变
发行号:修正了部分BUG,调整了一点功能
安装、查询、卸载、升级、校验、数据库的重建、验证数据包等工作
rpm:
1、安装
rpm -i package_file
-h 以#号显示进度 每个#表示2%
-v 显示详细过称
-vv 显示更详细过称
--nodeps 忽略依赖关系
--replacepkgs 重新安装替换原有的安装
--force 强行安装 可以实现重新安装或降级
通常组好使用 rpm -ivh package_file
2、查询
rpm -q package_name 查询指定的包是否已经安装
-qa 查询已经安装的所有包
-qi 查询指定包的说明信息
-ql 查询指定包安装后生成的文件列表
-qf 查询指定的文件是由哪个RPM包安装生成的
-qc 查询指定包安装的配置文件
-qd 查询指定包安装的帮助文件
-q --scripts package_name:查询指定包安装的脚本
rpm -qpi 如果某个RPM包尚未安装,我们需要查询其说明信息、安装以后会生成的文件
3、升级
rpm -Uvh 如果装有老版本则升级,否则安装
-Fvh 如果装有老版本则升级,否则退出
--oldpackage 降级
4、卸载
-e
5、校验
-V
6、检验来源合法性、软件完整性
加密类型:
对称:加密解密使用同一密钥
公钥:一对密钥,公钥,私钥;公钥隐含于私钥中并公开出去
Linux系统自带的公钥一般放在/etc/pki/rpm-gpg/下,后缀为release的就是公钥,没有这个公钥,那个后缀为系统名加版本号的就是公钥了。
RPM-GPG-KEY-CentOS-5
rpm -K
-nosignature 不检测合法性
--nodigest 不检测完整性
dsa,gpg:验证来源合法性,也即验证签名:--nosignature略过此项
sha1,md5:验证软件包的完整性:--nodigest略过此项
7、重建数据库
--rebuilddb 重建数据库:一定会重新建立
--initdb 初始化数据库:没有才建立,有就不会建立
本文出自 “ngames” 博客,请务必保留此出处http://ngames.blog.51cto.com/3187187/1550254
原文地址:http://ngames.blog.51cto.com/3187187/1550254