尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

在 RHEL/CentOS 上使用 RPM 包安装 FerretDB:下载、安装、验证与 systemd 服务配置全指南

发布时间:2026/9/24 14:37:22

资讯中心
01
ARTICLE

在 RHEL/CentOS 上使用 RPM 包安装 FerretDB:下载、安装、验证与 systemd 服务配置全指南

在 RHEL/CentOS 上使用 RPM 包安装 FerretDB:下载、安装、验证与 systemd 服务配置全指南
后端数据库文档数据库【免费下载链接】FerretDBA truly Open Source MongoDB alternative项目地址https://gitcode.com/gh_mirrors/fe/FerretDB点击查看免费下载本文围绕 FerretDB 官方提供的.rpm二进制包完整讲解在 RHEL、CentOS 及其他基于 RPM 的 Linux 发行版上安装 FerretDB 的标准流程包括包下载、rpm命令安装、版本验证、PostgreSQL 后端准备以及随包附带的 systemd 单元服务的配置方法。读完本文你将能够在一台 RPM 系的服务器上从零把 FerretDB 跑起来并掌握用systemctl管理其开机自启与配置覆盖的关键操作。RPM 包的适用系统与形态FerretDB 为 Linux 平台发布了两类二进制打包格式面向 Debian/Ubuntu 等系统的.deb包见 DEB 包安装指南以及面向 RHEL、CentOS、Fedora、openSUSE 等系统的.rpm包。本文所述安装方式适用于所有基于 RPM 包管理的发行版安装时统一使用系统自带的rpm工具无需额外引入包管理器插件。在 release 页面 与 Taskfile.yml 中生产包production package默认形态文件名如ferretdb-arch-linux.rpm用于绝大多数生产与常规部署场景开发包development package文件名带-dev后缀如ferretdb-dev-arch-linux.rpm包含大量调试与开发辅助特性会显著拖慢运行性能仅适合调试排障不应用于生产环境。两类包都同时发布amd64与arm64两个架构的版本打包任务分别由packages-rpm-production与packages-rpm-development两个 Task 完成。仓库还内置了packages-rpm-check校验任务使用 openSUSE Tumbleweed 容器依次执行rpm --query --info、rpm --install与ferretdb --version以验证 RPM 包可以完整安装并正常启动。第一步下载并安装 RPM 包从 release 页面 下载与你系统架构匹配的最新.rpm包将其重命名为ferretdb.rpm然后在终端执行sudo rpm -i ferretdb.rpmrpm -iinstall 的简写会完成包的安装、文件落盘与依赖检查。根据 build/nfpm.yml 中的包内容定义安装完成后系统上会存在两个关键文件/usr/bin/ferretdbFerretDB 服务端二进制直接暴露为全局命令/etc/systemd/system/ferretdb.servicesystemd 单元文件用于把 FerretDB 注册为系统服务。同时RPM 包的元数据中把postgresql声明为suggests建议依赖而非硬性Requires这与安装文档中FerretDB 不会自动安装 PostgreSQL 或其他后端的说明完全一致——即便系统中没有 PostgreSQL包也能正常安装只是服务无法连接后端。第二步验证安装安装完成后通过版本命令确认二进制可用ferretdb --version--version是 FerretDB 命令行的标准全局标志从 入口实现 可以看到它默认关闭、由用户显式开启命中后打印版本信息并立即退出不会真正启动服务。输出内容包括版本号、commit、分支、构建环境等元数据可据此确认二进制版本与下载页面标注一致。如果命令能正常打印版本信息说明安装成功、二进制可执行。第三步准备 PostgreSQL 后端FerretDB 是一个 MongoDB 兼容层自身不携带数据库引擎。RPM 包安装完成后还需要准备后端数据库才能提供完整服务。RPM 系发行版使用yum安装 PostgreSQLsudo yum install -y postgresql安装 PostgreSQL 后FerretDB 通过FERRETDB_POSTGRESQL_URL或--postgresql-url标志连接后端v1.24 版本的默认连接串为postgres://127.0.0.1:5432/ferretdb即默认假设 PostgreSQL 与本机127.0.0.1:5432端口上运行、存在名为ferretdb的数据库。更完整的连接参数与后端配置说明可参考 配置标志文档 中的 PostgreSQL 与 SQLite 章节。第四步用 systemd 启动并管理服务RPM 包随附的 systemd 单元文件使 FerretDB 可以随系统自动启动这是它相比手动启动二进制的主要优势。仓库中实际打包的单元文件位于 build/ferretdb.service核心内容如下[Unit] DescriptionFerretDB Database Wantsnetwork-online.target Afternetwork-online.target [Service] ExecStart/usr/bin/ferretdb Restarton-failure EnvironmentFERRETDB_POSTGRESQL_URLpostgres://127.0.0.1:5432/postgres [Install] WantedBymulti-user.target可以看到ExecStart直接指向/usr/bin/ferretdbRestarton-failure保证进程异常退出时自动拉起Environment中给出的FERRETDB_POSTGRESQL_URL只是示例值需要按你的实际后端地址改写。注v1.24 版本文档见 systemd 配置指南中的示例默认值为postgres://127.0.0.1:5432/ferretdb而当前主线仓库单元文件示例为postgres://127.0.0.1:5432/postgres。两者均只是占位示例请务必替换为真实连接串。另外官方将该 systemd 单元功能标记为实验性experimental遇到问题时可在社区反馈。修改服务配置systemctl edit ferretdb不要直接编辑/etc/systemd/system/ferretdb.service推荐用 systemd 的覆盖机制进行增量修改sudo systemctl edit ferretdb该命令会打开一个编辑器引导你创建/etc/systemd/system/ferretdb.service.d/override.conf。写入其中的内容会与主单元文件合并、并覆盖同名配置项。例如v1.24 文档给出的 SQLite 后端切换示例[Service] EnvironmentFERRETDB_SQLITE_URLfile:/var/lib/ferretdb/data/ EnvironmentFERRETDB_HANDLERsqliteFerretDB 的每个命令行标志都有对应的FERRETDB_*环境变量kong.DefaultEnvars(FERRETDB)机制见 cmd/ferretdb/main.go因此在 systemd 单元里通过Environment注入环境变量是配置服务最直接的方式。完整标志与环境变量对照表见 配置标志文档。编辑完成后重载并启动服务sudo systemctl daemon-reload sudo systemctl enable --now ferretdb sudo systemctl status ferretdbenable会让服务随系统开机自启--now则立即启动。查看运行日志服务启动后FerretDB 将结构化日志写入标准错误流stderrsystemd 会把该输出统一采集到 journal 中因此排查问题最直接的方式是sudo journalctl -u ferretdb -fFerretDB 支持console、textlogfmt 风格、json等多种日志格式并提供error/warn/info/debug四个级别日志级别与格式均可用--log-level、--log-format及对应环境变量调整。需要注意的是debug级别会输出完整查询与响应体、认证凭据等敏感信息生产环境切勿开启。日志的最近条目也可以通过 MongoDB 协议的getLog命令获取。更多细节见 可观测性文档。升级与卸载常规 RPM 操作日常运维中如需升级到新版本下载新版包后可使用升级安装sudo rpm -Uvh ferretdb.rpm如需卸载sudo rpm -e ferretdb卸载不会删除你已配置的 PostgreSQL 数据库数据/var/lib/ferretdb下的数据目录若使用 SQLite 后端也需要手动清理。从源码看 RPM 包的来龙去脉对想深入理解包的读者仓库的打包链路非常清晰可以从三处源码佐证本文内容包内容定义build/nfpm.yml 声明了包名ferretdb、suggests: postgresql依赖关系以及二进制与 systemd 单元文件的安装路径打包与校验任务Taskfile.yml 中的packages-rpm-production/packages-rpm-development/packages-rpm-check分别负责生产包、开发包的构建以及在 openSUSE 容器内对产物执行安装与--version冒烟验证systemd 单元源文件build/ferretdb.service 就是被打进 RPM 包的那个单元文件systemctl edit覆盖机制正是针对它设计的。这套生产/开发双包 容器内自动化校验的构建流程保证了发布到 release 页面的 RPM 包在多种 RPM 系发行版上的可安装性与一致性。小结在 RHEL/CentOS 等 RPM 系系统上部署 FerretDB整体只有四步下载对应架构的.rpm包 →sudo rpm -i ferretdb.rpm→ 用ferretdb --version验证 → 安装并配置 PostgreSQL 后端。日常运行交由随包附带的 systemd 单元托管用systemctl edit ferretdb注入FERRETDB_*环境变量即可完成绝大多数配置调整。至此你的 MongoDB 兼容服务已经在 RPM 系服务器上稳定运行。赞分享后端数据库文档数据库【免费下载链接】FerretDBA truly Open Source MongoDB alternative项目地址https://gitcode.com/gh_mirrors/fe/FerretDB点击查看免费下载相关推荐30 分钟从零部署AWS CDK Python 工程全流程实战30 分钟从零部署AWS CDK Python 工程全流程实战 读完全文你可以独立完成一次 AWS CDKCloud Development KitPy后端数据库文档数据库在 RHEL/CentOS 上使用 RPM 包安装 FerretDB生产与调试包选择、systemd 配置与 PostgreSQL 部署实战在 RHEL/CentOS 上使用 RPM 包安装 FerretDB生产与调试包选择、systemd 配置与 PostgreSQL 部署实战 FerretDB后端数据库文档数据库在 RHEL/CentOS 上通过 RPM 包安装与运维 FerretDB从 rpm -i 到 systemd 与日志排障的完整指南在 RHEL/CentOS 上通过 RPM 包安装与运维 FerretDB从 rpm i 到 systemd 与日志排障的完整指南 FerretDB 是一款真后端数据库文档数据库上一篇YouTube.js 解析器探秘VideoDescriptionInfocardsSection 节点类深度解析下一篇Phabricator前端框架迁移指南从jQuery到现代框架过渡创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。