部署DNF仓库及NFS共享服务

目录

配置DNF

       DNF配置文件

       配置main部分

       配置repository部分 

       创建本地软件原仓库

       添加,启动和禁用软件源

 管理软件包组      

       列出软件包组清单

        显示软件包组信息

        安装软件包组

         删除软件包组

检查更新

        升级

        更新所有的包和它们的依赖

FNS共享存储服务

使用NFS发布共享资源

        使用NFS发布共享资源

        安装nfs-utils,rpcbind软件安包

        设置共享目录

        启动NFS服务程序

        查看本机中访问NFS共享资源

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

        安装并启动rpcdind

        手动挂载FNS共享目录

         fstab自动挂载设置

         强制卸载NFS

        


一配置DNF

1.dnf配置文件

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

2.DNF配置文件

DNF的配置文件是 /etc/dnf/dnf.conf,该文件包括两部分

"main"部分保存着DNF的全局配置

"repository"部分保存着软件源的设置,可以有零个或多个“repository"

另外,在/etc/yum.repos.d目录中保存着零个或多个repo源相关文件,它们也可以定义不同的”repository"

所以openeEuler软件源的配置一般有两种方式,一种是直接配置/etc/dnf/dnf.conf文件中的“repository"部分,另外一种是在/etc/yum.repos.d目录下增加.repo文件

3.配置main部分

/etc/dnf/dnf.conf文件包含的”main"部分,配置如下

