적합한 저장소. "아키텍처" 옵션이 작동하는 방식. 어떤 값을 사용할 수 있는지 어떻게 결정합니까?

적합한 저장소. "아키텍처" 옵션이 작동하는 방식. 어떤 값을 사용할 수 있는지 어떻게 결정합니까?

저는 Ubuntu_22.04 노드에 두 개의 적절한 저장소를 설정하기 위해 ansible을 사용하고 있습니다.

aarch64Ansible에는 다음 예에 제공된 {{ ansible_architecture }}라는 변수가 있습니다 .

Podman과 docker에 대한 두 개의 저장소를 설정하는 데 사용했습니다.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 파일을 쉽게 찾을 수 있습니다..

관련 정보