admin 管理员组

文章数量: 1184232

配置DNF

DNF配置文件

/etc/dnf/dnf.conf:

  • 主要的配置文件
  • main:不分保存这DNF的全局设置
  • repository:部分保存着软件源的设置,可以有零个或多个"repository”
    letc/yum.repos.d目录中保存着零个或多个repo源相关文件 也可以定义不同的"'repository

配置main部分

/etc/dnf/dnf.conf 文件的main 部分

例如:sudo vim /etc/dnf/dnf.conf

参数名 作用
gpgcheck=1 启用 GPG签名校验,安装包时验证来源合法性(防止恶意软件)
installonly_limit=3 限制“仅安装型”包(如内核)的保留数量,最多保留3个旧日版本
clean_requirements_on_remove=True 卸载包时自动清理不再被依赖的依赖包(避免残留无用文件)
best=True 优先选择“最佳匹配”的包版本(通常是最稳定、兼容性最好的版本)
skip_if_unavailable=False 仓库不可用时不跳过,若仓库故障会报错(保证安装源可靠性)

name:自定义仓库名称便于识别

baseurl:仓库路径填写本地NFS挂载点路径 使用file://协议

enabled=1:启用该本地仓库

gpgcheck=0:关闭GPG校验(若有对应密钥可设为1 并添加gpgkey路径)

配置repository部分

  • 在/etc/dnf/dnf.conf文件中的 "repository"
  • 在etc/yum.repos.d目录下的.repo文件

创建本地软件源仓库

步骤

  • 安装createrepo软件包

dnf install createrepo
挂载光盘:
mount /dev/cdrom /media/cdrom
查看是否挂载成功:
cd /media/cdrom
ls

  • 将需要的软件包复制到一个目录下

例如:
复制 Packages 中的软件源

  • 创建软件源

创建文件夹

