Linux部署DNF仓库及NFS共享服务

目录

一.配置DNF

1.1.DNF配置文件

1.2.配置main部分

1.3.配置repositiry部分

1.3.1显示当前配置 

1.4.创建本地软件源仓库 

1.5添加、启动和禁用软件源

二.管理软件包

管理软件包组

检查并更新

三.NFS共享存储服务

1.使用NFS发布共享资源

1.1安装nfs-utils、rpcbind软件包

1.2.设置共享目录

1.3.启动NFS服务程序

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

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

2.1安装并启动rpcbind

2.2.手动挂载NFS共享目录

2.3.fstab自动挂载设置

2.4.强制卸载NFS


一.配置DNF

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

注:使用 DNF 需要管理员权限。

主要配置文件位置:

  1. 主配置文件/etc/dnf/dnf.conf

  2. 仓库配置文件/etc/yum.repos.d/目录下的.repo文件

1.1.DNF配置文件

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

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

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

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

1.2.配置main部分

/etc/dnf/dnf.conf文件包含的“main”部分,配置示列:Linux部署DNF仓库及NFS共享服务_第1张图片

 常用选项说明:

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

1.3.配置repositiry部分

        repositiry部分允许定制化openEuler软件源仓库,仓库名称不能相同,不然会冲突。配置repositiry部分有两种方式,一种是直接/etc/dnf/dnf.conf文件中的“repositiry”部分,另外一种时配置/etc/yum.repos.d目录下的.repo文件。

[仓库ID]
name=仓库名称
baseurl=仓库URL (支持 http/ftp/file 协议)
enabled=1              # 1=启用,0=禁用
gpgcheck=1               # 是否检查GPG签名
gpgkey=GPG密钥URL     # 例如:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS

注意:file:// 协议需使用绝对路径

1.3.1显示当前配置 

dnf  config-manager  --dump      #显示当前的配置信息

dnf  repolist       #显示相应软件源的配置

dnf  config-manager  --dump  repository   #显示对应id的软件源配置

dnf  config-manager  --dump  glob_expression  #用全局正则表

1.4.创建本地软件源仓库 

要建立一个本地软件源仓库,请按照下列步骤操作

1. 安装 createrepo 软件包

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

3. 创建软件源。

具体实操:

dnf install createrepo  # 安装工具

软件包复制
createrepo 对应的软件包所在目录  # 生成元数据

1.5添加、启动和禁用软件源

添加软件源 

        要定义一个新的软件源仓库,可以在 /etc/dnf/dnf.conf 文件中添加“repository”部分,或者在/etc/yum.repos.d/目录下添加“.repo”文件进行说明。建议您通过添加“.repo”的方式,每个软件源都有自己对应的“.repo”文件。
       要在系统中添加一个这样的源,请在root 权限下执行如下命令,执行完成之后会在/etc/yum.repos.d/目录下生成对应的 repo 文件。其中 repository_url 为repo 源地址。

dnf config-manager  --add-repo  repository_url 

启用软件源

        要启用软件源,需在root权限下执行如下命令,其中repository为新增,repe 文件中的repo id(通过dnf repolist 询):

dnf config-manager --set-enable repository

            也可以使用一个全局正则表达式,来启用所有匹配的软件源。其中glob_expression 为对应的正则表达式,用于同时匹配多个repo id:

dnf config-manager --set-enable glob_expression

禁用软件源

     要禁用软件源,请在root 权限下执行如下命令:

dnf config-manager--set-disable repository

        同样的,您也可以使用一个全局正则表达式来禁用所有匹配的软件源:

dnf config-manager --set-disable glob expression

二.管理软件包

 使用dnf可以方便的进行查询、安装、删除软件包等操作。

安装软件包

功能/操作 命令
安装软件包 dnf install
安装本地RPM包(自动解决依赖) dnf install /path/to/package.rpm
安装软件包组(如开发工具) dnf groupinstall

查询软件包

功能/操作 命令
搜索软件包 dnf search
查看软件包信息 dnf info
列出已安装软件包 dnf list installed
查看软件包提供内容 dnf provides
查看依赖关系 dnf deplist

卸载软件包

功能/操作 命令
删除软件包 dnf remove
删除软件包及依赖 dnf autoremove
完全卸载 dnf erase

管理软件包组

列出软件包清单

功能/操作 命令
列出所有软件包组 dnf group list
显示隐藏的软件包组 dnf group list --hidden

显示软件包组信息

功能/操作 命令
查看某个组的详细信息 dnf group info
使用组 ID 查询 dnf group info

安装软件包组

功能/操作 命令
查看某个组的详细信息 dnf group info
使用组 ID 查询 dnf group info

卸载软件包组

功能/操作 命令
卸载指定软件包组 dnf group remove
使用组 ID 卸载 dnf group remove

检查并更新

操作 命令
检查更新 sudo dnf check-update
更新所有包 sudo dnf update
更新指定包 sudo dnf update
排除包 sudo dnf update --exclude=
清理缓存 sudo dnf clean all

三.NFS共享存储服务

1.使用NFS发布共享资源

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

1.1安装nfs-utils、rpcbind软件包

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

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

1.2.设置共享目录

        NFS 的配置文件为/etc/exports,文件内容默认为空(无任何共享)。在 exports 文件中设置共享资源时,记录格式为“目录位置客户机地址(权限选项)”。列:

[root@localhost ~]# mkdir -p /opt/wwwroot
[root@localhost ~]# vim /etc/exports
/opt/wwwroot 192.168.10.0/24(rw,sync,no_root_squash)

1.3.启动NFS服务程序

[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# systemctl start nfs-server
[root@localhost ~]# dnf install net-tools -y    #安装网络工具,否则无法使用netstat
[root@localhost ~]# netstat -anpt /grep rpc

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

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

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

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

2.1安装并启动rpcbind

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

[root@localhost ~]# dnf install -y rpcbind nfs-utils

[root@localhost ~]# systemctl enable rpcbind

[root@localhost ~]# systemctl start rpcbind

2.2.手动挂载NFS共享目录

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

[root@localhost ~]# mount 192.168.10.101:/opt/wwwroot /var/www/html/

[root@localhost ~]# tail -1 /etc/mtab        //确认挂载结果

[root@localhost ~l# vim /var/www/html/index.html        //在客户机创建测试文件 

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

2.3.fstab自动挂载设置

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

[root@localhost ~]# vim /etc/fstab 

2.4.强制卸载NFS

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

当出现卡死现象时,要重新开一个终端,执行 cat /etc/rc.local 命令,査看挂载点。

然后使用 umount 命令卸载,其中-1 表示解除正在繁忙的文件系统,-f 表示强制。 

 [root@localhost ~]#  umount /var/www/html

你可能感兴趣的:(linux,运维,服务器)