GNU/Linux >> Linux Esercitazione >  >> Fedora

Ciò che gli utenti e i packager Linux devono sapere su Podman 4.0 su Fedora

Il Podman 4.0 appena rilasciato presenta una riscrittura completa dello stack di rete basato su Netavark e Aardvark, che funzionerà insieme allo stack CNI (Container Networking Interface) esistente.

Netavark è uno strumento basato su Rust per la configurazione della rete per i container Linux che funge da sostituto dei plug-in CNI (containernetworking-plugins su Fedora). Aardvark-dns è ora il server DNS autorevole per i record container. Insieme al nuovo stack arrivano le modifiche al packaging della distribuzione insieme alle modifiche alla disponibilità del repository per Fedora 35.

Per gli utenti Fedora

Podman v4 è disponibile come pacchetto Fedora ufficiale su Fedora 36 e Rawhide. Sia Netavark che Aardvark-dns sono disponibili come pacchetti Fedora ufficiali su Fedora 35 e versioni successive e costituiscono lo stack di rete predefinito per le nuove installazioni di Podman 4.0.

Su Fedora 36 e versioni successive, le nuove installazioni di Podman v4 installeranno automaticamente Aardvark-dns insieme a Netavark.

Per installare Podman v4:

$ sudo dnf install podman

Per aggiornare Podman da una versione precedente alla v4:

$ sudo dnf update podman

Poiché Podman v4 presenta alcune modifiche importanti rispetto a Podman v3, gli utenti di Fedora 35 non possono installare Podman v4 utilizzando i repository predefiniti. Tuttavia, se sei ansioso di provarlo, puoi invece utilizzare un repository Copr:

$ sudo dnf copr enable rhcontainerbot/podman4

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

Dopo l'installazione, se desideri migrare tutti i tuoi container per utilizzare Netavark, devi impostare network_backend = "netavark" sotto il [network] sezione nel tuo containers.conf , in genere situato in /usr/share/containers/containers.conf .

Test dell'ultima versione di sviluppo

Se desideri testare l'ultimo codice upstream non rilasciato, prova podman-next Poliziotto:

$ sudo dnf copr enable rhcontainerbot/podman-next

$ sudo dnf install podman

ATTENZIONE:Il podman-next Copr fornisce le ultime fonti inedite di Podman, Netavark e Aardvark-dns come RPM Package Manager (RPM). Questi sovrascriveranno le versioni fornite dai pacchetti ufficiali.

Per i packager Fedora

I sorgenti dei pacchetti Fedora per Podman sono disponibili nel repository di Fedora per la manutenzione dei pacchetti. Il pacchetto Podman principale non dipende più esplicitamente da containernetworking-plugins . Le dipendenze dello stack di rete sono ora gestite in containers-common pacchetto, che consente un unico punto di manutenzione delle dipendenze per Podman e Buildah.

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

- netavark
Provides: container-network-stack = 2

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

Questa configurazione garantisce che:

  • Le nuove installazioni di Podman installeranno sempre Netavark per impostazione predefinita.
  • I containernetworking-plugins il pacchetto non entrerà in conflitto con Netavark e gli utenti possono installarli insieme.

Elenco delle dipendenze in bundle

Se hai bisogno di elencare le dipendenze raggruppate nelle tue fonti di confezionamento, puoi elaborare il go.mod file nella sorgente a monte. Ad esempio, il sorgente di packaging di Fedora utilizza:

$ 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 e Aardvark-dns

I sorgenti forniti da .tar per Netavark e Aardvark-dns saranno allegati come artefatto di rilascio a monte. Quindi puoi creare un file di configurazione Cargo per puntarlo alla directory del fornitore:

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

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

I sorgenti di pacchettizzazione Fedora per Netavark e Aardvark-dns sono disponibili anche nel repository del progetto Fedora.

Le versioni dei pacchetti Fedora delle casse Rust da cui dipendono Netavark e Aardvark-dns sono spesso obsolete (ad esempio, rtnetlink, sha2, zbus e zvariant) al momento della creazione iniziale del pacchetto. Di conseguenza, Netavark e Aardvark-dns vengono creati utilizzando le dipendenze fornite a monte, che si trovano nel vendor sottodirectory.

Il binario netavark viene installato in /usr/libexec/podman/netavark , mentre il binario aardvark-dns è installato su /usr/libexec/podman/aardvark-dns .

Il netavark il pacchetto ha un Recommends sul aardvark-dns pacchetto. Il aardvark-dns il pacchetto verrà installato per impostazione predefinita con Netavark, ma Netavark funzionerà senza di esso.

Elenco delle dipendenze in bundle

Se devi elencare le dipendenze raggruppate nelle tue fonti di imballaggio, puoi eseguire il cargo tree comando nella sorgente a monte. Ad esempio, il sorgente di packaging di Fedora utilizza:

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

Per saperne di più

Spero che questi aggiornamenti siano stati utili. In caso di domande, non esitare ad aprire una discussione su GitHub o contatta me o gli altri manutentori di Podman tramite Slack, IRC, Matrx o Discord. Meglio ancora, ci piacerebbe che tu entrassi a far parte della nostra community come contributore!


No
Fedora
  1. Liste di controllo accessi e unità esterne su Linux:cosa devi sapere

  2. Quello che probabilmente non sapevi su sudo

  3. Che cos'è Podman e come installare Podman in Linux

  4. Cosa devono sapere gli amministratori di sistema sull'utilizzo di Bash

  5. Cosa sapere su Debi a Volume Linux Server

Tutto ciò che devi sapere su Linux OpenSSH Server

Pscp nel sistema Linux:tutto ciò che devi sapere

Tutto ciò che devi sapere sul sistema operativo Linux Zorin

Tutto ciò che devi sapere sul sistema operativo Peppermint Linux

Tutto ciò che devi sapere su Linux Mint Distro

Tutto ciò che devi sapere sugli inode in Linux