1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > RHEL8 RPM 与 YUM/DNF 软件包管理基础

RHEL8 RPM 与 YUM/DNF 软件包管理基础

时间:2020-08-31 10:14:26

相关推荐

RHEL8  RPM 与 YUM/DNF 软件包管理基础

一、RPM软件包管理1)什么是RPM2)RPM的优点和缺点3)RPM的使用权限4)RPM 基本用法① RPM的软件包查询功能② RPM的软件包的安装③ RPM的软件包的卸载与重建数据库 二、YUM1)什么是yum2)yum 工具管理3)RHEL8 配置本地yum源① 本地仓库的分类② 配置本地仓库② YUM工具的使用 三、DNF1)什么是DNF2)DNF 常用参数 四、源码编译安装(1)二进制包(2)源码包(3)二进制源码包(.src/.rpm)(4)常见的二进制包(5)二进制包与源码包区别(6)源码安装① 获取软件的源码包② 源码安装三板斧源码安装cmatrix代码雨 (7)源码安装常用配置

一、RPM软件包管理

1)什么是RPM

RPM是 RedHat Package Manager(RedHat软件包管理工具)的缩写。

RPM 包管理系统:功能强大,安装、升级、査询和卸载非常简单方便,在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用。

RPM是以一种数据库记录的方式将所需要的软件安装到Linux主机的一套管理程序,最大的特点是将要安装的软件先编译并打包,通过包装好的软件中默认的数据库记录,记录这个软件在安装的时候需要的依赖属性模块,在用户的Linux主机安装时,RPM会先根据软件里的记录数据,查询Linux主机的依赖属性软件是否满足,若满足则予以安装,不满足则不安装。安装的时候将该软件的信息全部写入RPM的数据库中以便将来的查询、验证与卸载。

2)RPM的优点和缺点

优点 由于已经编译完成并且打包,所以安装很方便由于套件信息已经记录在Linux主机的数据库中,方便查询、升级与卸载 缺点 安装环境必须与打包时的环境一致需要满足软件的依赖属性需求卸载时需要特别小心,最底层的软件不可以先删除,否则可能造成整个系统出问题

3)RPM的使用权限

RPM软件的安装、删除、更新只有root权限才能使用;对于查询功能任何用户都可以操作;如果普通用户拥有安装目录的权限,也可以进行安装。

4)RPM 基本用法

① RPM的软件包查询功能

RPM在查询的时候,查询的地方是在/var/lib/rpm目录下的数据库文件。

# 根据命令后面所带参数可以分为四种:# 一、命令后不带参数# rpm -qa :查询所有已经安装的软件名称# 二、带安装的软件名称# -q:查询后面接的软件是否安装,已安装有信息输出,否则没有# rpm -qi :列出该软件的详细信息(information),包含开发商、版本与说明等# rpm -ql :列出该软件所有的文件与目录(list)# rpm -qc :列出该软件的所有配置文件# rpm -qd :列出该软件的所有帮助文件(与man有关的文件)# rpm -qR :列出与该软件有关的依赖软件所含的文件(Required)# 三、带一个存在于系统的文件名称# rpm -qf :找出该文件属于哪个已安装的软件# 四、带一个 .rpm 文件# rpm -qp[licdR] :-qp后面接的所有参数以上面的说明为准,目的在于找出某个rpm文件内的信息,而非已安装的软件信息

② RPM的软件包的安装

# rpm -ivh package_name.rpm参数:-i:install的意思-v:查看更详细的安装信息页面-h:以安装信息列显示安装进度

③ RPM的软件包的卸载与重建数据库

# rpm -e firefox-60.2.2-1.el7.centos.x86_64 # 卸载firefox浏览器# rpm –-rebuilddb # 重建数据库了解:--nodeps :忽略依赖关系,强制卸载

二、YUM

1)什么是yum

Yum(全称为Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。

​ 基于rpm包管理,能够从指定的服务器(yum源)自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

2)yum 工具管理

核心:需要有一个存放软件包软件包之间依赖关系软件仓库

1.需要有一个软件仓库

仓库可以在本地,称之为 本地yum源仓库可以在云端,称之为 网络yum源(网络必须OK)

2.需要告诉yum工具到哪个仓库去找

默认有一个地方,存放了*.repo文件,定义了去哪儿个仓库找

3)RHEL8 配置本地yum源

① 本地仓库的分类

BaseOS 储存库

BaseOS 储存 旨在提供一套核心的底层操作系统的功能,为基础软件安装库

AppStream 储存库

AppStream 储存库中包括额外的用户空间应用程序、运行时语言和数据库,以支持不同工作负载和用例。AppStream 中内容有两种格式——RPM格式 和 称之为模块的RPM格式拓展

② 配置本地仓库

步骤一:挂载镜像到本地系统

