部署DNF仓库及NFS共享服务
部署DNF
DNF配置文件
DNF 的主要配置文件是 /etc/dnf/dnf.conf,该文件包含两部分:
“main”部分保存着 DNF 的全局设置。
“repository”部分保存着软件源的设置,可以有零个或多个“repository”
所以 openEuler 软件源的配置一般有两种方式,一种是直接配置/ete/dnf/dnf.conf 文件中的“repository”部分,另外一种是在/etc/yum.repos.d目录下增加.repo 文件。
配置main部分
/etc/dnf/dnf.conf 文件包含的“main”部分
[root@localhost ~]#
vim /etc/dnf/dnf.conf
参数名称 | 说明 |
---|---|
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,不建议降低此值。 |
配置repository部分
repository 部分允许您定义定制化的 openEuler 软件源仓库,各个仓库的名称不能相同,否则会引起冲突。配置repository 部分有两种方式,一种是直接配置/etc/dnf/dnf.conf 文件中的“repository”部分,另外一种是配置/etc/yum.repos.d目录下的.repo 文件。
配置/etc/yum. repos.d目录下的.repo 文件。openEuler 提供了多种 repo 源供用户在线使用,各repo源含义可参考系统安装。使用root 权限添加 openEuler repo 源.
[root@localhost ~]#
vim /etc/yum.repos.d//openEuler.repo
显示当前配置
dnf config-manager --dump——显示当前的配置信息
dnf repolist ——显示相应的软件源的配置,首先查询repo id
dnf config-manager --dump repository——显示对应id 的软件源配置,其中repository,为查询得到的repo id。
dnf config-manager --dump glob_expression——使用一个全局正则表达式,来是示所有匹配部分的配置。
创建本地软件源仓库
要建立一个本地软件源仓库,请按照下列步骤操作。
1.安装 createrepo 软件包
dnf install createrepo
2.将需要的软件包复制到一个目录下。
3.创建软件源。
createrepo [目录文件]
添加,启用和禁用软件源
添加软件源
要定义一个新的软件源仓库,您可以在 /etc/dnf/dnf.conf 文件中添加“repository”部分,或者在/etc/yum.repos.d/目录下添加“.repo”文件进行说明。建议您通过添加“.repo”的方式,每个软件源都有自己对应的“.repo”文件,以下介绍该方式的操作方法。
要在您的系统中添加一个这样的源,请在root 权限下执行如下命令,执行完成之后会在/etc/yum.repos.d/目录下生成对应的repo 文件
启用软件源
要启用软件源,请在 root 权限下执行如下命令,其中 myrepo 为新增.repo 文件中的 repo id(可通过 dnf repolist 查询):
[root@localhost ~]#
dnf config-manager--set-enable myrepo
也可以使用一个全局正则表达式,来启用所有匹配的软件源。其中glob_expression 为对应的正则表达式,用于同时匹配多个repo id:
[root@localhost ~]#
dnf config-manager --set-enable glob _expression
禁用软件源
要禁用软件源,请在root 权限下执行如下命令:
[root@localhost ~]#
dnf config-manager --set-disable myrepo
管理软件包
使用 dnf 能够让您方便的进行査询、安装、删除软件包等操作。
搜索软件包
您可以使用 rpm 包名称、缩写或者描述搜索需要的 RPM包,使用命令如下:
dnf search httpd
(以httpd 为例)
列出软件包清单
要列出系统中所有已安装的以及可用的 RPM 包信息,使用命令如下:
dnf list all
要列出系统中特定的 RPM 包信息,使用命令如下:
dnf list httpd
显示 RPM 包信息
要显示一个或者多个 RPM 包信息,多个包之间以空格分隔,使用命令如下:
dnf info httpd zip
安装 RPM 包
要安装一个软件包及其所有未安装的依赖,请在root 权限下执行如下命令
dnf install package_name
下载软件包
使用 dnf 下载软件包,请在 root 权限下输入如下命令:
dnf download package_name
如果需要同时下载未安装的依赖,则加上–resolve,使用命令如下:
dnf download --resolve httpd
删除软件包
要卸载软件包以及相关的依赖软件包,请在root 权限下执行如下命令
dnf remove package name ...
管理软件包组
软件包集合是服务于一个共同的目的一组软件包,例如系统工具集等。使用 dnf可以对软件包组进行安装/删除等操作,使相关操作更高效。
列出软件包组清单
使用 summary 参数,可以列出系统中所有已安装软件包组、可用的组,可用的环境组的数量,命令如下
dnf groups summary
要列出所有软件包组和它们的组ID,命令如下!
显示软件包组信息
显示软件包组信息要列出包含在一个软件包组中必须安装的包和可选包,使用命令如下
安装软件包组
每一个软件包组都有自己的名称以及相应的 ID(groupid),您可以使用软件包组名称或它的 ID 进行安装。
要安装一个软件包组,请在 root 权限下执行如下命令:
删除软件包组
要卸载软件包组,您可以使用软件包组名称或它的ID,在root 权限下执行如下命令:
dnf group remove group_name
dnf group remove groupid
检查并更新
检查更新
如果你需要显示当前系统可用的更新。
dnf check-updata
升级
如果您需要升级单个软件包,在root 权限下执行如下命令:
dnf update package_name
更新所有的包和它们的依赖
要更新所有的包和它们的依赖,在root 权限下执行如下命令:
dnf update
NFS共享存储服务
NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。通过使用NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。对于大多数负载均衡群集来说,使用 NFS 协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。
使用NFS发布共享资源
NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。在 0penEuler 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS共享发布和访问,后者用于RPC支持。
1.安装nfs-utils,rpcbind软件包
提供 RPC支持的服务为rpcbind,提供 NFS 共享的服务为 nfs,完成安装以后建议调整这两个服务的自启动状态,以便每次开机后自动启用。手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。
2.设置共享目录
NFS 的配置文件为/etc/exports,文件内容默认为空(无任何共享)。在 exports 文件中设置共享资源时,记录格式为“目录位置客户机地址(权限选项)
其中客户机地址可以是主机名、IP 地址、网段地址,允许使用*,?通配符;权限选项中的 rw表示允许读写(ro 为只读),sync 表示同步写入,no_root_squash 表示当客户机以root 身份访问时赋予本地 root 权限(默认是 root_squash,将作为 nfsnobody 用户降权对待)。
3.启动NFS服务程序
4.查看本机发布的NFS共享目录
在客户机中访问NFS共享资源
NFS 协议的目标是提供一种网络文件系统,因此对NFS 共享的访问也使用 mount 命令来进行挂载,对应的文件系统类型为 nfs。既可以手动挂载,也可以加入 fstab 配置文件来实现开机自动挂载。
1.安装并启动nsf-utils
[root@localhost ~]#` dnf -y install nfs-utils
使用 showmount 査看 NFS 服务器端共享了哪些目录,查询格式为“showmount-e 服务器地址”
注意关防火墙
2.手动挂载NFS共享目录
以 root 用户身份执行 mount 操作,将 NFS 服务器共享的/opt/wwwroot 目录挂载到本地目录/var/www/aaa。与挂载本地文件系统不同的是,设备位置处应指出服务器地址。
在客户机上创建测试文件
3.fatab自动挂载设置
修改/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 0 0
4.强制卸载NFS
NFS 客户端与服务器端的耦合度是非常高的,如果客户端正在挂载使用,服务器端 NFS服务突然间停掉了,那么在客户端就会出现执行 df -h 命令卡死的现象。这个时候使用 umount 命令是无法直接卸载的,需要加上 -lf 才能卸载。
当出现卡死现象时,要重新开一个终端,执行cat /etc/rc.local 命令,查看挂载点。
然后使用 umount 命令卸载,其中-l表示解除正在繁忙的文件系统,-f 表示强制。
[root@localhost ~]#
umount /var/www/aaa
umount.nfs4:/var/www/aaa:device is busy
[root@localhost ~]#umount -lf /var/www/aaa
感谢观看!