部署DNF仓库及NFS共享服务

前言

在现代 Linux 系统中,软件包的高效管理是保障系统稳定性和扩展性的关键。DNF(Dandified YUM)作为新一代 RPM 包管理工具,通过自动解决依赖关系和灵活的仓库配置,极大简化了软件安装、升级及维护的复杂度。本章首先聚焦 DNF 仓库的部署与配置,涵盖全局配置文件(如/etc/dnf/dnf.conf)的解析、本地与远程软件源的创建与管理,以及软件包组的批量操作。通过 DNF 工具,管理员可快速构建本地镜像源,减少对外部网络的依赖,尤其适用于企业内网环境,实现软件资源的集中管理与快速分发。

一. 配置DNF

借助于 DNF 软件仓库,可以完成安装、卸载、自动升级 rpm 软件包等任务,能够自动査找并解决 rpm包之间的依赖关系,而无须管理员逐个、手工地去安装每个 rpm 包,使管理员在维护大量 Linux 服务器时更加轻松自如。特别是在拥有大量 Linux 主机的本地网络中,构建一台“源”服务器可以大大缓解软件安装、升级等对 Internet 的依赖。DNF 与 YUM 完全兼容,提供了 YUM兼容的命令行以及为扩展和插件提供的 API。使用 DNF 需要管理员权限,本章所有命令需要在管理员权限下执行。

1. DNF配置文件

DNF 的主要配置文件是 /etc/dnf/dnf.conf,该文件包含两部分:

含义
main部分保存着DNF的全局设置
repository部分保存着软件源的设置,可以有零个或多个“repository

2. 配置main部分

etc/dnf/dnf.conf 文件包含的“main”部分,配置示例如下:

在这里插入图片描述

常用选项说明:

参数名称说明
cachedir缓存目录,该目录用于存储 RPM 包和数据库文件
keepcache可选值是1和0,表示是否要缓存已安装成功的那些RPM包及头文件,缺省值为0,即不缓存
debuglevel设置 dnf 生成的 debug 信息。取值范围:[0-10],数值越大会输出越详细的 debug 信息。缺省值为 2,设置为0表示不输出 debug 信息,
clean_requirements_on_remove删除在 dnfremove 期间不再使用的依赖项,如果软件包是通过 DNF安装的,而不是通过显式用户请求安装的,则只能通过 clean_requirements_on_remove 删除软件包,即它是作为依赖项引入的。缺省值为 True。
best升级包时,总是尝试安装其最高版本,如果最高版本无法安装,则提示无法安装的原因并停止安装。缺省值为True.
obsoletes可选值1和0,设置是否允许更新陈日的RPM包。缺省值为 1,表示允许更新。
gpgcheck可选值1和0,设置是否进行gpg 校验。缺省值为1,表示需要进行校验。
plugins可选值1和0,表示启用或禁用 dnf插件。缺省值为1,表示启用 dnf 插件。
installonly_limit设置可以同时安装“installonlypkgs"指令列出包的数量。缺首值为 3,不建议降低此值。

3. 配置repository部分

repository 部分允许您定义定制化的 openuler 软件源仓库,各个仓库的名称不能相同,否则会引起冲突。配置 repository 部分有两种方式,一种是直接配置/etc/dnf/dnf.conf 文件中的“repository”部分,另外一种是配置/etc/yum.repos.d目录下的.repo 文件。

直接配置/etc/dnf/dnf.conf 文件中的“repository”部分,下面是[repository]部分的一个最小配置

示例:

在这里插入图片描述
选项说明:

参数说明
name=repository软件仓库(repository )描述的字符串。
baseurl=repository_url软件仓库(repository)的地址。 例如:①使用http协议的网络位置:例如 http://path/to/repo;②使用ftp协议的网络位置:例如 ftp://path/to/repo;③本地位置:例如 file:///path/to/local/repo
3.1 显示当前设置
3.1.1 显示当前的配置信息

在这里插入图片描述

3.1.2 显示相应软件源的配置

在这里插入图片描述

4. 创建本地软件源仓库

4.1 安装createrepo软件包

在这里插入图片描述

4.2 创建软件源

在这里插入图片描述

5. 添加、启用和禁用软件源

5.1 添加软件源

在这里插入图片描述

5.2 启动软件源

在这里插入图片描述

5.3 禁用软件源

在这里插入图片描述

二. 管理软件包

使用 dnf 能够让您方便的进行查询、安装、删除软件包等操作。

1. 搜索软件包

可以使用 rpm 包名称、缩写或者描述搜索需要的 RPM 包

格式:

dnf search RPM包
在这里插入图片描述

2. 列出软件包清单

列出系统中所有已安装的以及可用的 RPM 包信息

格式:

dnf list RPM包

在这里插入图片描述

3.显示RPM包信息

要显示一个或者多个 RPM 包信息,多个包之间以空格分隔

格式:

dnf info RPM包
在这里插入图片描述

4. 安装RPM包

要安装一个软件包及其所有未安装的依赖

格式:

dnf -y install RPM包

5. 下载软件包

格式:

dnf download RPM包
在这里插入图片描述

如果需要同时下载未安装的依赖,则加上–resolve

格式:

