이 페이지에서는 Artifact Registry Yum 저장소에서 RPM 패키지를 설치하도록 VM을 구성하는 방법을 설명합니다. Artifact Registry Yum 저장소는 yum
및 dnf
클라이언트를 지원합니다.
시작하기 전에
대상 Yum 저장소가 없으면 새 저장소를 만듭니다. 비공개 저장소 또는 인증이 필요 없는 공개 저장소를 만들 수 있습니다.
Yum 저장소에 액세스하도록 VM 준비
VM이 Yum 저장소에 액세스하도록 준비하려면 yum
또는 dnf
클라이언트 도구를 사용합니다.
비공개 저장소
액세스 권한을 부여하는 데 사용할 서비스 계정을 선택합니다.
서비스 계정에 저장소 액세스 권한을 부여합니다.
VM이 저장소에 액세스할 수 있도록 준비합니다.
Compute Engine VM
VM에
cloud-platform
API 액세스 범위를 할당합니다. 액세스 범위 설정에 대한 자세한 내용은 인스턴스의 서비스 계정 및 액세스 범위 변경을 참조하세요.다음 명령어를 사용하여 패키지 캐시를 업데이트합니다.
sudo yum makecache
다음 명령어를 사용하여 VM에 Artifact Registry 플러그인을 설치합니다.
sudo yum install FORMAT-plugin-artifact-registry
다음을 바꿉니다.
FORMAT
을 다음 중 하나로 바꿉니다.yum
(운영체제가 Enterprise Linux 7 이하인 경우)dnf
(운영체제가 Enterprise Linux 8 이상인 경우)
기타 VM
다음 명령어를 사용하여 RPM 서명 키를 설치합니다.
sudo rpm --import https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
다음 콘텐츠로
/etc/yum.repos.d/artifact-registry-plugin.repo
라는 파일을 만듭니다.[ar-plugin] name=Artifact Registry Plugin baseurl=https://packages.cloud.google.com/yum/repos/FORMAT-plugin-artifact-registry-DISTRO-stable enabled=1 gpgcheck=1
다음을 바꿉니다.
FORMAT
을 다음 중 하나로 바꿉니다.yum
(운영체제가 Enterprise Linux 7 이하인 경우)dnf
(운영체제가 Enterprise Linux 8 이상인 경우)
elX
형식의 Red Hat Enterprise Linux 주 출시 버전DISTRO
. 여기서X
은 출시 버전입니다. 유효한DISTRO
값의 예시는el7
및el8
입니다.
다음 명령어를 사용하여 Yum을 업데이트합니다.
sudo yum makecache
다음 명령어를 사용하여 VM에 Artifact Registry 플러그인을 설치합니다.
yum install FORMAT-plugin-artifact-registry
FORMAT
을 다음 중 하나로 바꿉니다.yum
(운영체제가 Enterprise Linux 7 이하인 경우)dnf
(운영체제가 Enterprise Linux 8 이상인 경우)
artifact-registry.conf
파일에서#service_account_json = "/path/to/creds.json"
줄을 찾은 다음 이 줄의 주석 처리를 삭제하고 서비스 계정 키의 경로를 추가합니다.- Enterprise Linux 7 이하 운영체제의 경우 구성 파일 경로는
/etc/yum/pluginconf.d/artifact-registry.conf
입니다. - Enterprise Linux 8 이상 운영체제의 경우 구성 파일 경로는
/etc/dnf/plugins/artifact-registry.conf
입니다.
구성 파일 항목:
service_account_json = "PATH_TO_SERVICE_ACCOUNT_KEY"
여기서
PATH_TO_SERVICE_ACCOUNT_KEY
를 서비스 계정 키 JSON 파일 경로로 바꾸세요.- Enterprise Linux 7 이하 운영체제의 경우 구성 파일 경로는
공개 저장소
- 저장소에 대한 공개 액세스를 구성합니다.
표준 Yum 저장소에 액세스하도록 VM 구성
VM이 Yum 저장소에 액세스하도록 구성하려면 yum
또는 dnf
클라이언트 도구를 사용합니다.
gcloud beta artifacts print-settings yum
명령어를 실행하여 VM 구성 명령어를 생성합니다.gcloud beta artifacts print-settings yum \ --repository=REPOSITORY \ --location=LOCATION
다음을 바꿉니다.
- LOCATION은 리전 또는 멀티 리전 위치입니다.
- REPOSITORY는 Artifact Registry 저장소의 이름입니다.
출력은 다음과 비슷합니다.
# To configure your package manager with this repository: # Update Yum: sudo yum makecache # Install the Yum credential helper: sudo yum install yum-plugin-artifact-registry # Configure your VM to access Artifact Registry packages using the following # command: sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOL [REPOSITORY] name=REPOSITORY baseurl=https://LOCATION-yum.pkg.dev/projects/PROJECT/REPOSITORY enabled=1 repo_gpgcheck=0 gpgcheck=0 EOL # Update Yum: sudo yum makecache
print-settings
명령어 출력에서tee
명령어를 사용하여 저장소에서 패키지를 가져오도록yum
클라이언트 도구를 구성합니다.예를 들어
my-project
프로젝트와us-central1
위치에 있는 공개my-repo
의 패키지를 설치하려면 다음 명령어를 사용합니다.sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOL [my-repo] name=My Repository baseurl=https://us-central1-yum.pkg.dev/projects/my-project/my-repo enabled=1 repo_gpgcheck=0 gpgcheck=0 EOL
다음 명령어로 저장소 소스를 업데이트합니다.
sudo yum makecache
이제 Yum을 저장소에 연결할 수 있습니다.
추가 Yum 저장소를 만드는 경우 /etc/yum.repos.d/
에서 각 저장소에 대해 .repo
파일을 만듭니다. sudo yum update
를 다시 실행하여 저장소 소스를 업데이트합니다.
원격 Yum 저장소에 액세스하도록 VM 구성
표준 업스트림 Yum 저장소 대신 원격 Yum 저장소만 사용하도록 VM을 구성하려면 VM의 저장소 목록에 있는 표준 저장소를 원격 저장소로 바꿉니다.
표준 저장소가 별도의 저장소 파일(.repo
) 대신 구성 파일에 정의된 경우 구성 파일에서 항목을 삭제하여 원격으로 대체하거나 /etc/yum.repos.d/
디렉터리에 새 저장소 파일을 정의할 수 있습니다.
VM 인스턴스 페이지로 이동합니다.
VM이 있는 행에서 SSH를 클릭합니다. VM의 터미널 세션이 있는 새 창이 열립니다.
VM의
/etc/yum.repos.d/
폴더를 열고 표준 업스트림 저장소가 포함된 적절한 저장소 파일(.repo
)을 찾습니다. 기본 저장소라고도 합니다. 기본 저장소는[base]
또는[baseos]
를 포함하는 Yum 저장소 이름으로 식별할 수 있습니다.기본 저장소를 완전히 바꾸려면
[base]
에서 기본 설정을 삭제합니다.[base]
아래에 다음을 추가합니다.[base] name=YUM_REPOSITORY_NAME baseurl=https://LOCATION-yum.pkg.dev/remote/PROJECT_ID/REMOTE_REPOSITORY_NAME enabled=1 gpgcheck=1
다음을 바꿉니다.
YUM_REPOSITORY_NAME
을 원격 Yum 저장소에 대한 한 단어로 된 고유 저장소 ID로 바꿉니다. 이 이름은 구성을 삭제한 경우 업스트림 저장소 이름과 일치하거나, 원격 저장소로 식별하기 위해 다른 이름과 일치할 수 있습니다.REPOSITORY_NAME
을 인간이 읽을 수 있는 저장소 이름으로 바꿉니다.LOCATION
을 원격 저장소의 리전 또는 멀티 리전 위치로 바꿉니다.
PROJECT_ID
를 VM의 프로젝트 ID로 바꿉니다.REMOTE_REPOSITORY_NAME
을 원격 저장소에 지정한 이름으로 바꿉니다.
원격 Yum 저장소를 백업으로 사용
표준 업스트림을 첫 번째 옵션으로 유지하고 원격 저장소를 대체 옵션으로 추가하려면 저장소 파일에 표준 업스트림을 유지하고 /etc/yum.repos.d
폴더.에 새 저장소 파일을 만들 수 있습니다.
/etc/yum.repos.d
폴더에 새 저장소 파일을 만들려면 다음 명령어를 실행하세요.
sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOF
[YUM_REPOSITORY_NAME]
name=REPOSITORY_NAME
baseurl=https://LOCATION-yum.pkg.dev/remote/PROJECT_ID/REMOTE_REPOSITORY_NAME
enabled=1
gpgcheck=1
EOF
다음을 바꿉니다.
YUM_REPOSITORY_NAME
을 원격 Yum 저장소에 대한 한 단어로 된 고유 저장소 ID로 바꿉니다.REPOSITORY_NAME
을 인간이 읽을 수 있는 저장소 이름으로 바꿉니다.LOCATION
을 원격 저장소의 리전 또는 멀티 리전 위치로 바꿉니다.
PROJECT_ID
를 VM의 프로젝트 ID로 바꿉니다.REMOTE_REPOSITORY_NAME
을 원격 저장소에 지정한 이름으로 바꿉니다.
예를 들어 다음 명령어는 Yum이 저장소 my-repo
를 설치할 때 my-project
프로젝트 및 us-east1
위치에 my-repo
저장소를 가져오도록 VM을 구성합니다.
sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOF
[my-repo]
name=My Repository
baseurl=https://us-east1-yum.pkg.dev/remote/my-project/my-repo
enabled=1
gpgcheck=1
EOF