Linux离线环境下安装软件包

本文详细介绍了在离线环境中使用Centos和Ubuntu系统的命令,如yum和apt进行软件包下载(包括指定下载路径、依赖解析)、以及如何在无网络情况下安装docker-ce和nginx,包括替换源、下载依赖和本地安装步骤。

Linux下载包相关命令概述

写在前面:可以直接先在一台有网机器下载相关软件包,然后上传到另一台无网机器上,安装即可。

一、Centos相关命令

方法1
yum install --downloadonly --downloaddir="path" <pkg_name> 
  • 仅下载,不安装。不加–downloadonly则会下载后安装(注意:若/etc/yum.conf 配置文件中keepcache=0,则安装后不会保留缓存)。
  • 默认缓存在/var/cache/yum下,或 /etc/yum.conf 配置文件中cachedir指定的位置下。可通过–downloaddir参数指定下载位置。
方法2
yumdownloader --resolve --destdir "save_path"  <pkg_name> 
  • 下载软件包。加上–resolve参数会分析依赖。
  • 默认保存到当前目录,可通过–destdir指定保存目录。
方法3
repotrack <pkg_name>   
  • 下载软件包及所有相关的依赖。
  • 默认保存到当前目录。

二、Ubuntu相关命令

方法1
apt install --reinstall -d <pkg_name>
  • Ubuntu仅下载,不安装。不加-d则会下载后安装。
  • 默认缓存在/var/cache/apt/archives下。
方法2
apt depends <pkg_name>   # 查看软件包依赖
apt download <pkg_name>  # 下载软件包
  • 默认保存到当前目录。
  • 可综合上面两条命令,根据自己电脑实际情况,利用管道,可写出下面类似的命令。
apt-get download $(apt-cache depends <pkg_name> --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --no-pre-depends | grep -v i386 | grep "^\w")

Centos系统离线环境安装软件包

首先在有网环境下好软件包,在U盘拷贝到离线机器上安装。这里以docker-ce、ngnix举例。

一、预备操作

1、换CentOS-Base源
# 换阿里源(加快下载速度)
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
2、添加epel源
# 添加epel源(Extra Packages for Enterprise Linux)
sudo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
3、添加docker-ce源

yum-util提供yum-config-manager功能,若机器已默认安装,则可跳过

sudo yum install -y yum-utils

添加docker-ce源

# 阿里云的docker-ce镜像源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 官网的docker-ce镜像源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

二、下载软件包

1、创建下载软件包的保存根目录
mkdir pkgs_install
cd pkgs_install
2、docker-ce 下载

下载devicemapper驱动依赖(根据实际情况,判断是否下载)

mkdir dm-dep
yumdownloader device-mapper-persistent-data lvm2 --resolve --destdir ./dm-dep

下载docker-ce

mkdir docker-ce
yumdownloader docker-ce --resolve --destdir ./docker-ce

若需指定版本

# 搜索docker-ce版本,且倒序显示
yum list docker-ce --showduplicates | sort -r
# 指定版本安装,版本号可以忽略 : 和 el7
yumdownloader docker-ce-<VERSION STRING> --resolve --destdir ./docker-ce-<VERSION STRING>
3、nginx下载
mkdir nginx
yumdownloader nginx --resolve --destdir ./nginx

三、拷贝到离线环境机器安装

cd pkgs_install
sudo yum localinstall dm-dep/*.rpm
sudo yum localinstall --setopt=arch_install_langpack_i686=no docker-ce/*.rpm
sudo yum localinstall --setopt=arch_install_langpack_i686=no nginx/*.rpm

Ubuntu系统离线环境安装软件包

# 查看依赖
apt depends <package name>
# 递归下载所有 deb 依赖 (目前极少用到 32 位架构 过滤掉 i386 )
apt download $(apt depends <package name> --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --no-pre-depends | grep -v i386 | grep "^\w")
# 离线安装 deb 包
dpkg -i <package name>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值