GNU/Linux >> Tutoriales Linux >  >> Fedora

Lo que los usuarios y empaquetadores de Linux deben saber sobre Podman 4.0 en Fedora

El Podman 4.0 recientemente lanzado presenta una reescritura completa de la pila de red basada en Netavark y Aardvark, que funcionará junto con la pila existente de la interfaz de red de contenedores (CNI).

Netavark es una herramienta basada en Rust para configurar redes para contenedores de Linux que reemplaza los complementos de CNI (containernetworking-plugins en Fedora). Aardvark-dns es ahora el servidor DNS autorizado para registros de contenedores. Junto con la nueva pila vienen cambios en el empaque de la distribución junto con cambios en la disponibilidad del repositorio para Fedora 35.

Para usuarios de Fedora

Podman v4 está disponible como paquete oficial de Fedora en Fedora 36 y Rawhide. Tanto Netavark como Aardvark-dns están disponibles como paquetes oficiales de Fedora en Fedora 35 y versiones más recientes y forman la pila de red predeterminada para las nuevas instalaciones de Podman 4.0.

En Fedora 36 y posteriores, las instalaciones nuevas de Podman v4 instalarán automáticamente Aardvark-dns junto con Netavark.

Para instalar Podman v4:

$ sudo dnf install podman

Para actualizar Podman de una versión anterior a v4:

$ sudo dnf update podman

Debido a que Podman v4 presenta algunos cambios importantes con respecto a Podman v3, los usuarios de Fedora 35 no pueden instalar Podman v4 usando los repositorios predeterminados. Sin embargo, si está ansioso por probarlo, puede usar un repositorio de Copr en su lugar:

$ sudo dnf copr enable rhcontainerbot/podman4

# install or update per your needs
$ sudo dnf install podman

Después de la instalación, si desea migrar todos sus contenedores para usar Netavark, debe configurar network_backend = "netavark" bajo el [network] sección en su containers.conf , normalmente ubicado en /usr/share/containers/containers.conf .

Probando la última versión de desarrollo

Si desea probar el último código upstream inédito, pruebe el podman-next Copia:

$ sudo dnf copr enable rhcontainerbot/podman-next

$ sudo dnf install podman

PRECAUCIÓN:podman-next Copr proporciona las últimas fuentes inéditas de Podman, Netavark y Aardvark-dns como administradores de paquetes RPM (RPM). Estos anularán las versiones proporcionadas por los paquetes oficiales.

Para empaquetadores de Fedora

Las fuentes de paquetes de Fedora para Podman están disponibles en el repositorio de Fedora para el mantenimiento de paquetes. El paquete principal de Podman ya no depende explícitamente de containernetworking-plugins . Las dependencias de la pila de red ahora se manejan en containers-common paquete, que permite un punto único de mantenimiento de dependencias para Podman y Buildah.

- containers-common
Requires: container-network-stack
Recommends: netavark

- netavark
Provides: container-network-stack = 2

- containernetworking-plugins
Provides: container-network-stack = 1

Esta configuración asegura que:

  • Las nuevas instalaciones de Podman siempre instalarán Netavark de forma predeterminada.
  • Los containernetworking-plugins El paquete no entrará en conflicto con Netavark y los usuarios pueden instalarlos juntos.

Listado de dependencias agrupadas

Si necesita enumerar las dependencias agrupadas en sus fuentes de empaquetado, puede procesar el go.mod archivo en la fuente ascendente. Por ejemplo, la fuente de empaquetado de Fedora usa:

$ awk '{print "Provides: bundled(golang("$1")) = "$2}' go.mod | \
sort | uniq | sed -e 's/-/_/g' -e '/bundled(golang())/d' -e '/bundled(golang(go\
|module\|replace\|require))/d'

Netavark y Aardvark-dns

Las fuentes .tar vendidas para Netavark y Aardvark-dns se adjuntarán como un artefacto de lanzamiento ascendente. Luego puede crear un archivo de configuración de Cargo para apuntarlo al directorio de proveedores:

tar xvf %{SOURCE}
mkdir -p .cargo
cat >.cargo/config << EOF
[source.crates-io]
replace-with = "vendored-sources"

[source.vendored-sources]
directory = "vendor"
EOF

Las fuentes de empaquetado de Fedora para Netavark y Aardvark-dns también están disponibles en el repositorio del Proyecto Fedora.

Las versiones empaquetadas de Fedora de las cajas Rust de las que dependen Netavark y Aardvark-dns suelen estar desactualizadas (por ejemplo, rtnetlink, sha2, zbus y zvariant) en el momento de la creación del paquete inicial. Como resultado, Netavark y Aardvark-dns se construyen utilizando las dependencias proporcionadas en sentido ascendente, que se encuentran en el vendor subdirectorio.

El binario de netavark se instala en /usr/libexec/podman/netavark , mientras que el binario aardvark-dns está instalado en /usr/libexec/podman/aardvark-dns .

El netavark el paquete tiene un Recommends en el aardvark-dns paquete. El aardvark-dns El paquete se instalará de forma predeterminada con Netavark, pero Netavark funcionará sin él.

Listado de dependencias agrupadas

Si necesita enumerar las dependencias agrupadas en sus fuentes de empaquetado, puede ejecutar el cargo tree comando en la fuente ascendente. Por ejemplo, la fuente de empaquetado de Fedora usa:

$ cargo tree --prefix none |  \
awk '{print "Provides: bundled(crate("$1")) = "$2}' | \
sort | uniq

Para saber más

Espero que estas actualizaciones te hayan resultado útiles. Si tiene alguna pregunta, siéntase libre de abrir una discusión en GitHub, o comuníquese conmigo o con los otros mantenedores de Podman a través de Slack, IRC, Matrx o Discord. Mejor aún, ¡nos encantaría que te unas a nuestra comunidad como colaborador!


No
Fedora
  1. Listas de control de acceso y unidades externas en Linux:lo que necesita saber

  2. Lo que probablemente no sabías sobre sudo

  3. ¿Qué es Podman y cómo instalar Podman en Linux?

  4. Lo que los administradores de sistemas deben saber sobre el uso de Bash

  5. Qué debe saber sobre Debi un servidor Linux por volumen

Todo lo que necesita saber sobre el servidor Linux OpenSSH

Pscp en el sistema Linux:todo lo que necesita saber

Todo lo que necesita saber sobre el sistema operativo Linux Zorin

Todo lo que necesita saber sobre el sistema operativo Peppermint Linux

Todo lo que necesita saber sobre la distribución Linux Mint

Todo lo que necesita saber sobre los inodos en Linux