1. 内网离线安装Redis,为什么这么“折腾”?
大家好,我是老张,在运维和开发一线摸爬滚打了十几年,尤其跟各种国产化操作系统和数据库打交道。今天想跟大家聊聊一个非常具体、但又让很多运维兄弟头疼的场景:在纯内网的 openEuler 服务器上,离线安装 Redis。
你可能要问,现在云服务这么方便,为啥还要折腾离线安装?我经历过不少项目,尤其是金融、政务、军工这些对数据安全要求极高的领域,生产环境服务器是绝对不允许连接外网的。所有软件安装、更新,都得靠U盘或者内部文件服务器“摆渡”进去。这时候,yum install 或者 dnf install 这种一键操作就成了奢望,你必须手动解决所有依赖,像玩一个复杂的“套娃”游戏。
openEuler 作为一款优秀的国产操作系统,生态越来越完善,但它的包管理体系和 CentOS 还是有些区别。直接拿 CentOS 的 RPM 包过来装,十有八九会出问题。所以,今天我就把自己踩过的坑、总结出来的经验,手把手分享给你。从怎么搞定 gcc 编译器,到解决 Redis 编译时的各种诡异报错,咱们一步步来,目标是让你在内网环境里也能稳稳当当地把 Redis 跑起来。
2. 战前准备:摸清家底与弹药收集
上战场前,得先知道自己手里有什么枪,敌人长什么样。安装 Redis 之前,准备工作做得好,能省掉后面一大半的麻烦。
2.1 确认系统版本与架构
第一步,连上你的 openEuler 服务器,先看看它的“身份证”。打开终端,输入:
cat /etc/os-release
你会看到类似这样的信息:
NAME="openEuler"
VERSION="22.03 LTS SP3"
ID="openEuler"
...
重点记下 VERSION 这一行,比如我这里是 22.03 LTS SP3。接着,确认 CPU 架构:
uname -m
常见的输出是 x86_64(Intel/AMD 芯片)或者 aarch64(鲲鹏等 ARM 芯片)。这个信息至关重要,下载 RPM 包时,必须选择对应架构的版本,否则根本装不上。
2.2 规划你的“离线安装包”清单
在能上网的机器上(比如你个人的笔记本电脑,或者一台可以通外网的跳板机),我们需要提前下载好所有必需的 RPM 包。别指望只下一个 Redis 源码包就能搞定,编译环境是一道坎。
根据我的经验,一个最小化的 Redis 编译安装,至少需要准备以下核心包:
- 编译工具链:
gcc,gcc-c++,make,binutils。这是编译的基石。 - C 库与基础依赖:
glibc,glibc-devel,kernel-headers。没有它们,连最基本的头文件都找不到。 - Redis 编译特定依赖:虽然 Redis 本身依赖不多,但为了兼容性,
systemd-devel(如果要用 systemd 管理服务)、openssl-devel(如果启用 TLS)最好也备上。
怎么下?如果你手头有一台同样版本、能上网的 openEuler 系统,那就太方便了。直接用 dnf 的 --downloadonly 功能:
# 创建一个目录存放所

1623

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



