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

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