程序包管理;
在指定系统中进行程序的安装,卸载,升级,查询及校验等工作,
不同的linux发行版本,有着不同的程序包管理器;
Debian;dpt,Debian package Toolkits, dpkg工具, .deb后缀名的包文件
Redhet;rmp,Redhat package Manager , rpm工具, .rpm后缀名的文件
rpm成为linux的程序包管理器的行业标准;
rpm是使用perl语言编写的,用C语言重新rpm,
rpm is package manager
S.U.S.E;rpm, .rpm后缀名的文件
Gentoo;采用了FreeBSD的portage的程序包管理机制,emerge的工具
ARchlinux;pacman
以centos为例,rpm程序包管理器的相关内容;
centos的程序包管理器
程序包的命名规则;
源代码包;
software_name-VERSION.tar.gz
VERSION;major.minor.release
major;主版本号,通常代表重大功能改进的版本分支;
minor;次版本号,通常代表在某个版本的分支中的某个功能发生变化;
release;发行版本号,修复了某些bug或者对某段代码进行了优化;
rpm程序包命名规则;
源码包;
software_name-VERSION.src.rpm
二进制包;
software_name-VERSION-[release].[os].arch.rpm
VERSION;major.minor.release
[release];rpm封包的发行版本
[os];所支持的操作系统版本,
arch;硬件平台类型,
在制作rpm程序包的时候,通常其制作者会采用分包技术来构建rpm程序包;
根据程序的不同功能,构建多个程序包;
被分包的程序包分为两类;
主程序包;
software_name-VERSION-[release].[os].arch.rpm
附属功能包;
software_name-function-VERSION-[release].[os].arch.rpm
一般来讲,主程序包和附属功能包具有相同的版本号,发行版本号,操作系统及兼容平台的标识
所以,主程序包往往被所以的附属功能包所依赖,不安装主程序包就不能安装附属功能包;
function;devel,utils,libs,tools,manual,....
依赖关系;
A --> B --> C --> D --> A 依赖黑洞
程序包管理的前端工具;
RHEL|Centos系统的前端管理工具;yum,Yellow dog update midifier
yum在实施安装,卸载,升级等工作的时候,会开启事务;
所谓事务,将整个操作过程视为一个整体,要么全执行,要么全不执行
Fedora 22+;dnf
Debian系前端工具;apt-get,apt-cache
apt-get:实现安装,卸载等功能;
apt-cache;实现基于关键字进行搜索功能,管理本地缓存的元数据
Suse前端工具;zypper