Redis离线环境要装GCC,步骤和注意点都得知道,不然装不上咋办
- 问答
- 2026-01-10 11:10:47
- 5
为什么离线装Redis非得先装GCC?Redis这个软件是用C语言写的,你从官网下载下来的那个Redis压缩包,里面全是源代码,就像一堆写满了代码的文本文件,你的电脑没法直接运行这些文本,必须用一个“翻译官”把它转换成电脑能懂的机器语言,这个“翻译官”就是GCC(GNU Compiler Collection),它是Linux系统上最常用的C语言编译器,没有它,你执行make这个编译命令时,系统会直接告诉你“命令未找到”或者编译失败,Redis自然就装不上,在离线环境下,你的首要任务就是把GCC这个“翻译官”连同它需要的所有“工具书”和“帮手”(也就是依赖包)都准备好,搬到你的离线服务器上。
整个离线安装GCC和Redis的过程,可以大致分为三个关键阶段,每个阶段都有需要注意的坑点。
第一阶段:准备阶段——在一台能联网的、操作系统版本尽可能相同的机器上“抓包”
这是最关键的一步,准备工作做得好,后面才能顺风顺水,你不能随便找个电脑下载GCC就完事了,必须找一台和你的离线服务器操作系统一模一样的机器(最好是相同版本号的CentOS、Ubuntu等),这台机器必须有网络。

- 确认离线服务器的系统环境:你要在你的离线服务器上执行命令
cat /etc/os-release,精确记录下操作系统的名称、版本号,比如是CentOS 7.9还是Ubuntu 20.04,这个信息至关重要。 - 搭建一个“模拟环境”:找一台能联网的、和离线服务器系统版本一致的电脑,如果找不到完全一致的,至少也要保证大版本相同(比如都是CentOS 7.x),但要注意,小版本不同可能会带来依赖库版本差异,增加失败风险。
- 使用yum/dnf的离线下载功能:以CentOS为例,你需要用
yum或dnf命令的downloadonly插件来下载GCC及其所有依赖包,但不进行安装。- 确保安装了
downloadonly插件:yum install yum-plugin-downloadonly。 - 创建一个大点的目录来存放下载的包,比如
mkdir /opt/gcc_offline_packages。 - 执行下载命令:
yum install --downloadonly --downloaddir=/opt/gcc_offline_packages gcc,这个命令会分析安装GCC需要哪些软件包,并把它们全部下载到指定的目录里。 - 注意点1:光有
gcc一个包是远远不够的,它依赖glibc、libgcc、cpp等一大堆基础包,所以必须用这种方式让包管理器自动解决依赖关系。 - 注意点2:Redis的编译可能还需要
make工具,所以保险起见,你最好把make也一起下载了:yum install --downloadonly --downloaddir=/opt/gcc_offline_packages make。
- 确保安装了
- 完整打包:下载完成后,将
/opt/gcc_offline_packages这个目录下的所有.rpm文件(如果是CentOS/RHEL系统)打包成gcc_offline_packages.tar.gz,把这个压缩包通过U盘、内网共享等方式,拷贝到你的离线服务器上。
第二阶段:安装阶段——在离线服务器上“手动”安装GCC
你手头已经有了一个包含所有依赖的软件包集合,接下来就是在离线服务器上安装了。

- 上传和解压:将
gcc_offline_packages.tar.gz上传到离线服务器的某个目录,比如/opt,然后解压。 - 使用rpm命令强制安装:进入存放rpm包的目录,执行安装命令,这里有个大坑。
- 错误做法:直接
rpm -ivh *.rpm,这很可能会失败,因为rpm包之间有依赖关系,它不会自动按顺序安装,会提示你先装A才能装B,先装B才能装C的死循环。 - 正确做法:使用
yum或dnf的本地安装功能,它能自动解决依赖关系,命令是:yum localinstall *.rpm或dnf localinstall *.rpm,这个命令会扫描当前目录下的所有rpm包,然后自动计算安装顺序并完成安装。 - 注意点3:如果系统提示缺少某些依赖,而你确信你的包目录里已经有了,可能是包版本冲突或者系统里存在更旧的版本,这时候可以尝试加上
--nogpgcheck(跳过GPG验证)和--disableplugin=fastestmirror(禁用快联镜像)参数,即yum localinstall *.rpm --nogpgcheck --disableplugin=fastestmirror。
- 错误做法:直接
- 验证安装:安装完成后,一定要验证,在终端输入
gcc --version和make --version,如果都能正确输出版本信息,恭喜你,最艰难的一步已经完成了。
第三阶段:编译安装Redis——享受胜利果实
GCC装好后,安装Redis就相对简单了,步骤和在线安装基本一样。
- 上传Redis源码包:将从官网下载的
redis-x.x.x.tar.gz源码包上传到离线服务器,比如/usr/local/src/目录。 - 编译安装:
tar -zxvf redis-x.x.x.tar.gz解压。cd redis-x.x.x进入解压后的目录。make进行编译,这一步就是在调用你刚刚装好的GCC。- 注意点4:如果
make失败,最常见的原因是内存不足,Redis编译需要一定的内存,如果虚拟机或服务器内存太小,可能会编译失败,可以尝试增加交换分区(swap)来解决。 make install安装,这一步会把编译好的redis-server、redis-cli等可执行文件拷贝到系统的/usr/local/bin/目录下。
- 最后验证:输入
redis-server --version,如果能看到版本号,说明Redis安装成功。
总结一下最大的几个注意点:
- 系统一致性:准备包的环境必须和离线环境高度一致,这是成功的基石。
- 依赖完整性:务必使用
yum downloadonly或等价的dnf download命令来抓取所有依赖,不要试图手动一个个找。 - 安装顺序:在离线端,优先使用
yum localinstall而不是rpm -ivh来利用其自动解决依赖的能力。 - 编译环境:确保离线服务器有足够的内存用于编译Redis。
只要按照这个流程,细心操作,离线安装GCC和Redis是完全可行的,这个过程虽然比在线安装麻烦很多,但能让你更深入地理解软件安装的底层依赖关系。
本文由帖慧艳于2026-01-10发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:https://haoid.cn/wenda/78028.html
