CodeIT 软件仓库
面向 Ubuntu 和 Debian 的 nginx 和 Apache httpd 构建,支持 HTTP/3、TLS 1.3 和 Brotli。
支持: Ubuntu 22.04 (jammy) 和
Ubuntu 24.04 (noble),支持 amd64 和
arm64 架构。还支持 Linux Mint 等 Ubuntu 衍生发行版;请使用其所基于的 Ubuntu 版本。
快速安装
检测系统版本并安装匹配的软件仓库配置包:
curl -fsSL https://repo.codeit.guru/setup | sudo sh
要在不修改系统的情况下查看脚本将执行的操作:
curl -fsSL https://repo.codeit.guru/setup | sh -s -- --print
脚本只会识别系统版本并安装一个软件包。如果您不希望将脚本直接传给命令解释器,请使用下一节的方法;结果完全相同。
不使用脚本安装
选择您的系统版本。该软件包会安装 apt 软件源和签名密钥。
Ubuntu 24.04 — noble
curl -fsSLO https://repo.codeit.guru/codeit-repo-release.noble.deb
sudo dpkg -i codeit-repo-release.noble.deb
sudo apt-get update
Ubuntu 22.04 — jammy
curl -fsSLO https://repo.codeit.guru/codeit-repo-release.jammy.deb
sudo dpkg -i codeit-repo-release.jammy.deb
sudo apt-get update
如何查看当前系统版本?
. /etc/os-release; echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}"
对于 Mint、Pop!_OS 等系统,应使用 UBUNTU_CODENAME ;
VERSION_CODENAME 保存的是衍生发行版本身的代号,而我们不会为该代号发布软件包。
每个版本都需要单独的软件包,因为 apt 与 dnf 不同,无法在软件源文件中展开变量;代号必须明确写入文件。
验证后安装
适用于希望在安装前检查软件包内容的用户。以下每一步都是可选的,最终结果完全相同。
在以下所有命令中,将 jammy 替换为您的系统版本代号。
1. 仅下载软件包,不安装
curl -fsSLO https://repo.codeit.guru/codeit-repo-release.jammy.deb
2. 检查软件包内容
dpkg -I codeit-repo-release.jammy.deb # control data, dependencies
dpkg -c codeit-repo-release.jammy.deb # every file it installs
软件包包含两个文件:apt 软件源和密钥环。它没有维护者脚本,因此安装时不会执行任何代码。
3. 查看将要添加的 apt 软件源
dpkg-deb --fsys-tarfile codeit-repo-release.jammy.deb \
| tar -xO ./etc/apt/sources.list.d/codeit.sources
4. 将密钥与下方公布的指纹进行核对
dpkg-deb --fsys-tarfile codeit-repo-release.jammy.deb \
| tar -xO ./usr/share/keyrings/codeit-archive-keyring.asc \
| gpg --show-keys --with-fingerprint
请将其与 签名密钥表格中的值进行比较。
信任依据。 该软件包通过 HTTPS 下载,但软件包自身并未签名。在 apt 中,签名位于软件仓库的
Release 文件中,而且只有安装密钥后才能验证。因此,真正重要的是上面的指纹核对步骤,而它的可靠性取决于您对本页面的信任。如果这不足以满足您的威胁模型,请先通过独立渠道获取指纹。
5. 安装刚刚检查过的文件
sudo dpkg -i ./codeit-repo-release.jammy.deb
sudo apt-get update
安装软件包
sudo apt-get install -y nginx
sudo apt-get install -y apache2
两个软件包系列位于同一个发行套件中,因此无需先启用任何内容;Enterprise Linux 的模块流在 apt 中没有对应机制。
要将软件包固定到此仓库,或查看它将从哪个来源安装:
apt policy nginx
验证安装结果
apt policy | grep -i codeit
ls -l /etc/apt/sources.list.d/codeit.sources
ls -l /usr/share/keyrings/codeit-archive-keyring.asc
成功运行 apt-get update 且没有 NO_PUBKEY 或
signature 警告,表示软件仓库的 Release 文件已使用安装的密钥验证通过。
测试套件
系统还会安装一条默认禁用的预发布构建配置。要启用它,请将第二个配置段中的 Enabled: no 改为 Enabled: yes :
sudoedit /etc/apt/sources.list.d/codeit.sources
sudo apt-get update
测试套件包含尚未正式发布的构建。不要在重要系统上保持启用状态。
签名密钥
Ubuntu 和 Debian 软件包使用同一把密钥签名。
| 用途 | 密钥 | 指纹 |
|---|---|---|
| Ubuntu、Debian EL 8、9、10 | MasterOfDevon
<[email protected]>
RSA 2048,2021-12-08 |
A841 3774 B3FA A303 D8A6 CD79 5F53 E10D 0918 7DCD |
要查看系统中已安装密钥的指纹:
gpg --show-keys --with-fingerprint /usr/share/keyrings/codeit-archive-keyring.asc
该密钥不会加入 apt 的全局密钥环,也不应该加入。它以文件形式安装,并通过
Signed-By: 字段在 codeit.sources中引用,因此只能为此软件仓库提供信任。使用 apt-key 添加的密钥会被 系统中的每个 软件仓库信任;这正是该命令已弃用并从当前发行版中移除的原因。
删除软件仓库
sudo apt-get remove -y codeit-repo-release
sudo apt-get update
此操作会同时删除 apt 软件源和密钥环。已安装的软件包会保留;如果也要删除这些软件包,请先将其卸载。