# mount -o ro /dev/sr0 /mnt列出BaseOS 和 AppStream 的内容如下说明仓库已准备好[root@hsforpyp ~]# ls /mnt/BaseOS/Packages repodata[root@hsforpyp ~]# ls /mnt/AppStream/Packages repodata

步骤二:修改配置文件指定本地储存库

[root@hsforpyp mnt]# vim /etc/yum.repos.d/local.repo [root@hsforpyp mnt]# cat /etc/yum.repos.d/local.repo [BaseOS]name=LOCAL BaseOS YUMenabled=1baseurl=file:///mnt/BaseOS/gpgcheck=0[AppStream]name=LOCAL APPSTREAM YUMenabled=1baseurl=file:///mnt/AppStreamgpgcheck=0

参数说明:

[LocalRepo]# 存储库的名称

name # 存储库内容说明

baseurl # yum 源地址

enabled # 存储库是否生效

gpgcheck # 是否进行gpg校验,gpgcheck=0,那么gpgkey可以不写

步骤三:查看是否成功(如下红方框即为成功)

② YUM工具的使用

查询操作

# yum search 关键词

安装操作

# yum -y install 关键词选项说明:-y:yes缩写,选择自动确认,不提示。

卸载操作

# yum -y remove 关键词选项说明:-y:yes缩写,选择自动确认,不提示。

更新操作

# yum -y update 关键词选项说明:-y:yes缩写,选择自动确认,不提示。

三、DNF

1)什么是DNF

dnf是新一代的rpm软件包管理器。首次出现在 Fedora 18 这个发行版中。它取代了yum,正式成为 Fedora 22 的包管理器。

dnf包管理器克服了yum包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。dnf使用 RPM, libsolv 和 hawkey 库进行包管理操作。尽管它没有预装在 CentOS 和 RHEL 7 中,但你可以在使用yum的同时使用dnf 。

[root@hsforpyp bin]# ll /usr/bin |grep dnf

lrwxrwxrwx. 1 root root 5 Feb 14 dnf -> dnf-3

-rwxr-xr-x. 1 root root 1954 Feb 14 dnf-3

lrwxrwxrwx. 1 root root 5 Feb 14 yum -> dnf-3

当然dnf也不是完美的,例如:在dnf中没有 –skip-broken 命令,并且没有替代命令供选择。 没有判断哪个包提供了指定依赖的 resolvedep 命令,没有用来列出某个软件依赖包的 deplist 命令等等。

2)DNF 常用参数

语法格式

# dnf [参数]

四、源码编译安装

(1)二进制包

什么是二进制包?有何特点? 已经编译好的软件包,下载安装即可使用根据计算机CPU以及操作系统选择合适的命名方式一般为:xlockmore-5.31-2.el6.x86_64.rpm类似于Windows中的.exe文件

(2)源码包

什么是源码包?有何特点? 源码包,指的是程序员写的原始的程序代码文件,不能直接在计算机上运行需要进行编译,变成二进制的软件包后,才可安装使用一般可以在任何计算机上安装命名方式一般为:

软件包名.tar.gz

软件包名.tar.bz2

软件包名.tar.xz

软件包名.zip

(3)二进制源码包(.src/.rpm)

什么是二进制源码包?有什么特点?

二进制源码包,是一个半成品,安装后不能直接使用二进制源码包,需要使用rpmbuild工具重建成真正的rpm包或者重建成源码包才可安装使用二进制源码包,命名方式一般为: mysql-community-5.7.25-1.el6.src.rpmmysql-community-5.7.25-1.el7.src.rpm

(4)常见的二进制包

(5)二进制包与源码包区别

(6)源码安装

① 获取软件的源码包

官网获取,一般都是*.tar.gz

② 源码安装三板斧

配置./configure(软件安装路径,不配置使用默认路径)编译make(把软件的源码包做成类似rpm的可以直接安装的软件)安装make install(把编译好的程序安装到Linux系统中)

源码安装cmatrix代码雨

步骤一:对软件进行解压缩

# tar -zxf cmatrix-1.2a.tar.gz

步骤二:进入cmatrix文件夹,对软件进行配置

# cd cmatrix-1.2a/# ./configure

步骤三:编译软件,使用make命令

# make

常见错误:

cmatrix.c:37:20: fatal error:curses.h:No such file or directory出现以上问题的原因在于系统没有找到ncurses-devel软件包

解决方案:

# yum install ncurses-devel -y

步骤四:安装软件make install

# make install

测试代码雨:

# cmatrix

(7)源码安装常用配置

# cd 软件源码包# ./configure [选项]# ./configure --help--prefix=... Directories to put files in /usr/local 软件家目录--bindir=... $prefix/bin 命令的目录--etcdir=... $prefix/etc 配置文件的目录 httpd => /etc/httpd/httpd.conf--mandir=... $prefix/share/man man文档路径--locale=... $prefix/share/locale 语言编码...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。