Configurar el repositorio CodeIT en Enterprise Linux

Repositorio CodeIT

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

Compatible con: EL 7, 8, 9 y 10 — RHEL, CentOS, AlmaLinux, Rocky Linux y Oracle Linux para las arquitecturas x86_64 y aarch64.

CentOS Stream no es compatible. No probamos los paquetes del repositorio en CentOS Stream.

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 con una sola orden.

Instalación sin el script

Elija la versión del sistema. El paquete configura el repositorio e instala la clave de firma.

EL 9 — RHEL 9, AlmaLinux 9, Rocky 9

sudo dnf install -y https://repo.codeit.guru/codeit-repo-release.el9.rpm

EL 10

sudo dnf install -y https://repo.codeit.guru/codeit-repo-release.el10.rpm

EL 8

sudo dnf install -y https://repo.codeit.guru/codeit-repo-release.el8.rpm

EL 7 — CentOS 7, RHEL 7

sudo yum install -y https://repo.codeit.guru/codeit-repo-release.el7.rpm

¿No sabe qué versión utiliza? rpm -E %{rhel} muestra la generación de EL: 7, 8, 9 o 10. Use este resultado en vez de /etc/redhat-release: en RHEL 7 la versión aparece como 7Server, y los derivados pueden mostrar valores como 9 , 9.4 o 9-stream.

Algunos paquetes necesitan EPEL para resolver sus dependencias. Este paquete ya no habilita EPEL automáticamente; hágalo manualmente si lo necesita:

sudo dnf install -y epel-release

Instalación verificada

Para quienes prefieran inspeccionar un paquete antes de instalarlo. Todos los pasos son opcionales; el resultado es idéntico al de la orden anterior.

Sustituya el9 por la versión de su sistema en todas las órdenes.

1. Descargue el paquete sin instalarlo

curl -fsSLO https://repo.codeit.guru/codeit-repo-release.el9.rpm

2. Examine su contenido

rpm -qip codeit-repo-release.el9.rpm     # description, licence, size
rpm -qlp codeit-repo-release.el9.rpm     # every file it installs
rpm -qp --scripts codeit-repo-release.el9.rpm

La última orden no muestra nada. El paquete no contiene scripts de instalación: solo instala archivos de configuración y claves, y no ejecuta código en ningún momento.

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

rpm2cpio codeit-repo-release.el9.rpm \
  | cpio -i --quiet --to-stdout ./etc/pki/rpm-gpg/RPM-GPG-KEY-codeit \
  | gpg --show-keys --with-fingerprint

Compare la huella digital con la tabla de Claves de firma.

De dónde procede la confianza. El paquete del repositorio se descarga mediante HTTPS, pero su propia firma no demuestra nada hasta que usted ya confía en una de nuestras claves. 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 la huella digital por un segundo canal antes de continuar.

4. Instale el archivo que acaba de inspeccionar

sudo dnf install -y ./codeit-repo-release.el9.rpm

Después, todos los paquetes del repositorio se comprueban automáticamente con esa clave; de ello se encarga gpgcheck=1 en el archivo instalado /etc/yum.repos.d/codeit.repo . Antes de instalar un paquete puede confirmar que está firmado:

sudo dnf download nginx
rpm -Kv nginx-*.rpm

Elegir una rama

EL 8, 9 y 10 — flujos de módulos

nginx se publica en dos flujos y httpd en uno. Habilite el flujo que quiera y, después, instale el paquete de la forma habitual:

sudo dnf module enable -y nginx:codeit-stable      # nginx stable
sudo dnf module enable -y nginx:codeit-mainline    # or nginx mainline
sudo dnf module enable -y httpd:codeit             # Apache httpd

sudo dnf install -y nginx

Ver las opciones disponibles:

dnf module list --disablerepo='*' --enablerepo=CodeIT

EL 7 — repositorio independiente

EL 7 es anterior a los flujos de módulos, por lo que la rama mainline de nginx está en un segundo repositorio, deshabilitado de forma predeterminada:

sudo yum-config-manager --enable CodeIT-mainline --save
sudo yum install -y nginx

Comprobar la instalación

dnf repolist enabled | grep -i codeit
dnf list available --disablerepo='*' --enablerepo=CodeIT | head

En EL 7 utilice yum en lugar de dnf.

Repositorios de pruebas y código fuente

También se instalan dos repositorios deshabilitados. Habilite el que necesite solo para una orden, no de forma permanente:

sudo dnf --enablerepo=CodeIT-testing install nginx    # pre-release builds
sudo dnf --enablerepo=CodeIT-source download --source nginx

CodeIT-testing contiene compilaciones que aún no se han publicado. No lo habilite de forma permanente en ningún sistema importante.

Claves de firma

Las dos claves están publicadas para que pueda verificarlas de forma independiente.

Uso Clave Huella digital
Paquetes para EL 8, 9 y 10 Todos los metadatos del repositorio MasterOfDevon <[email protected]> RSA 2048, 2021-12-08 A841 3774 B3FA A303 D8A6  CD79 5F53 E10D 0918 7DCD
Paquetes para EL 7 teatron (CodeIT) <[email protected]> RSA 2048, 2016-04-29 FF42 C2CE 04DC 87ED 8F22  99AF FBF1 407B 898B 43F4

El paquete para EL 7 instala ambas claves. Los paquetes de EL 7 están firmados con la clave anterior y seguirán así: las máquinas que añadieron el repositorio manualmente antes de que se distribuyera como paquete confían en esa clave y no tienen forma automática de conocer otra. EL 8 y las versiones posteriores instalan únicamente la clave actual.

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

gpg --show-keys --with-fingerprint /etc/pki/rpm-gpg/RPM-GPG-KEY-codeit

Eliminar el repositorio

sudo dnf remove -y codeit-repo-release

Al eliminarlo también se quitan la configuración del repositorio y las claves. Los paquetes ya instalados permanecen; elimínelos antes si tampoco quiere conservarlos.