技术交流QQ群:①185473046   ②190706903   ③203744115   网站地图
登录

下次自动登录
现在的位置: 首页Linux>正文
Linux下使用DNF命令下载安装包到指定目录
2026年03月20日 Linux 暂无评论 ⁄ 被围观 23次+

需求:内网服务器没有yum源,要离线安装依赖包

解决方法:部署一台相同版本的可以联网的服务器,使用DNF命令下载依赖包,上传到内网服务器离线安装。

具体操作:

我们以RHEL 8/9/10系列操作系统为例

1、安装dnf-utils工具包

默认的 dnf 命令只能做基础的安装、卸载和更新。我们需要安装增强工具包 dnf-utils 才能制作离线安装包

dnf install -y dnf-utils #安装工具包

2、创建目录

#创建临时目录,作为虚拟系统根目录,用来计算依赖关系,不会影响真实的系统

mkdir -p /tmp/fake

#创建存储目录,下载好的所有 .rpm 文件都保持在这里

mkdir -p /root/yum-rpm-full-x86

3、下载安装包到指定目录

dnf install --installroot=/tmp/fake --downloadonly --downloaddir=/root/yum-rpm-full-x86 \

wget telnet nmap traceroute ntp rsync lrzsz OpenIPMI ipmitool freeipmi screen ncurses-devel bind-utils libffi-devel libnfnetlink-devel libnl3-devel popt-devel tcpdump wireshark \

libtool *unixODBC* tar make gcc gcc-c++ perl pcre2-devel zlib-devel glibc-devel \

dejavu-fonts fontawesome-fonts fontconfig fonts-filesystem ttmkfdir fontconfig-devel \

-y

执行完成之后,所有的包都在/root/yum-rpm-full-x86目录,把这个目录打包yum-rpm-full-x86.tar.gz拷贝到需要安装的服务器上

4、离线安装依赖包

#解压

tar -zxvf yum-rpm-full-x86.tar.gz

cd yum-rpm-full-x86

#只安装本地没有的包(跳过冲突),临时禁用所有已配置的远程仓库,只从本地目录安装

yum localinstall ./*.rpm -y --nogpgcheck --disablerepo="*" --skip-broken

原理:

命令详解(为什么这样能解决依赖问题?)

--installroot=/tmp/fake:

这是关键!它告诉 dnf:“假装 /tmp/fake 是一台刚装好的、空空如也的新电脑”。

dnf 不会参考您当前机器上已经安装的包,它会把所有层级的依赖包全部列出来。

--downloadonly --downloaddir=/root/yum-rpm-full-x86:

只下载 RPM 文件到指定目录,不真的去修改那个假目录。

至此,Linux下使用DNF命令下载安装包到指定目录完成。

     

  系统运维技术交流QQ群:①185473046 系统运维技术交流□Ⅰ ②190706903 系统运维技术交流™Ⅱ ③203744115 系统运维技术交流™Ⅲ

给我留言

您必须 [ 登录 ] 才能发表留言!



Copyright© 2011-2026 系统运维 All rights reserved
版权声明:本站所有文章均为作者原创内容,如需转载,请注明出处及原文链接
陕ICP备11001040号-3