GNU/Linux >> Belajar Linux >  >> Fedora

Apa yang perlu diketahui oleh pengguna dan pembuat paket Linux tentang Podman 4.0 di Fedora

Podman 4.0 yang baru dirilis menampilkan penulisan ulang lengkap tumpukan jaringan berdasarkan Netavark dan Aardvark, yang akan berfungsi bersama tumpukan Antarmuka Jaringan Kontainer (CNI) yang ada.

Netavark adalah alat berbasis Rust untuk mengonfigurasi jaringan untuk wadah Linux yang berfungsi sebagai pengganti plugin CNI (containernetworking-plugins di Fedora). Aardvark-dns sekarang menjadi server DNS otoritatif untuk catatan kontainer. Seiring dengan tumpukan baru, terjadi perubahan kemasan distro bersama dengan perubahan ketersediaan repositori untuk Fedora 35.

Untuk pengguna Fedora

Podman v4 tersedia sebagai paket Fedora resmi di Fedora 36 dan Rawhide. Netavark dan Aardvark-dns tersedia sebagai paket Fedora resmi pada Fedora 35 dan versi yang lebih baru dan membentuk tumpukan jaringan default untuk instalasi baru Podman 4.0.

Pada Fedora 36 dan yang lebih baru, penginstalan baru Podman v4 akan otomatis menginstal Aardvark-dns bersama dengan Netavark.

Untuk menginstal Podman v4:

$ sudo dnf install podman

Untuk memperbarui Podman dari versi lama ke v4:

$ sudo dnf update podman

Karena Podman v4 menampilkan beberapa perubahan yang melanggar dari Podman v3, pengguna Fedora 35 tidak dapat menginstal Podman v4 menggunakan repositori default. Namun, jika Anda ingin mencobanya, Anda dapat menggunakan repositori Copr sebagai gantinya:

$ sudo dnf copr enable rhcontainerbot/podman4

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

Setelah instalasi, jika Anda ingin memigrasikan semua container Anda untuk menggunakan Netavark, Anda harus menyetel network_backend = "netavark" di bawah [network] bagian di containers.conf . Anda , biasanya terletak di /usr/share/containers/containers.conf .

Menguji versi pengembangan terbaru

Jika Anda ingin menguji kode upstream terbaru yang belum dirilis, coba podman-next Copr:

$ sudo dnf copr enable rhcontainerbot/podman-next

$ sudo dnf install podman

PERHATIAN:podman-next Copr menyediakan sumber Podman, Netavark, dan Aardvark-dns terbaru yang belum pernah dirilis sebagai RPM Package Managers (RPM). Ini akan menggantikan versi yang disediakan oleh paket resmi.

Untuk pembuat paket Fedora

Sumber pengemasan Fedora untuk Podman tersedia di repositori Fedora untuk pemeliharaan paket. Paket Podman utama tidak lagi secara eksplisit bergantung pada containernetworking-plugins . Ketergantungan tumpukan jaringan sekarang ditangani di containers-common package, yang memungkinkan pemeliharaan dependensi satu titik untuk Podman dan Buildah.

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

- netavark
Provides: container-network-stack = 2

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

Konfigurasi ini memastikan bahwa:

  • Instalasi baru Podman akan selalu menginstal Netavark secara default.
  • containernetworking-plugins paket tidak akan bertentangan dengan Netavark, dan pengguna dapat menginstalnya bersama-sama.

Mencantumkan dependensi yang dibundel

Jika Anda perlu mencantumkan dependensi yang dibundel dalam sumber pengemasan Anda, Anda dapat memproses go.mod file di sumber hulu. Misalnya, sumber pengemasan Fedora menggunakan:

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

Sumber vendor .tar untuk Netavark dan Aardvark-dns akan dilampirkan sebagai artefak rilis upstream. Kemudian Anda dapat membuat file konfigurasi Cargo untuk mengarahkannya ke direktori vendor:

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

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

Sumber pengemasan Fedora untuk Netavark dan Aardvark-dns juga tersedia di repositori Proyek Fedora.

Versi paket Fedora dari peti Rust yang menjadi sandaran Netavark dan Aardvark-dns sering kedaluwarsa (misalnya, rtnetlink, sha2, zbus, dan zvariant) pada saat pembuatan paket awal. Akibatnya, Netavark dan Aardvark-dns dibangun menggunakan dependensi yang divendorkan di hulu, ditemukan di vendor subdirektori.

Biner netavark diinstal ke /usr/libexec/podman/netavark , sedangkan biner aardvark-dns diinstal ke /usr/libexec/podman/aardvark-dns .

netavark paket memiliki Recommends pada aardvark-dns kemasan. aardvark-dns paket akan diinstal secara default dengan Netavark, tetapi Netavark akan berfungsi tanpanya.

Mencantumkan dependensi yang dibundel

Jika Anda perlu membuat daftar dependensi yang dibundel dalam sumber pengemasan Anda, Anda dapat menjalankan cargo tree perintah di sumber hulu. Misalnya, sumber pengemasan Fedora menggunakan:

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

Untuk mempelajari lebih lanjut

Saya harap pembaruan ini bermanfaat bagi Anda. Jika Anda memiliki pertanyaan, jangan ragu untuk membuka diskusi di GitHub, atau hubungi saya atau pengelola Podman lainnya melalui Slack, IRC, Matrx, atau Discord. Lebih baik lagi, kami ingin Anda bergabung dengan komunitas kami sebagai kontributor!


No
Fedora
  1. Apa yang perlu diketahui sysadmin tentang menggunakan Bash

  2. Yang Perlu Diketahui Tentang Debi a Volume Server Linux

  3. Apa itu Pengguna SELinux dan bagaimana Memetakan Pengguna Linux ke Pengguna SELinux

  1. Daftar kontrol akses dan drive eksternal di Linux:Apa yang perlu Anda ketahui

  2. Apa yang mungkin tidak Anda ketahui tentang sudo

  3. Apa Itu Podman Dan Bagaimana Cara Menginstal Podman Di Linux

  1. Firewall Linux:Apa yang perlu Anda ketahui tentang iptables dan firewalld

  2. Yang Baru di Stasiun Kerja Fedora 32

  3. Apa yang perlu Anda ketahui tentang IPv6