[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=True

常用选项说明

参数名称说明
cachedir缓存目录,该目录用于存储RPM包和数据库文件
keepcache可选值是1和0,表示是否要缓存已安装成功的那些RPM
包及头文件,缺省值为0,即不缓存。
debuglevel设置dnf生成的debug信息。取值范围:[0-10],数值越
大会输出越详细的debug信息。缺省值为2,设置为0表
示不输出debug信息。
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,不建议降低此值。

      二  配置repository部分 

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

[repository]
name=repository_name
baseurl=repository_url

repository参数说明

参数说明
name=repository_name软件仓库(repository)描述的字符串。
baseurl=repository_url软件仓库(repository)的地址。
使用http协议的网络位置:例如http://path/to/repo
使用ftp协议的网络位置:例如ftp://path/to/repo
本地位置:例如file:///path/to/local/repo

配置/etc/yum.repos.d目录下的.repo文件。openEuler提供了多种repo源供用户在线使用,各repo
源含义可参考系统安装。使用root权限添加openEuler repo源,

vi /etc/yum.repos.d/openEuler.repo
[os]
name=openEuler-$releasever-OS
baseurl=https://repo.openeuler.org/openEuler-{version)/0S/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.openeuler.org/openEuler-{version}/0S/$basearch/RPM-GPG-KEY-open
Euler

三.创建本地软件源仓库

要建立一个本地软甲源仓库,安装crraterepo软件包

dnf install createrpo

将需要的软件包复制到下一个目录下,如/mnt/local_repo/

创建软件源

createrepo /mnt/local_repo

添加,启用和禁用软件源

启用:dnf config-manger    dnf config-manger

禁用:dnf config-manger    dnf config-manger

四.管理软件包组

列出软件包清单

dnf list all

dnf lisi httpd

显示MPR包信息

dnf info httpd

安装软件包

dnf install package_name

dnf install httpd

dnf install package_name package_name... --setopt=strict=0

下载软件包

dnf download package_name

dnf download --resolve package_name

dnf download --resolve httpd

 删除软件包

dnf remove package_name
dnf remove totem

安装软件包组

dnf group install group_name
dnf group install groupid

dnf group install "Development Tools"
dnf group install development

删除软件包组

dnf group remove group_name
dnf group remove groupid

 dnf group remove "Development Tools"
dnf group remove development

五 检查更新

dnf check-update
升级

如果您需要升级单个软件包,在root权限下执行如下命令:

dnf update package_name


例如升级rpm包,示例如下:
dnf update anaconda-gui.aarch64(以anaconda-gui 包为例)
类似的,如果您需要升级软件包组,在root权限下执行如下命令:
 

dnf group update group_name

更新所有的包和它们的依赖

dnf update

六 NFS共享存储服务

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

使用NFS发布共享资源

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

1.安装nfsutils、rpcbind软件包

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

[root@node01 ~]# dnf install -y nfs-utils rpcbind
[root@node01 ~]# systemctl enable nfs
[root@node01 ~]# systemctl enable rpcbind

设置共享目录

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

[root@node01 ~]# mkdir -p /opt/wwwroot
[root@node01 ~]# vim /etc/exports

其中客户机地址可以是主机名、IP地址、网段地址,允许吏用*、?通配符;权限选项中的 rw表示
允许读写(ro为只读),sync表示同步写入,no_root_squash表示当客户机以root身份访问时赋予本
地root权限(默认是root_squash,将作为nfsnobody用户降权对待)
当需要将同一个目录共享给不同的客户机,且分配不同的权限时,只要以空格分隔指定多个"客户机
(权限选项)"即可。例如,以下操作将/var/ftp/public 目录共享给两个客户机,并分别给予只读、读
写权限。

[root@localhost ~]# vi /etc/exports
/var/ftp/pub 192.168.10.101(ro) 192.168.10.102(rw"
启动NFS服务程序
[root@node01 ~]# systemctl start_rpcbind
[root@node01 ~]# systemctl start nfs-server
[root@node01 ~]# dnf install_net-tools -y
[root@node01 ~]# netstat -anpt |grep rpc
LISTEN
516
tcp
0
0 0.0.0.0:51215
0.0.0.0:*
8/rpc.statd
516
tcp
0
0 0.0.0.0:111
0.0.0.0:*
LISTEN
1/rpcbind
517
tcp
0.0.0.0:20048
0.0.0.0:*
LISTEN
9/rpc.mountd
516
tcp6
0:::111
LISTEN
1/rpcbind
516
tcp6
::47823
LISTEN
8/rpc.statd
517
tcp6
::20048
LISTEN
9/rpc.mountd

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

[root@node01 ~]# showmount -e
Export list for node01:
/opt/wwwroot 192.168.10.0/24
/var/ftp/pub 192.168.10.102,192.168.10.101

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

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

安装并启动rpcdind

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

[root@node02 ~]# dnf install -y rpcbind nfs-utils
[root@node02 ~]# systemctl enable rpcbind
[root@node02 ~]# systemctl start rpcbind

如果已经安装了nfs-utils软件包,则客户机也可以使用showmount查看NFS服务器端共享了哪
些目录,查询格式为"showmount-e服务器地址"。

[root@node02 ~]# showmount -e 192.168.10.101
Export list for 192.168.10.101:
/var/ftp/pub 192.168.10.101(ro) 192.168.10.102(rw(١)
/opt/wwwroot 192.168.10.0/24(rw,sync, no_root_squaash)

 手动挂载NFS共享目录

以root用户身份执行mount操作,将NFS服务器共享的/opt/wwwroot目录挂载到本地目录
/var/www/html。与挂载本地文件系统不同的是,设备位置处应指出服务器地址。

[root@node02 ~]# mount 192.168.10.101:/opt/wwwroot/var/www/html/
[root@node02 ~]# tail -1 /etc/mtab
192.168.10.101:/opt/wwwroot /var/www/html nfs4 rw,relatime,vers=4.2,rsize=262144, ws
ize=262144,namlen=255,hard, proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168
10.102, local_lock=none,addr=192.168.10.101 010
[root@node02 ~]# vim /var/www/html/index.html
test web document

 完成挂载以后,访问客户机的/var/www/html文件夹,实际上就相当于访问NFS服务器中的
/opt/wwwroot文件夹,其中的网络映射过程对于用户程序来说是透明的。例如,上述操作中创建的
index.html测试文件,会立刻出现在服务器的/opt/wwwroot/目录下。

fstab自动挂载设置

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

[root@node02 ~]# vim /etc/fstab
192.168.10.101:/opt/wwwroot /var/www/html nfs defaults,_netdev

 强制卸载NFS

NFS客户端与服务器端的耦合度是非常高的,如果客户端正在挂载使用,服务器端NFS服务突然间停
掉了,那么在客户端就会出现执行df-h命令卡死的现象。辽这个时候使用umount命令是无法直接卸载的,
需要加上-1f才能卸载。当出现卡死的现象,需要从新打开一个终端,执行cat /etc/rc.local命令,查看挂载点。当然使用umount命令卸载,其中-1表示解除正在繁忙的文件系统,-f,表示强制删除。

[root@localhost ~]# umount /var/www/html
umount.nfs4:/var/www/html: device is busy
[root@localhost ~]# umount -lf /var/www/html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值