【Linux】yum如何下载离线安装包?(详解)

本文介绍了在内网环境下如何使用yum和yumdownloader下载离线安装包,包括yum参数安装(推荐)及其依赖管理,以及yumdownloader的使用方法和区别。两种方法优缺点对比,适合在无网络连接时安装服务。

在这里插入图片描述

👨‍🎓博主简介

  🏅优快云博客专家
  🏅云计算领域优质创作者
  🏅华为云开发者社区专家博主
  🏅阿里云开发者社区专家博主
💊交流社区:运维交流社区 欢迎大家的加入!
🐋 希望大家多多支持,我们一起进步!😄
🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏 ⭐️ 加关注+💗


前言

下载离线包的时候需要在有可以ping通baidu等外网的环境中下载离线包;

  相信大家也遇到过这种问题,在没有外网的情况下,想安装一个服务却安装不了,这期我就教大家如何如何下载离线安装包,在内网中使用;

第一种方法:使用yum + 参数安装 – 【推荐】包含依赖

  • 首先先讲解一下yum下载离线安装包的参数及解析;

yum下载离线安装包的参数及解析;

参数解析
- -install下载某个命令,直接安装
- -downloadonly仅下载安装包,不进行安装
- -downloaddir指定下载的安装包的存放路径

实例:

Centos7 yum直接下载安装lrzsz命令,下载完并不会有安装包残留,直接就会安装上;

yum -y install lrzsz

Centos7 yum下载离线安装包mysql,不进行安装,只需要离线安装包,并且放到/data/mysql目录中;

下载命令:

yum -y install gcc gcc-c++ --downloadonly --downloaddir=./
  • 详情下载步骤:
#首先我们先创建一个/data/mysql目录
[root@zabbix-5 mysql]# mkdir /data
[root@zabbix-5 mysql]# mkdir /data/mysql

#然后我们来下载离线安装包
[root@zabbix-5 mysql]# yum -y install mysql --downloadonly --downloaddir=/data/mysql

#然后进入/data/mysql目录查看
[root@zabbix-5 mysql]# cd /data/mysql
[root@zabbix-5 mysql]# ls
mariadb-5.5.68-1.el7.x86_64.rpm  mariadb-libs-5.5.68-1.el7.x86_64.rpm

在这里插入图片描述
然后咱们可以把rpm包下载到本地,之后使用的时候就可以上传到内网环境中,直接rpm -ivh 包名安装就可以了。

第二种方法:使用 yumdownloader 命令【只下载你需要的安装包(不包含依赖)】

  • 要有这个命令,需要先安装一个命令:yum-utils
sudo yum -y install yum-utils

这个命令安装完之后就会有yumdownloader 命令了,这时候我们使用这个命令去下载离线包;

  • yumdownloader 用法
yumdownloader --destdir=要下载的路径 要下载的安装包
  • yumdownloader 参数
参数解析
–resolve此选项会分析指定的软件包的依赖关系,并自动下载和保存这些依赖软件包。注意,如果系统内该依赖包已安装,运行命令时将不会下载已安装的依赖包。
–enablerepo=指定yum源,如果不知可以省去此参数。
–destdir=指定下载的软件包存放路径,默认下载到当前目录中。

实例:

  • 下载一个mysql安装包且不安装服务,把安装包存到/data/mysql/目录下;
yumdownloader --destdir=/data/mysql/ mysql

下载完之后切换到这个目录看一下,可以看到离线包了。

在这里插入图片描述

两者区别及优缺点:

  • 举实例两者下载的区别:

  • 示例1:使用yum + 参数安装

yum -y install gcc gcc-c++ --downloadonly --downloaddir=./

在这里插入图片描述

  • 示例2:yumdownloader 命令下载
yumdownloader --destdir=./ gcc gcc-c++

在这里插入图片描述

两者的区别很明显了,yumdownloader下载的少,是因为他不会下载依赖包,只会下载你需要的包;

  • 两者优缺点:

  • yum + 参数 优点:
    1、会自动下载安装所需软件的所有依赖包,保证离线安装包的完整性;
    2、无需安装,可直接使用命令+参数下载。

  • yum + 参数 缺点:
    1、如果服务器上已经安装过这个命令或者包的话,下载会提示已经安装过,所以安装的时候需要使用空环境。

在这里插入图片描述

  • yumdownloader 优点:
    1、不管有没有安装都会下载下来离线包。

  • yumdownloader 缺点:
    1、需要安装yum-utils
    2、安装只会安装所需要的包,而不会下载依赖;


  • 总结:

各有利弊,还是推荐使用第一种方式。

批量下载软件离线包及批量安装【推荐使用】

使用脚本来实现批量下载及安装

  • download.sh(批量下载脚本)
#!/bin/bash

# 定义要下载的软件包列表
packages=(
    "vim"
    "unzip"
    "tar"
    "make"
    "net-tools"
    "gcc"
    "gcc-c++"
    "locales"
)

# 遍历软件包列表,下载每个软件包
for package in "${packages[@]}"; do
    # 创建以软件包名命名的目录
    mkdir -p "$package"
    
    # 使用yum下载软件包
    echo "正在下载 $package ..."
    yum -y install $package --downloadonly --downloaddir=./$package
done

echo "所有软件包下载完成!"
  • install.sh(批量安装脚本)
#!/bin/bash

# 定义要安装的软件包列表
packages=(
    "vim"
    "unzip"
    "tar"
    "make"
    "net-tools"
    "gcc"
    "gcc-c++"
    "locales"
)

# 遍历软件包列表,安装每个软件包
for package in "${packages[@]}"; do
    # 进入目录
    cd "$package"
    
    # 使用rpm安装软件包
    echo "正在安装 $package ..."
    rpm -ivh * --nodeps --force
    
    # 返回上级目录
    cd ..
done

echo "所有软件包安装完成!"
评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A-刘晨阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值