Linux离线安装软件完整步骤:零基础也能搞定内网部署

为什么需要离线安装 Linux 软件?

很多公司内部服务器出于安全限制,无法直接连接外网。
这时候想装个 Nginx、Python 包或者数据库,就需要掌握 Linux 离线安装软件完整步骤
本文不假设你有任何网络连接,只依赖一台能上网的电脑(比如你的笔记本)和一台目标服务器。

准备工作:在联网机器上下载软件包和依赖

首先确认目标服务器的操作系统和架构,比如 x86_64 的 Ubuntu 20.04 或 CentOS 7。
然后在联网机器上执行以下操作。

对于 Debian/Ubuntu 系

使用 apt-get download 命令只下载 .deb 包而不安装:

# 先更新索引(需要网络)
sudo apt-get update

# 下载指定软件及其所有依赖到当前目录
sudo apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances <软件名> | grep -v "^ " | grep -v "^<" | tr -d '[:blank:]')

比如下载 nginx

sudo apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances nginx | grep -v "^ " | grep -v "^<" | tr -d '[:blank:]')

注意:这条命令会自动将 nginx 和它需要的所有 .deb 包拉到当前目录。
如果出现依赖链太长,也可以直接用 apt-get download nginx 只下载主包,依赖手动补全(稍麻烦)。
更稳妥的方式是使用 aptitudedebootstrap,但对零基础用户推荐下面更简单的方法。

对于 CentOS/RHEL 系

使用 yumdownloader 工具(需要先安装 yum-utils):

# 安装 yum-utils(还需联网一次)
sudo yum install -y yum-utils

# 下载软件及其所有依赖到当前目录
sudo yumdownloader --resolve --destdir=./ <软件名>

例如下载 vim-enhanced

sudo yumdownloader --resolve --destdir=./ vim-enhanced

下载完成后,你会看到一堆 .rpm 文件。
把这些文件打包压缩,通过 U 盘、内网共享或 scp 传到离线服务器上。
传输命令示例(在线服务器执行):

scp -r ./download_folder user@离线服务器IP:/tmp/

离线服务器安装操作

登录离线服务器,进入存放包文件的目录。

Debian/Ubuntu 安装 .deb 包

使用 dpkg -i 命令安装:

cd /tmp/download_folder
sudo dpkg -i *.deb

如果提示依赖缺失(通常会报错说某些包未安装),不要慌,运行一次强制依赖修复:

sudo apt-get install -f

注意apt-get install -f 会尝试从本地仓库或已经下载的 .deb 中补全依赖,只要所有 .deb 包都在当前目录,一般能自动解决。
如果离线服务器完全没有网络,这一步不能连接外网,但 dpkg -i 结合 -f 只检查本地缓存,是安全的。

CentOS/RHEL 安装 .rpm 包

使用 rpm -ivh 安装(-i 安装,-v 显示详情,-h 显示进度条):

cd /tmp/rpm_packages
sudo rpm -ivh *.rpm

如果遇到依赖报错,可以用 yum localinstall 自动解决本地依赖(需要目标服务器上也有基本的 yum 仓库索引,但离线状态下仍能解析本地 .rpm 包之间的关系):

sudo yum localinstall *.rpm -y

如果是源码编译的离线安装

有些软件没有现成的二进制包,只能用源码安装。
在联网机器上下载源码包(如 .tar.gz),传到离线服务器后:

tar -xzf package.tar.gz
cd package
./configure --prefix=/usr/local/myapp
make
sudo make install

注意编译前需要安装编译工具 gcc, make 等,这些工具也需要提前离线准备好。

高频问题和避坑指南

问题1:下载依赖时出现缺少某些包

  • 确认你用了 apt-cache dependsyumdownloader --resolve,而不是只下载主包。
  • 对于 Ubuntu,有时依赖列表太长,可以只下载主包+常用依赖,然后在离线服务器上逐个手动 dpkg -i,缺什么再补什么。更省心的方法是用 apt-get install --no-download 但需要先有网络。

问题2:离线安装报错“无法解析主机”或“404”

  • 确保你的命令是在 内网 服务器上执行的,并且已经关闭了系统代理(unset http_proxyunset https_proxy)。
  • 如果使用 apt-get install -f 时还尝试连接外网,可以临时断掉服务器网络或修改 /etc/apt/sources.list 注释掉所有源。

问题3:编译时缺少动态库(.so 文件)

  • 在编译前先用 ldconfig -p | grep 库名 检查是否已安装。如果缺失,同样需要下载对应的 libxxx-devlibxxx 包离线安装。
  • 可以先用 ldd 检查一个已有的可执行文件,查看它依赖的库是否都在。

验证安装结果

安装完成后,用以下方法确认软件可用:

  1. 版本检查
   nginx -v
   python3 --version
  1. which 定位路径
   which nginx
  1. 启动服务测试(如果是服务类软件):
   sudo systemctl start nginx
   systemctl status nginx
  1. 检查依赖库完整性(针对编译安装):
   ldd /usr/local/myapp/bin/program

如果所有显示 not found 的库都解决,则安装成功。

总结

掌握 Linux 离线安装软件完整步骤 是运维必备技能。
核心要点:提前在联网机器上下载所有依赖并打包;
离线服务器上用 dpkg -irpm -ivh 批量安装;
遇到依赖问题先用 -flocalinstall 自动修复;
最后用版本号、服务状态验证。
按照本文步骤操作,就算零基础也能顺利完成内网部署。

分享到:
上一篇
手把手教你Linux与Windows文件互传配置(
下一篇
Linux多用户权限隔离配置实操教程:从零开始隔离用户目录
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意