linux收集离线安装包及依赖包
跑现场维护时,常会遇到需要部署环境的需求,但客户现场大多没有互联网 —— 这简直是运维的 “卡壳时刻”。
想要高效解决这个问题,核心是提前备好离线安装包及全套依赖包;而准备的关键前提,必须是在与客户目标部署环境完全一致的操作系统上,提前下载好对应包体。毕竟操作系统版本不匹配,很容易出现依赖兼容问题,前期多花点时间对齐环境,现场就能少踩很多坑~
【CentOS/RHEL 系统】
1. 方案一(推荐):repotrack(全量依赖包)
repotrack工具,在yum-utils包里,因此先安装yum-utils包,
yum -y install yum-utils
例子:
把nginx的离线安装包及全量依赖包下载到aaa目录下
repotrack nginx -p ./aaa

ls ./aaa

2. 方案二:yumdownloader(只下载系统所缺少的依赖关系包)
yum install -y yum-utils
yumdownloader --resolve --destdir=./bbb nginx


注意:仅会将主软件包和基于你现在的操作系统所缺少的依赖关系包一并下载
3. 方案三:downloadonly(也只下载系统所缺少的依赖关系包)
yum install yum-plugin-downloadonly
yum -y install nginx --downloadonly --downloaddir=./ccc

注意:结果显示,yumdownloader和downloadonly下载的内容是一样的。
4. CentOS/RHEL离线安装方法:
进入离线安装包目录
第一种:yum install nginx*
第二种:rpm -ivh /path/nginx*.rpm
#如果失败了就执行下面的
第三种:rpm -ivh --force --nodeps *.rpm
【Ubuntu/Debian 系统】
1. 方案一:apt install -d
#下载包及其依赖(需先更新缓存)
apt update
apt install -d -y nginx # -d表示仅下载不安装
说明:默认存放目录:/var/cache/apt/archives,apt没有指定目录的功能,如果想要指定目录存放,那就需要创建软链接的方式来解决。
操作步骤:
1. 先删除/var/cache/apt/archives目录
rm -rf /var/cache/apt/archives
2. 然后创建软链接
ln -s /root/nginx /var/cache/apt/archives
备注:这样默认下载到/var/cache/apt/archives目录的文件可通过访问/root/nginx来获取。
2. 方案二:apt download -d(仅下载主软件)
#创建临时目录
mkdir temp
#进入目录
cd temp
#执行命令
apt download -d nginx #在哪个目录下执行就会存放在该目录

3. 方案三(推荐):使用 apt-offline 工具
apt-offline 是专门用于离线包管理的工具,支持直接指定下载目录,步骤如下:
1. 先安装 apt-offline(需要联网环境):
apt install -y apt-offline
2. 生成一个 “签名文件”,指定需要下载的包(如 nginx):
apt-offline set nginx-offline.sig --install-packages nginx
3. 用签名文件下载包到指定目录(例如 /home/user/nginx_pkgs):
apt-offline get nginx-offline.sig --download-dir /home/user/nginx_pkgs
此时,nginx 及其所有依赖会被下载到 /home/user/nginx_pkgs 目录。

4. Ubuntu/Debian离线安装:
#直接安装
dpkg -i /path/nginx*.deb

#解决依赖问题(如果有)
apt install nginx
如果还出问题,执行下面的
apt install -f -y
661

被折叠的 条评论
为什么被折叠?