例如: mkdir -p /mnt/local_repo
复制文件源
例如: cp Packages/*  /mnt/local_repo/
查看是否复制成功
例如:
cd /mnt/local_repo/
ls

  • 创建软件源:

例如: createrepo /mnt/local_repo/

添加 启用和禁用软件源

  • 添加软件源

例如:
dnf config-manager --add-repo  repository_url

  • 启动软件源

例如:
dnf config-manager  --set-enable repository

  • 禁用软件源

例如:
dnf config-manager --set-disable repository

管理软件包

  • 搜索软件包 -- search

格式:
例如:dnf search httpd(以httpd为例)

  • 列出软件包清单 -- list

列出系统中 所有 已安装的以及可用的RPM包信息:dnf list all
列出系统中 特定 的RPM包信息:dnf list http

  • 显示RPM包信息 -- info

要显示一个或多个RPM包信息,多个包以空格分割:
例如:
dnf info httpd zip (以httpd,zip两个包为例)

  • 安装RPM包 -- install

-y:默认yes
要安装一个软件包及其所有未安装的依赖,
dnf install package_name

  • 下载软件包 -- download

使用dnf下载软件包
例如:
dnf download package_name

如果需要同时下载未安装的依赖 则加 --resolve
例如: dnf download --resolve package_anme

  • 删除软件包 -- remove

要卸载软件包以及相关的依赖软件包
dnf remove package_name...

管理软件包组

列出软件包清单 --groups
显示软件包信息 -- group info
安装软件包组 -- group install
删除软件包组 -- group remove

检查并更新

检查更新 -- check-update
升级 -- update & group update
更新所有的包和它们的依赖  -- update

NFS共享存储服务

使用NFS发布共享资源

  • 安装nfs-utils、rpcbind软件包

前提:
nfs-utila:共享和访问
rpcbind:RPC支持

提供RPC支持的服务为"rpcbind":dnf install -y nfs-utils rpcbind
提供NFS共享的服务为nfs:systemctl enable nfs
调整服务的自启状态,便于每次开机后自动启动:systemctl  enable  rpcbind

  • 设置共享目录

NFS的配置文件:/etc/exports

  • 创建一个共享目录: mkdir -p /opt/wwwroot
  • 进入配置文件中:vim /etc/exports
  • 配置:/opt/wwwroot  192.168.10.0/24(rw,sync,no_root_aquash)
  • rw: 允许读写 允许写权限(若仅需客户端访问无需修改)
  • ro: 只读
  • sync: 数据同步写入 磁盘 避免数据丢失 保障数据一致性
  • no_root_sqush: 表示客户机以root身份访问同时赋予本地root权限

若要给多个用户配置
配置: /opt/wwwroot 192.168.10.101(ro) 192.168.10.102(rw)

  • 启动NFS服务程序

启动 rpcbind nfs-server
systemctl start rpcbind
systemctl start nfs-server

需要安装网络工具 否则无法使用 netstat
dnf install net-tools -y
判断客户端和服务端是否连通
netstat -anpt |grep rpc

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

showmount -e

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

  • 安装并启动rpcbind

前提:

正常访问NFS共享资源,客户机也需要安装"rpcbin"软件包(使用showmount查询工具 也要安装相应的软件包nfs-utils): dnf install -y rpcbind nfs-utils
配置开机启动rpcbind系统服务: systemctl enable rpcbind
配置启动 rpcbind:s ystemctl start rpcbind
使用showmount查看NFS服务器端共享了哪些目录: showmount  -e 服务器地址

  • 手动挂载NFS共享目录

前提:

root 用户身份执行 mount操作
创建挂载目录:
例如: mkdir -p /var/www/html
将NFS服务器共享的(/opt/wwwroot)目录挂载到本地目录 (var/www/html) 设备位置应指出服务器地址
例如:
mount 192.168.10.101:/opt/wwwroot   /var/www/html
确认挂载结果: tail -l /etc/mtab

最后客户机创建测试文件
例如:
vim /var/www/html/index.html
进入
cd /var/www/html
ls

在客户端进入创建的共享目录
cd /opt/wwwroot/
ls
创建一个空文本
t ouch test.txt

  • fstab自动挂载设置

修改/etc/fstab配置文件,加入NFS共享目录的挂载设置,将文件类型改为nfs
加入NFS共享目录的挂载设置(将文件系统类型设为nfs)
例如:
vim /etc/fstab
配置:
192.168.10.101:/opt/wwwroot /var/www/html nfs defaults,_netdev 0 0

  • 强制卸载NFS

umount -lf:强制卸载
-l:表示结束正在繁忙的文件系统
-f:表示强制
例如:
umount /var/www/html
&
umount -lf /var/www/html
出现卡死现象 需要重新开一个终端

常见问题排查

NFS挂载失败

  • 网络排查:客户端执行`ping 192.168.1.100` 确认与服务端网络互通 无丢包情况

  • 服务排查:服务端执行`systemctl status rpcbind nfs`确认两个服务均正常运行

  • 权限排查:核对服务端/etc/exports文件 客户端IP 权限参数是否配置正确 可重新加载配置`exportfs -r`

  • SELinux排查:若未关闭SELinux 执行`setsebool -P nfs_export_all_rw 1`授权NFS访问权限

DNF仓库无法使用

  • 挂载排查:客户端执行`df -h`查看/mnt/dnf_repo是否正常挂载 进入目录确认存在repodata索引目录

  • 配置排查:核对/etc/yum.repos.d/local_dnf.repo文件 路径 参数是否填写正确 无语法错误

  • 元数据排查:服务端确认已执行`createrepo .`生成元数据 新增RPM包后是否执行`createrepo --update .`更新

注意事项

  • NFS共享目录权限需合理配置,避免过度开放权限导致安全风险
  • DNF仓库新增RPM包后,需在服务端执行`createrepo --update .`更新元数据,客户端重新执行`yum makecache`加载新缓存
  • 生产环境中 建议结合防火墙 SELinux NFS权限控制实现安全部署
  • 若需多客户端访问 可在/etc/exports中配置多个客户端IP(用空格分隔)或配置网段(如192.168.1.0/24)

本文标签: 配置 例如 系统