GNU/Linux >> Linux の 問題 >  >> Fedora

LinuxユーザーとパッケージャーがFedora上のPodman4.0について知っておくべきこと

新しくリリースされたPodman4.0は、NetavarkとAardvarkに基づくネットワークスタックの完全な書き直しを特徴としており、既存のContainer Networking Interface(CNI)スタックと一緒に機能します。

Netavarkは、CNIプラグイン(containernetworking-plugins)の代わりとして機能するLinuxコンテナーのネットワークを構成するためのRustベースのツールです。 Fedoraで)。 Aardvark-dnsは、コンテナレコードの信頼できるDNSサーバーになりました。新しいスタックに加えて、Fedora35のリポジトリの可用性の変更に伴うディストリビューションパッケージの変更があります。

Fedoraユーザー向け

Podman v4は、Fedora36およびRawhideの公式Fedoraパッケージとして利用できます。 NetavarkとAardvark-dnsはどちらも、Fedora 35以降のバージョンで公式のFedoraパッケージとして利用可能であり、Podman4.0の新規インストール用のデフォルトのネットワークスタックを形成します。

Fedora 36以降では、Podman v4を新たにインストールすると、NetavarkとともにAardvark-dnsが自動的にインストールされます。

Podman v4をインストールするには:

$ sudo dnf install podman

Podmanを古いバージョンからv4に更新するには:

$ sudo dnf update podman

Podmanv4はPodmanv3からのいくつかの重大な変更を特徴としているため、Fedora35ユーザーはデフォルトのリポジトリーを使用してPodmanv4をインストールすることはできません。ただし、試してみたい場合は、代わりにCoprリポジトリを使用できます。

$ sudo dnf copr enable rhcontainerbot/podman4

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

インストール後、すべてのコンテナを移行してNetavarkを使用する場合は、network_backend = "netavark"を設定する必要があります。 [network]の下 containers.confのセクション 、通常は/usr/share/containers/containers.confにあります 。

最新の開発バージョンのテスト

リリースされていない最新のアップストリームコードをテストする場合は、podman-nextを試してください。 Copr:

$ sudo dnf copr enable rhcontainerbot/podman-next

$ sudo dnf install podman

注意:podman-next Coprは、Podman、Netavark、およびAardvark-dnsの最新の未リリースのソースをRPM Package Manager(RPM)として提供します。これらは、公式パッケージによって提供されるバージョンを上書きします。

Fedoraパッケージャーの場合

PodmanのFedoraパッケージソースは、パッケージのメンテナンスのためにFedoraのリポジトリで入手できます。メインのPodmanパッケージは、containernetworking-pluginsに明示的に依存しなくなりました 。ネットワークスタックの依存関係がcontainers-commonで処理されるようになりました パッケージ。PodmanとBuildahの依存関係を1か所で維持できます。

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

- netavark
Provides: container-network-stack = 2

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

この構成により、次のことが保証されます。

  • Podmanを新規インストールすると、デフォルトで常にNetavarkがインストールされます。
  • containernetworking-plugins パッケージはNetavarkと競合せず、ユーザーはそれらを一緒にインストールできます。

バンドルされた依存関係の一覧表示

パッケージソースにバンドルされている依存関係を一覧表示する必要がある場合は、go.modを処理できます。 アップストリームソースのファイル。たとえば、Fedoraのパッケージソースは以下を使用します:

$ 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およびAardvark-dns

NetavarkおよびAardvark-dnsの.tarベンダーソースは、アップストリームリリースアーティファクトとして添付されます。次に、Cargo構成ファイルを作成して、ベンダーディレクトリを指すようにします。

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

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

NetavarkおよびAardvark-dnsのFedoraパッケージソースは、Fedoraプロジェクトのリポジトリーでも入手できます。

NetavarkおよびAardvark-dnsが依存するRustクレートのFedoraパッケージバージョンは、最初のパッケージ作成時にしばしば古くなっています(たとえば、rtnetlink、sha2、zbus、およびzvariant)。その結果、NetavarkとAardvark-dnは、vendorにあるアップストリームベンダーの依存関係を使用して構築されます。 サブディレクトリ。

netavarkバイナリは/usr/libexec/podman/netavarkにインストールされます 、aardvark-dnsバイナリが/usr/libexec/podman/aardvark-dnsにインストールされている間 。

netavark パッケージにはRecommendsがあります aardvark-dnsで パッケージ。 aardvark-dns パッケージはデフォルトでNetavarkとともにインストールされますが、Netavarkはそれがなくても機能します。

バンドルされた依存関係の一覧表示

パッケージソースにバンドルされている依存関係を一覧表示する必要がある場合は、cargo tree を実行できます。 アップストリームソースのコマンド。たとえば、Fedoraのパッケージソースは以下を使用します:

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

詳細

これらのアップデートがお役に立てば幸いです。ご不明な点がございましたら、GitHubでお気軽にディスカッションを開くか、Slack、IRC、Matrx、Discordを通じて私または他のPodmanメンテナーにご連絡ください。さらに良いことに、私たちはあなたが貢献者として私たちのコミュニティに参加することを望んでいます!


No
Fedora
  1. Linuxのアクセス制御リストと外付けドライブ:知っておくべきこと

  2. Podmanとは何ですか?LinuxにPodmanをインストールする方法

  3. システム管理者がBashの使用について知っておくべきこと

  1. sudoについておそらく知らなかったこと

  2. Debi a Volume Linux Server について知っておくべきこと

  3. SELinux ユーザーとは何か、および Linux ユーザーを SELinux ユーザーにマップする方法

  1. Linuxファイアウォール:iptablesとfirewalldについて知っておくべきこと

  2. Fedora32ワークステーションの新機能

  3. IPv6について知っておくべきこと