Configurar el repositorio CodeIT en Ubuntu y Debian

Repositorio CodeIT

Compilaciones de nginx y Apache httpd con HTTP/3, TLS 1.3 y Brotli para Ubuntu y Debian.

Compatible con: Ubuntu 22.04 (jammy) y Ubuntu 24.04 (noble) para las arquitecturas amd64 y arm64. También funcionan los derivados de Ubuntu, como Linux Mint; use la versión de Ubuntu en la que se basan.

Instalación rápida

Detecta la versión del sistema e instala el paquete de repositorio correspondiente:

curl -fsSL https://repo.codeit.guru/setup | sudo sh

Para ver exactamente qué haría sin modificar el sistema:

curl -fsSL https://repo.codeit.guru/setup | sh -s -- --print

Eso es todo lo que hace: identifica la versión del sistema e instala un paquete. Si prefiere no enviar un script directamente al intérprete de comandos, use la sección siguiente; el resultado es el mismo.

Instalación sin el script

Elija la versión del sistema. El paquete instala la fuente de apt y la clave de firma.

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

¿Qué versión estoy usando?

. /etc/os-release; echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}"

En Mint, Pop!_OS y sistemas similares, use UBUNTU_CODENAME . La variable VERSION_CODENAME contiene el nombre propio del sistema derivado, que no corresponde a ninguna distribución que publiquemos.

Hay un paquete para cada versión porque apt, a diferencia de dnf, no puede expandir una variable dentro de un archivo de fuentes: el nombre en clave debe escribirse de forma explícita.

Instalación verificada

Para quienes prefieran inspeccionar un paquete antes de instalarlo. Todos los pasos son opcionales y el resultado es idéntico.

Sustituya jammy por el nombre en clave de su versión en todas las órdenes.

1. Descargue el paquete sin instalarlo

curl -fsSLO https://repo.codeit.guru/codeit-repo-release.jammy.deb

2. Examine su contenido

dpkg -I codeit-repo-release.jammy.deb    # control data, dependencies
dpkg -c codeit-repo-release.jammy.deb    # every file it installs

Contiene dos archivos: una fuente de apt y un llavero. No hay scripts del mantenedor, por lo que el paquete no ejecuta ningún código al instalarse.

3. Examine la fuente de apt que se añadirá

dpkg-deb --fsys-tarfile codeit-repo-release.jammy.deb \
  | tar -xO ./etc/apt/sources.list.d/codeit.sources

4. Compare la clave con la huella digital publicada más abajo

dpkg-deb --fsys-tarfile codeit-repo-release.jammy.deb \
  | tar -xO ./usr/share/keyrings/codeit-archive-keyring.asc \
  | gpg --show-keys --with-fingerprint

Compárela con la tabla de Claves de firma.

De dónde procede la confianza. El paquete se descarga mediante HTTPS y no está firmado por sí mismo. En apt, la firma se encuentra en el archivo Release del repositorio, y solo puede comprobarse después de instalar la clave. Por eso, el paso importante es comprobar la huella digital anterior, cuya fiabilidad depende de la confianza que tenga en esta página. Si eso no basta para su modelo de amenazas, obtenga primero la huella digital por un segundo canal.

5. Instale el archivo que acaba de inspeccionar

sudo dpkg -i ./codeit-repo-release.jammy.deb
sudo apt-get update

Instalar paquetes

sudo apt-get install -y nginx
sudo apt-get install -y apache2

Las dos familias están en una misma distribución, por lo que no hay que habilitar nada antes: los flujos de módulos de Enterprise Linux no tienen equivalente en apt.

Para fijar un paquete a este repositorio o comprobar desde qué origen se instalaría:

apt policy nginx

Comprobar la instalación

apt policy | grep -i codeit
ls -l /etc/apt/sources.list.d/codeit.sources
ls -l /usr/share/keyrings/codeit-archive-keyring.asc

La ejecución correcta de apt-get update sin avisos NO_PUBKEY ni signature significa que el archivo Release del repositorio se verificó correctamente con la clave instalada.

Repositorio de pruebas

Se instala una segunda entrada deshabilitada para las compilaciones preliminares. Para activarla, cambie Enabled: no por Enabled: yes en el segundo bloque:

sudoedit /etc/apt/sources.list.d/codeit.sources
sudo apt-get update

El repositorio de pruebas contiene compilaciones que aún no se han publicado. No lo deje habilitado en ningún sistema importante.

Claves de firma

Los paquetes de Ubuntu y Debian se firman con una única clave.

Uso Clave Huella digital
Ubuntu, Debian EL 8, 9, 10 MasterOfDevon <[email protected]> RSA 2048, 2021-12-08 A841 3774 B3FA A303 D8A6  CD79 5F53 E10D 0918 7DCD

Para mostrar la huella digital de la clave instalada en el sistema:

gpg --show-keys --with-fingerprint /usr/share/keyrings/codeit-archive-keyring.asc

La clave no se añade al llavero global de apt, ni debe añadirse. Se instala como un archivo y se referencia mediante Signed-By: en codeit.sources, por lo que solo puede validar este repositorio. Una clave añadida con apt-key se considera de confianza para todos los repositorios del sistema; por eso esa orden está obsoleta y ya no existe en las versiones actuales.

Eliminar el repositorio

sudo apt-get remove -y codeit-repo-release
sudo apt-get update

Al eliminarlo también se quitan la fuente de apt y el llavero. Los paquetes ya instalados permanecen; elimínelos antes si tampoco quiere conservarlos.