Linux软件包管理(RPM、tar、zip和YUM)

RPM软件包管理

Linux软件包从内容上可分为:

(1)源码包

源码包是没有经过编译的包,需要经过GCC或者C++编译器环境编译才能运行。通常以.tar.gz、.zip、.rar等后缀结尾的包为源码包,例如:hadoop-2.7.3.tar.gz,jdk-8u144-linux-x64.tar.gz等。当然还得依据包中的文件区分,例如包含.h、.c、.cpp、.cc等结尾的源码文件的包一般是源码包。

(2)二进制包

二进制包无需编译,可以直接安装使用。通常以.rpm为后缀。例如tree-1.6.0-10.el7.x86_64.rpm。存在bin可执行文件的包一般是二进制包。

CentOS操作系统中有一款默认rpm软件管理的工具,即红帽包管理工具(red hat package manager,RPM)。使用RPM工具可以对软件包实现快速安装、管理及维护。

 

RPM软件包格式

以tree-1.6.0-10.el7.x86_64.rpm为例。

name:软件名称,例如tree-1.6.0-10.el7.x86_64.rpm的软件名称为tree;

version:版本号,例如tree-1.6.0-10.el7.x86_64.rpm的版本号为1.6.0-10;

arch:适用的硬件平台,RPM支持的平台有i386、i586、i686、x86_64、sparc、alpha等,例如tree-1.6.0-10.el7.x86_64.rpm使用的平台为x86_64;

noarch:软件包可以在任何平台使用;

el*:软件包发行版本,例如tree-1.6.0-10.el7.x86_64.rpm中的el7表示该软件包适用于RHEL 7.X/CentOS 7.X;

.rpm:后缀。表示编译好的二进制包,可用rpm命令直接安装;

 

RPM工具命令

-a, --all:查询所有已安装软件包;

-q, --query:表示询问用户,输出信息;

-i,--info:显示软件包信息,包括名称、版本和描述;

-v,--verbose:打印输出详细信息;

-h,--hash:软件安装,可以打印安装进度条;

-e, --erase:卸载rpm软件包;

(1)

以tree-1.6.0-10.el7.x86_64.rpm安装为例。

执行如下安装命令:

rpm -ivh tree-1.6.0-10.el7.x86_64.rpm

 安装过程如图:

Linux软件包管理(RPM、tar、zip和YUM)_第1张图片

(2)查看是否安装某个软件

rpm -q libevent

如图:

(2)卸载rmp包

rpm -e libevent-2.0.21-4.el7.x86_64 --nodeps

 

YUM软件包管理

基于IOS镜像构建YUM本地源

(1)将rhel-server-7.4-x86_64-dvd.iso镜像添加到虚拟机CD/DVD或者放入服务器CD/DVD中,这里VMWare为例,如图:

Linux软件包管理(RPM、tar、zip和YUM)_第2张图片

(2)将镜像文件挂载至虚拟机或者服务器/mnt目录下,命令如下:

mount /dev/cdrom /mnt/

挂载成功后,如图:

(3)备份/etc/yum.repos.d/下的所有repo文件,单个文件直接使用如下命令备份

mv example.repo example.repo.bak

如果有多个文件,可以创建一个目录,将它们放入目录中。

有的会有个默认的repo文件,例如redhat.repo,这个默认的就不需要备份了。

(4)在/etc/yum.repos.d/目录下创建新的repo文件,例如media.repo,内容如下:

[yum]
name=centos7
baseurl=file:///mnt
enabled=1
gpgcheck=1
gpgkey=file:///mnt/RPM-GPG-KEY-redhat-release

baseurl:上面挂载光盘的/mnt目录;

gpgkey:/mnt目录下的一个文件,如图:

到这里基于IOS镜像构建YUM本地源就配置成功了。运行yum clean all可以清空YUM cache。

 

 

你可能感兴趣的:(Linux)