私はUbuntu_22.04ノードに2つの適切なストレージを設定するためにansibleを使用しています。
aarch64
Ansibleには、次の例で提供されている{{ansible_architecture}}という変数があります。
私はPodmanとdockerの2つのリポジトリを設定するために使用しました。DEB822ソース形式。 .sources ファイルは次のとおりです/etc/apt/sources.list.d/
。
X-Repolib-Name: podman
Signed-By: /etc/apt/keyrings/podman.asc
URIs: https://download.opensuse.org/repositories/devel:kubic:libcontainers:unstable/xUbuntu_22.04
Suites: /
Architectures: aarch64
Enabled: yes
Types: deb
X-Repolib-Name: docker
Signed-By: /etc/apt/keyrings/docker.asc
URIs: https://download.docker.com/linux/ubuntu
Suites: jammy
Components: stable
Architectures: aarch64
Enabled: yes
Types: deb
Podmanリポジトリはうまく機能しますが、dockerリポジトリには次のものが必要です。arm64
N: Skipping acquire of configured file 'stable/binary-aarch64/Packages' as repository 'https://download.docker.com/linux/ubuntu jammy InRelease' doesn't support architecture 'aarch64'
aarch64
だから私の質問は、podmanが許可しますが、docker requrireを許可するので、アーキテクチャを指定するためにどのキーワードを使用できるかを見つける方法ですarm64
。ドッカーページ両方の名前が正確でなければならないことを示していますが、それが私が見つけた唯一のものです。 URIだけで判断できますか?https://download.docker.com/linux/ubuntu/それとも、それを構成した人だけがそれを知っているので、私はチャンスをつかむべきですか?
答え1
Debian派生製品では、64ビットARMのアーキテクチャ名は次のとおりです。arm64
(あなたも見ることができますdpkg-debは私のアーキテクチャをx86-64の代わりにamd64として扱います。)、したがってこの値を使用する必要があります。リポジトリの関連配布ディレクトリ(例:ここにドッカーがあります)またはリポジトリファイルの「Architectures」エントリRelease
(ここにドッカーがあります)。
ほとんどの場合、とにかくストレージ構成ファイルに「アーキテクチャ」エントリを指定する必要はありません。apt
システムスキーマに一致するスキーマが自動的に取得されます。
「アーキテクチャ」を指定する主な理由は、複数のアーキテクチャとその両方をサポートしていないリポジトリからなるシステムにあります。アーキテクチャがamd64の場合でも、i386ファイルを簡単に見つけることができます。。