部署DNF仓库及NFS共享服务
DNF仓库
1.配置DNF
DNF仓库是指基于Red Hat的软件包管理器DNF(Dandified Yum)的软件仓库。DNF是一个现代化的软件包管理器,是Yum的下一代版本。DNF仓库存储着软件包的元数据和实际软件包文件,用户可以通过DNF使用这些软件包安装、升级或删除软件。
在DNF仓库中,软件包被组织成不同的存储库(repository),可以根据需要启用或禁用这些存储库。DNF还支持依赖关系解析,能够自动处理软件包之间的依赖关系,确保安装过程中所需的依赖关系得到满足。
1.DNF配置文件
主要配置文件是/etc/dnf/dnf.conf
"main“ 部分保存着DNF的全局设置
“repository” 部分保存着软件源的位置,可以有0个或多个repository。
在/etc/yum.repos.d目录中保存着0个或多个repo源相关文件,它们也可以定义不同的“repository”。
所以 openEuler软件源的配置一般有两种方式,一是直接配置/etc/dnf/dnf.conf 文件中的“repository"部分,另一种是在/etc/yum.repos.d目录下增加.repo文件。
2.配置man部分
/etc/dnf/dnf.conf文件包含的”main“部分:

常用选项说明:
| 参数说明 | 说明 |
| cachedir | 缓存目录,该目录用于存储RPM包和数据文件 |
| keepcache |
可选值是1和0,表示是否要缓存已安装的PRM包及头文件 |
| debuglevel | 设置dnf生成的debug信息,取值范围:【0-10】,数值越大输出越详细,设置为0表示不输出debug信息 |
| clean_requierments_on_remove |
删除在dnf.remove期间不再使用的依赖项,如果软件包是通过DNF安装的 ,而不是通过显示用户请求安装的,则只能通过clean_requirements_on_remove删除软件包,即它是作为依赖项引入的,缺省值为True。 |
| best |
升级包时,总尝试最高版本,如果最高版本无法安装,则提示无法安装的 原因并无法安装,缺省值为True |
| obsoletes | 可选值为1和0,设置是否允许更新旧的RPM包,缺省值为1,表示允许 |
| gpgcehck | 可选值1和0,设置是否进行gpg效验,缺省值为1,表示启用效验 |
| plugins | 可选值1和0,表示启用或禁用dnf插件,缺省值为1,表示需要进行效验 |
| insstallonly_link | 设置可以同时安装”installonlypkgs“指令列出包的数量,缺省值为3,不建议降低此值 |
2.配置repository部分
repository部分允许自定义软件源仓库,各个仓库的名称不能相同,否则会引起冲突。
配置repository部分的方式有两种,一种是直接配置/etc/dnf/dnf.conf文件中的”repository“部分,另一种是配置/etc/yum.repos.d的目录下的.repo文件。
直接配置/etc/dnf/dnf.conf文件中的”repository“部分,下面是最小配置示例:

说明:openEuler提供在线的镜像源,地址:https://repo.openeuler.org/
,以aarch64版本为例,baseurlhttps://repo.openeuler.org/openEuler-23.09/OS/aarch64/
参数说明
| 参数 | 说明 |
| name=repository_name | 软件仓库描述的字符串 |
| baseurl | 软件仓库的地址 |
配置/etc/yum.repos.d目录下的.repo文件。openEuler提供了多种repo源供用户在线使用,各repo源含义可以参考系统安装。使用root权限添加openEuler源,示例如下:

显示当前配置
显示当前配置的信息
dnf config-mamager --dump
显示相应软件源的配置,首先查询id
dnf repolist

然后执行命令,显示对应id的软件源配置,其中repository为查询到的repo id:
dnf config-manager --dump repository
3.创建本地软件源仓库
1.安装createrepo软件包
dnf install createrepo
2.将需要的软件包复制到一个目录mnt/local_repo
3.创建软件源
createrepo /mnt/local_repo
4.添加,启用和禁用软件源
添加软件源
要定义一个新的软件源仓库,可以在/etc/dnf/dnf.conf文件中添加“repository”部分,或者在/etc/yum.repos.d添加.repo文案进行说明。
以下将通过.repo的方式进行介绍:
在root权限下执行以下命令,执行完成后会在/etc/yum.repo.d/目录下生成repo文件。其中repository为repo源地址。
dnf config-manager --add-repo repository_url

启用软件源
在root权限下执行以下命令,其中repository为新增的repo文件中的repo id(可通过dnf repolist 查询):
dnf config-manager --set-enable repository

禁用软件源
dnf config-managre --set-disable repository
5.管理软件包
使用dnf能够更方便的查询,安装,删除软件包等操作。
搜索软件包
dnf search httpd(以httpd为例)
列出软件包清单
dnf list all
列出系统中特定的RPM包信息:
dnf list httpd(以httpd为例)
安装RPM包
dnf install package_name
下载软件包
dnf download package_name
如果同时下载依赖包,则加上--resolve:
dnf download --resolve httpd
删除软件包
dnf remove package_name
6.管理软件包组
软件包集合是服务于一个共同目的的一组软件包,例如系统工具集等。
列出软件包组清单
dnf groups summer
列出所有软件包组和它们的组ID,命令如下:
dnf group list
安装软件包组
dnf group install group_name
dnf group install groupid
例如:安装Development Tools软件包组:
dnf group install “Development Tools”
dnf group install development
删除软件包组
dnf group remove “development Tools”
检查并更新
显示当前系统可用的更新
dnf check-update
升级
dnf update package_name
NFS共享存储服务
NFS(Network File System)是一种用于在网络上共享文件的协议。它允许在不同的计算机系统之间共享文件系统,使用户能够像本地文件一样访问远程文件。NFS最初由Sun Microsystems开发,已成为一种广泛使用的网络文件系统标准。
NFS的工作原理是将远程文件系统挂载到本地文件系统,使得用户可以透明地访问远程文件,并进行读写操作。NFS可以在不同的操作系统之间进行文件共享,例如在Linux和Unix系统之间共享文件。
在Linux系统中,NFS通常由NFS服务器和NFS客户端组成。NFS服务器负责共享文件系统,而NFS客户端则通过挂载NFS共享来访问文件。配置NFS需要在服务器端设置共享目录,并在客户端配置挂载点。
使用NFS发布共享资源
1.安装nfs-utils,rpcbind软件包

设置共享目录


其中客户机可以是主机名,IP地址,网段,rwo表示权限,sync表示同步写入,no_root_squash表示客户机以root身份访问时赋予本地root权限。
启动NFS服务程序

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

2.在客户机中访问NFS共享资源
1.安装并启动rpcbind


在安装nfs-utils软件包,可以使用showmount查看NFS服务器共享目录
showmount -e 192.168.10.101

2.手动挂载NFS共享目录

完成挂载后用户访问的/var/www/html文件夹,实际上相当于访问NFS服务器上的/opt/wwwroot文件夹。示例:
在客户机上创建11.txt文件

在NFS服务器上查看

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

4.强制卸载NFS
若客户端正在挂在使用,服务端NFS服务器突然停止掉了那么在客户端会出现df -h 命令卡死的现象,这时候使用umount命令是无法直接卸载掉,需要加上-lf才能卸载。
若出现卡死现象,要重新开一个终端,执行 cat /etc/rc.local命令,查看挂载点。
然后使用umount卸载,其中-l表示解除繁忙文件,-f表示强制
umount -lf /var/www/html
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐


所有评论(0)