CodeIT 是一家軟體開發公司,包括 Web 型解決方案。因此,我們經常需要實際可用且版本較新的伺服器軟體,並支援進階的現代功能。例如,為工業級發行版建置、支援 HTTP/2 與 Brotli 壓縮的 NGINX 和 Apache httpd。可是,我們找不到可直接使用的套件。因此,我們為 RHEL/CentOS/Rocky Linux/AlmaLinux/Oracle Linux 發行版建立了自己的套件庫,歡迎您使用:
Enterprise Linux RPM 套件庫
| 版本 | 支援的架構 | 狀態 |
| 6.x | x86_64 | 自 2020 年 12 月起 EOL / 已棄用 |
| 7.x | x86_64 | 自 2024 年 7 月起提供 延伸支援 |
| 8.x | x86_64, aarch64 | 支援中 |
| 9.x | x86_64, aarch64 | 支援中 |
| 10.x | x86_64, aarch64 | 支援中 |
若要啟用 Linux 套件的自動更新,請務必為 RHEL/CentOS 發行版設定 yum 套件庫。
不支持 CentOS Stream,因为 CodeIT 软件包未在该系统上进行测试。
Ubuntu LTS DEB 套件庫
| 版本 | 支援的架構 | 狀態 |
| Ubuntu 22.04 Jammy Jellyfish | x86_64, aarch64 | 測試中 |
| Ubuntu 24.04 Noble Numbat | x86_64, aarch64 | 建置中 |
配置 CodeIT 软件仓库
安装脚本会检测操作系统及其版本,并安装对应的 CodeIT 软件仓库配置包:
curl -fsSL https://repo.codeit.guru/setup | sudo sh
Enterprise Linux(EL 7–10): RHEL, CentOS, AlmaLinux, Rocky Linux, Oracle Linux。
Ubuntu: Ubuntu 22.04 LTS, Ubuntu 24.04 LTS。
链接页面包含手动安装、验证、签名密钥核对及删除软件仓库的说明。
為什麼應該使用這個套件庫?
我們會在這裡發布 nginx 的最新版本,包括「mainline」與「stable」分支。為什麼這些建置版本比官方版本更好?
- 我們將它們靜態連結到 OpenSSL 3.5.0+ 進行建置,該版本包含對 ALPN 的支援,可在 TLS 連線建立階段完成 HTTP/2 協商,同時支援 QUIC(HTTP/3)與 TLS 1.3 RFC 8446。這對我們很重要,因為自 2016 年 5 月起,Google Chrome 取消了 NPN 支援。未支援 ALPN 的環境將只能在 SSL 上使用普通 HTTP/1.1,而無法使用 HTTP/2。
- 透過 ngx_brotli 外掛與 libbrotli 提供內容壓縮支援,其中 libbrotli 以獨立套件形式建置。
目前我們正在持續關注 apache httpd、mod_http2、mc、nghttp2、nghttp3、ngtcp2、openssl quictls、nginx,並定期更新我們的建置版本。未來我們計畫擴充支援的軟體產品清單,請定期查看我們的部落格。當然,SRPM 也可在套件庫中取得。初始版本是基於 OpenSSL 1.0.2h 建置的。套件庫中的套件均使用我們的 GPG key 簽署,我們的公開金鑰在這裡。
CodeIT RPM 软件仓库常见问题
1. 什么是 CodeIT RPM 软件仓库?
CodeIT 是第三方 RPM 软件仓库,为兼容 RHEL 的 Enterprise Linux 发行版提供较新的 Web 服务器和网络组件软件包。它适用于既要保持稳定的 Enterprise Linux 基础,又需要新版 NGINX、Apache httpd、OpenSSL、nghttp2、nghttp3 和 ngtcp2 的系统。
2. CodeIT 软件仓库适合哪些用户?
它面向企业基础设施团队、各类公司、托管服务商、DevOps 工程师、系统管理员、开发者以及 Linux 爱好者,帮助他们在不更换 Enterprise Linux 操作系统的情况下使用现代 Web 基础设施软件包。
3. CodeIT RPM 软件仓库适合企业服务器吗?
适合。常见做法是保留稳定、兼容 RHEL 的操作系统,同时独立更新选定的 Web 技术栈组件。与使用任何第三方软件仓库一样,企业应先在预发布环境中测试软件包更新,并在生产部署前执行既有的变更管理和安全审查流程。
4. 该软件仓库对中小企业有用吗?
有用。企业可以使用标准 RPM 软件包管理,而不必自行维护 Web 服务器软件的源码构建。这能让多台服务器上的安装、升级和部署更易于自动化和复现。
5. 个人开发者和 Linux 爱好者可以使用吗?
可以。该软件仓库也适用于运行兼容 Enterprise Linux 发行版的开发服务器、家庭实验室、测试环境和个人基础设施。
6. 支持哪些 Linux 发行版?
该软件仓库面向兼容 RHEL 的 Enterprise Linux 发行版,包括 Red Hat Enterprise Linux、AlmaLinux、Rocky Linux、Oracle Linux 和 CentOS Linux。EL8、EL9 和 EL10 处于主动支持状态;EL7 按扩展支持条件提供。CentOS Stream 不受支持,因为 CodeIT 软件包未在该系统上进行测试。
7. 支持哪些 CPU 架构?
当前 EL8、EL9 和 EL10 软件仓库支持 x86_64 和 aarch64。EL7 软件包仅提供 x86_64 版本。
8. CodeIT 软件仓库提供哪些软件?
该软件仓库主要提供现代 Web 和网络基础设施组件,包括 NGINX、Apache httpd、mod_http2、OpenSSL 相关软件包、nghttp2、nghttp3、ngtcp2 以及相关依赖和模块。可在软件仓库索引中直接查看现有版本。
9. CodeIT 支持 HTTP/2、HTTP/3、QUIC 和现代 TLS 吗?
CodeIT 构建重点支持现代 Web 协议和 TLS 功能,提供适用于 HTTP/2、TLS 1.3、Brotli 以及 QUIC/HTTP/3 场景的软件包。部分较新的 HTTP/3 功能,尤其是测试仓库中的 Apache mod_http3 软件包,应视为实验性功能,并在用于生产环境前进行测试。
10. CodeIT 可以与 yum 和 dnf 配合使用吗?
可以。CodeIT 是标准 RPM 软件仓库,可用于常规的 yum 和 dnf 软件包管理流程。EL7、EL8、EL9 和 EL10 均提供相应的软件仓库配置包。
11. 可以通过 Ansible、Puppet、Chef 或 CI/CD 自动化管理 CodeIT 吗?
可以。软件包通过标准 yum 和 dnf 软件仓库安装,因此任何支持常规 RPM 操作的配置管理和部署工具都可以管理这些软件包,无需安装 CodeIT 专用代理。
12. 可以在 AWS、Azure、Google Cloud、虚拟机或物理服务器上使用 CodeIT 吗?
可以。该软件仓库不依赖特定托管服务商。只要运行受支持、兼容 RHEL 的操作系统和 CPU 架构,就可以在物理服务器、虚拟机或云实例上使用。
13. CodeIT 会替代 RHEL、AlmaLinux 或 Rocky Linux 的标准软件仓库吗?
不会。CodeIT 用于补充操作系统软件仓库,只提供选定的新版 Web 技术栈和网络组件软件包。底层 Enterprise Linux 发行版仍然负责提供操作系统及其余常规软件包。
14. CodeIT 可以和 EPEL 一起使用吗?
可以。部分 CodeIT 软件包依赖 EPEL 中的库,因此可以同时启用 EPEL 和 CodeIT 软件仓库。例如,当 Apache httpd 的依赖需要 EPEL 时,CodeIT 安装说明会建议启用 EPEL。
15. CodeIT RPM 软件仓库有哪些替代方案?
其他方案包括使用操作系统厂商提供的版本、启用其他第三方软件仓库、使用应用厂商的软件仓库、从源码构建,或在容器中运行较新的软件。需要同时获得标准 RPM 生命周期管理、稳定的 Enterprise Linux 基础以及较新的 Web 技术栈软件包时,CodeIT 尤其合适。
16. 为什么使用 RPM 软件仓库,而不是从源码编译 NGINX、Apache 或 OpenSSL?
借助 Linux 现有管理工具,RPM 软件包更易于安装、盘点、升级、删除,并能在多台服务器上实现可复现部署。源码构建可以提供类似的灵活性,但组织必须自行维护构建流程、软件包跟踪和部署生命周期。
17. CodeIT RPM 软件包经过签名吗?
是的。CodeIT 软件仓库中的软件包使用 GPG 密钥签名,并公布相应的公钥供用户验证软件包。
18. 是否提供源码 RPM 软件包(SRPM)?
提供。SRPM 与二进制软件包一同发布,管理员和开发者可以检查打包方式、重新构建软件包,或根据自身环境进行调整。
19. 如何开始使用 CodeIT RPM 软件仓库?
安装与 Enterprise Linux 版本对应的 CodeIT 软件仓库配置包;需要时启用 EPEL;随后使用 yum 或 dnf 安装或启用所需的软件包流。根据软件和平台的不同,可使用独立的 stable、mainline 和 testing 渠道。
20. CentOS 7 或其他 EL7 系统还能使用 CodeIT 吗?
EL7 作为扩展支持平台提供支持,而不是当前主流 Enterprise Linux 版本。CodeIT 在扩展支持安排下继续提供 CentOS 7 构建。新部署通常应优先选择 EL8、EL9 或 EL10。
