GNU/Linux >> LINUX-Kenntnisse >  >> Fedora

Was Linux-Benutzer und Paketierer über Podman 4.0 auf Fedora wissen müssen

Der neu veröffentlichte Podman 4.0 bietet eine vollständige Neufassung des Netzwerk-Stacks basierend auf Netavark und Aardvark, der neben dem bestehenden Container Networking Interface (CNI)-Stack funktionieren wird.

Netavark ist ein auf Rust basierendes Tool zum Konfigurieren von Netzwerken für Linux-Container, das als Ersatz für CNI-Plugins dient (containernetworking-plugins auf Fedora). Aardvark-dns ist jetzt der maßgebliche DNS-Server für Containereinträge. Zusammen mit dem neuen Stack kommen Änderungen der Distributionsverpackung zusammen mit Änderungen der Repository-Verfügbarkeit für Fedora 35.

Für Fedora-Benutzer

Podman v4 ist als offizielles Fedora-Paket für Fedora 36 und Rawhide verfügbar. Sowohl Netavark als auch Aardvark-dns sind als offizielle Fedora-Pakete auf Fedora 35 und neueren Versionen verfügbar und bilden den Standard-Netzwerk-Stack für Neuinstallationen von Podman 4.0.

Auf Fedora 36 und neuer installieren Neuinstallationen von Podman v4 automatisch Aardvark-dns zusammen mit Netavark.

So installieren Sie Podman v4:

$ sudo dnf install podman

So aktualisieren Sie Podman von einer älteren Version auf v4:

$ sudo dnf update podman

Da Podman v4 einige Breaking Changes gegenüber Podman v3 enthält, können Fedora 35-Benutzer Podman v4 nicht mit den Standard-Repositories installieren. Wenn Sie es jedoch unbedingt ausprobieren möchten, können Sie stattdessen ein Copr-Repository verwenden:

$ sudo dnf copr enable rhcontainerbot/podman4

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

Wenn Sie nach der Installation alle Ihre Container zur Verwendung von Netavark migrieren möchten, müssen Sie network_backend = "netavark" festlegen unter [network] Abschnitt in Ihrer containers.conf , normalerweise unter /usr/share/containers/containers.conf .

Testen der neuesten Entwicklungsversion

Wenn Sie den neuesten unveröffentlichten Upstream-Code testen möchten, versuchen Sie es mit podman-next Copr:

$ sudo dnf copr enable rhcontainerbot/podman-next

$ sudo dnf install podman

ACHTUNG:Der podman-next Copr bietet die neuesten unveröffentlichten Quellen von Podman, Netavark und Aardvark-dns als RPM-Paketmanager (RPMs). Diese überschreiben die von den offiziellen Paketen gelieferten Versionen.

Für Fedora-Paketierer

Die Fedora-Paketquellen für Podman sind im Fedora-Repository zur Paketpflege verfügbar. Das Podman-Hauptpaket hängt nicht mehr explizit von containernetworking-plugins ab . Die Netzwerk-Stack-Abhängigkeiten werden jetzt in containers-common behandelt -Paket, das eine einzelne Abhängigkeitsverwaltung für Podman und Buildah ermöglicht.

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

- netavark
Provides: container-network-stack = 2

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

Diese Konfiguration stellt Folgendes sicher:

  • Neue Installationen von Podman installieren standardmäßig immer Netavark.
  • Die containernetworking-plugins Paket wird nicht mit Netavark in Konflikt geraten, und Benutzer können sie zusammen installieren.

Gebündelte Abhängigkeiten auflisten

Wenn Sie die gebündelten Abhängigkeiten in Ihren Paketquellen auflisten müssen, können Sie die go.mod verarbeiten Datei in der Upstream-Quelle. Zum Beispiel verwendet Fedoras Paketquelle:

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

Die .tar-Quelltexte für Netavark und Aardvark-dns werden als Upstream-Release-Artefakt angehängt. Dann können Sie eine Cargo-Konfigurationsdatei erstellen, um sie auf das Herstellerverzeichnis zu verweisen:

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

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

Die Fedora-Paketquellen für Netavark und Aardvark-dns sind auch im Repository des Fedora-Projekts verfügbar.

Die Fedora-Paketversionen der Rust-Kisten, von denen Netavark und Aardvark-dns abhängig sind, sind zum Zeitpunkt der ursprünglichen Paketerstellung häufig veraltet (z. B. rtnetlink, sha2, zbus und zvariant). Infolgedessen werden Netavark und Aardvark-dns unter Verwendung der Abhängigkeiten erstellt, die Upstream bereitgestellt werden und in vendor zu finden sind Unterverzeichnis.

Die Netavark-Binärdatei wird unter /usr/libexec/podman/netavark installiert , während die aardvark-dns-Binärdatei unter /usr/libexec/podman/aardvark-dns installiert wird .

Der netavark Paket hat einen Recommends auf dem aardvark-dns Paket. Der aardvark-dns Paket wird standardmäßig mit Netavark installiert, aber Netavark wird ohne es funktionieren.

Gebündelte Abhängigkeiten auflisten

Wenn Sie die gebündelten Abhängigkeiten in Ihren Paketquellen auflisten müssen, können Sie den cargo tree ausführen Befehl in der Upstream-Quelle. Zum Beispiel verwendet Fedoras Paketquelle:

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

Um mehr zu erfahren

Ich hoffe, Sie fanden diese Updates hilfreich. Wenn Sie Fragen haben, können Sie gerne eine Diskussion auf GitHub eröffnen oder mich oder die anderen Podman-Betreuer über Slack, IRC, Matrx oder Discord kontaktieren. Besser noch, wir würden uns freuen, wenn Sie unserer Community als Mitwirkender beitreten würden!


No
Fedora
  1. Zugriffskontrolllisten und externe Laufwerke unter Linux:Was Sie wissen müssen

  2. Was Sie wahrscheinlich noch nicht über sudo wussten

  3. Was ist Podman und wie installiere ich Podman unter Linux?

  4. Was Systemadministratoren über die Verwendung von Bash wissen müssen

  5. Wissenswertes über Debi a Volume Linux Server

Alles, was Sie über Linux OpenSSH Server wissen müssen

Pscp im Linux-System:Alles, was Sie wissen müssen

Alles, was Sie über Linux Zorin OS wissen müssen

Alles, was Sie über Peppermint Linux OS wissen müssen

Alles, was Sie über die Linux Mint-Distribution wissen müssen

Alles, was Sie über Inodes in Linux wissen müssen