dnf download --resolve RPM包
在这里插入图片描述

6. 删除软件包

要卸载软件包以及相关的依赖软件包

格式:

dnf remove RPM包
在这里插入图片描述

三. 管理软件包组

软件包集合是服务于一个共同的目的一组软件包,例如系统工具集等。使用 dnf 可以对软件包组进行安装/删除等操作,使相关操作更高效。

1. 列出软件包组清单

使用 summary 参数,可以列出系统中所有已安装软件包组、可用的组,可用的环境组的数量

格式:

dnf groups summary
在这里插入图片描述

要列出所有软件包组和它们的组 ID

格式:

dnf group list
在这里插入图片描述

2. 显示软件包组信息

要列出包含在一个软件包组中必须安装的包和可选包

格式:

dnf group info RPM包
在这里插入图片描述

3. 安装软件包组

每一个软件包组都有自己的名称以及相应的 ID(groupid),您可以使用软件包组名称或它的 ID 进行
安装。

格式:

dnf group install 软件包组
在这里插入图片描述

4. 删除软件包组

要卸载软件包组,您可以使用软件包组名称或它的ID

格式:

dnf group remove 软件包组
在这里插入图片描述

四. 检查并更新

dnf 可以检査您的系统中是否有软件包需要更新。您可以通过 dnf 列出需要更新的软件包,并可以选择一次性全部更新或者只对指定包进行更新。

1. 检查更新

显示当前系统可用的更新

格式:

dnf check-update
在这里插入图片描述

2. 升级

可以升级单个软件包

格式:

dnf update RPM包
在这里插入图片描述

3. 更新所有的包和他们的依赖

格式:

dnf update
在这里插入图片描述

五. NFS共享存储服务

NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。对于大多数负载均衡群集来说,使用 NFS 协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。

1. 使用NFS发布共享资源

NFS 服务的实现依赖于 RPC(Remote Process Ca1l,远端过程调用)机制,以完成远程到本地的映射过程。在 0penEuler 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS共享发布和访问,后者用于RPC 支持。

1.1 安装nfs-utils、rpcbind软件包

提供 RPC 支持的服务为 rpcbind,提供 NFS 共享的服务为 nfs,完成安装以后建议调整这两个服务的自启动状态,以便每次开机后自动启用。手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。

在这里插入图片描述

1.2 设置共享目录

NFS 的配置文件为/etc/exports,文件内容默认为空(无任何共享)。在 exports 文件中设置共享资源时,记录格式为“目录位置客户机地址(权限选项)”。例如,若要将文件夹 /opt/wwwroot 共享给192.168.10.0/24 网段使用,允许读写操作.

在这里插入图片描述

其中客户机地址可以是主机名、IP 地址、网段地址,允许使用*、?通配符;权限选项中的 rw 表示允许读写(ro 为只读),sync 表示同步写入,noroot_squash 表示当客户机以root 身份访问时赋予本地 root 权限(默认是 root squash,将作为 nfsnobody 用户降权对待)。

1.3 启动NFS服务程序

在这里插入图片描述

1.4 查看本机发布的NFS共享目录

在这里插入图片描述

2. 在客户机中访问NFS共享资源

NFS 协议的目标是提供一种网络文件系统,因此对 NFS 共享的访问也使用 mount 命令来进行挂载对应的文件系统类型为 nfs。既可以手动挂载,也可以加入 fstab 配置文件来实现开机自动挂载。

2.1 客户机上安装并启动rpcbind

若要正常访问 NFS 共享资源,客户机中也需要安装 rpcbind 软件包,并启动 rpcbind 系统服务。另外,为了使用 showmount 查询工具,建议将 nfs-utils 软件包也一并装上。

在这里插入图片描述
如果已经安装了 nfs-utils 软件包,则客户机也可以使用 showmount 查看 NFS 服务器端共享了哪些目录,查询格式为“showmount-e 服务器地址”

在这里插入图片描述

2.2 手动挂载NFS共享目录

以 root 用户身份执行 mount 操作,将 NFS 服务器共享的/opt/wwwroot 目录挂载到本地目录/aaa。与挂载本地文件系统不同的是,设备位置处应指出服务器地址。
在这里插入图片描述
在客户端创建测试文件

在这里插入图片描述
测试

在这里插入图片描述

完成挂载以后,访问客户机的/aaa的目录,实际上就相当于访问 NFS 服务器中的/opt/wwwroot文件其中的网络映射过程对于用户程序来说是透明的.

2.3 fstab自动挂载设置

修改/etc/fstab 配置文件,加入 NFS 共享目录的挂载设置。注意将文件系统类型设为 nfs,挂载参数建议添加_netdev(设备需要网络);若添加 soft、intr 参数可以实现软挂载,允许在网络中断时放弃挂载。这样客户机就可以在每次开机后自动挂载 NFS 共享资源了.

在这里插入图片描述

2.4 强制卸载NFS

NFS 客户端与服务器端的耦合度是非常高的,如果客户端正在挂载使用,服务器端 NFS 服务突然间停掉了,那么在客户端就会出现执行 df -h 命令卡死的现象。这个时候使用 umount 命令是无法直接卸载的。需要加上 -lf 才能卸载。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值