了解linuxRPM软件包管理

1、RPM 软件包管理
Linux 软件包管理大致可分为二进制包、源码包,使用的工具也各不相同。Linux 常见软件包分为两种,分别是源代码包(Source Code)、二进制包(Binary Code),源代码包是没有经过编译的包,需要经过 GCC、C++编译器环境编译才能运行,二进制包无需编译,可以直接安装使用。
通常而言,可以通过后缀简单区别源码包和二进制包,例如.tar.gz、.zip、.rar 结尾的包通常称之为源码包,以.rpm 结尾的软件包称之为二进制包。真正区分是否为源码还是二进制还得基于代码里面的文件来判断,例如包含.h、.c、.cpp、.cc 等结尾的源码文件,称之为源码包,而代码代码里面存在 bin 目可以执行文件,称之为二进制包。
CentOS 操作系统中有一款默认软件管理的工具,红帽包管理工具(Red Hat PackageManager,RPM)。
使用 RPM 工具可以对软件包实现快速安装、管理及维护。RPM 管理工具适用的操作系统包括:CentOS,RedHat,Fedora,SUSE 等,RPM 工具常用于管理.rpm 后缀结尾的软件包。RPM 软件包命令规则详解如下
RPM 包命名格式为:

	name-version.rpm
	name-version-noarch.rpm
	name-version-arch.src.rpm

如下软件包格式:

	epel-release-6-8.noarch.rpm
	perl-Pod-Plainer-1.03-1.el6.noarch.rpm
	yasm-1.2.0-4.el7.x86_64.rpm

RPM 包格式解析如下
name 软件名称,例如 yasm、perl-pod-Plainer;
version 版本号,1.2.0 通用格式:“主版本号.次版本号.修正号”;
4 表示是发布版本号,该 RPM 包是第几次编译生成的;
arch 适用的硬件平台,RPM 支持的平台有:i386、i586、i686、x86_64、
sparc、alpha 等。
.rpm 后缀包表示编译好的二进制包,可用 rpm 命令直接安装;
.src.rpm 源代码包,源码编译生成.rpm 格式的 RPM 包方可使用;
el* 软件包发行版本,el6 表示该软件包适用于 RHEL 6.x/CentOS 6.x;
devel: 开发包;
noarch: 软件包可以在任何平台上安装。

RPM 工具命令详解如下
RPM 选项 PACKAGE_NAME
-a, --all 查询所有已安装软件包;
-q,–query 表示询问用户,输出信息;
-l, --list 打印软件包的列表;
-f, --file FILE 查询包含 FILE 的软件包;
-i, --info 显示软件包信息,包括名称,版本,描述;
-v, --verbose 打印输出详细信息;
-U, --upgrade 升级 RPM 软件包;
-h,–hash 软件安装,可以打印安装进度条;
–last 列出软件包时,以安装时间排序,最新的在上面;
-e, --erase 卸载 rpm 软件包
–force 表示强制,强制安装或者卸载;
–nodeps RPM 包不依赖
-l, --list 列出软件包中的文件;
–provides 列出软件包提供的特性;
-R, --requires 列出软件包依赖的其他软件包;
–scripts 列出软件包自定义的小程序

RPM 企业案例演示
rpm -q httpd 检查 httpd 包是否安装;
rpm -ql httpd 查看软件安装的路径;
rpm -qi httpd 查看软件安装的版本信息;
rpm -e httpd 卸载 httpd 软件;
rpm -e --nodeps httpd 强制卸载 httpd;
rpm -qa|grep httpd 检查 httpd 相关的软件包是否安装。
rpm -ivh httpd-2.4.10-el7.x86_64.rpm 安装 httpd 软件包;
rpm -Uvh httpd-2.4.10-el7.x86_64.rpm 升级 httpd 软件;
rpm -ivh --nodeps httpd-2.4.10-el7.x86_64.rpm 不依赖其他软件包;

2、YUM:自动化RPM包管理工具
①前端软件包管理器(Yellow Updater Modified,YUM)适用于 CentOS、Fedora、RedHat及 SUSE 中的 Shell 命令行,主要用于管理 RPM 包,与 RPM 工具使用范围类似,YUM 工具能够从指定的服务器自动下载 RPM 包并且安装,还可以自动处理依赖性关系。
②YUM 工作原理:
学习 YUM,一定要理解 YUM 工作原理,YUM 正常运行,需要依赖两个部分,一是YUM 源端,二是 YUM 客户端,也即用户使用端。
③YUM 客户端安装的所有 RPM 包都是来自 YUM 服务端,YUM 源端通过 HTTP 或者 FTP服务器发布。而 YUM 客户端能够从 YUM 源端下载依赖的 RPM 包是由于在 YUM 源端生成了 RPM 包的基准信息,包括 RPM 包版本号、配置文件、二进制信息、依赖关系等。

3、YUM 企业案例演练
由于 YUM 工具的使用简便、快捷、高效,在企业中得到广泛的使用,得到众多 IT 运维、程序人员的青睐,要能熟练使用 YUM 工具,需要先掌握 YUM 命令行参数的使用。

YUM 命令工具的参数详解及实战步骤:
YUM 命令工具指南,YUM 格式为:YUM [command] [package] -y|-q 其中的[options]是可选。-y 安装或者卸载出现 YES 时,自动确认 yes;-q 不显示安装的过程。

yum install httpd 安装 httpd 软件包;
yum search YUM 搜索软件包;
yum list httpd 显示指定程序包安装情况 httpd;
yum list 显示所有已安装及可安装的软件包;
yum remove httpd 删除程序包 httpd;
yum erase httpd 删除程序包 httpd;
yum update tree内核升级或者软件更新;
yum update httpd 更新 httpd 软件;
yum check-update 检查可更新的程序;
yum info httpd 显示安装包信息 httpd;
yum provides 列出软件包提供哪些文件;
yum provides “*/rz” 列出 rz 命令由哪个软件包提供;
yum grouplist 查询可以用 groupinstall 安装的组名称;
yum groupinstall “Chinese Support” 安装中文支持;
yum groupremove “Chinese Support” 删除程序组 Chinese Support;
yum deplist httpd 查看程序 httpd 依赖情况;
yum clean packages 清除缓存目录下的软件包;
yum clean headers 清除缓存目录下的 headers;
yum clean all 清除缓存目录下的软件包及旧的 headers。

你可能感兴趣的:(linux软件包管理)