이 페이지에서는 Artifact Registry Apt 저장소에서 Debian 패키지를 설치하도록 VM을 구성하는 방법을 설명합니다.
시작하기 전에
대상 Apt 저장소가 없으면 새 표준 또는 원격 저장소를 만듭니다. 비공개 저장소 또는 인증이 필요 없는 공개 저장소를 만들 수 있습니다.
Apt 저장소에 액세스하도록 VM 준비
비공개 저장소
액세스 권한을 부여하는 데 사용할 서비스 계정을 선택합니다.
서비스 계정에 저장소 액세스 권한을 부여합니다.
VM이 저장소에 액세스할 수 있도록 준비합니다.
Compute Engine VM
Debian VM
VM에
cloud-platform
API 액세스 범위를 할당합니다. 액세스 범위 설정에 대한 자세한 내용은 인스턴스의 서비스 계정 및 액세스 범위 변경을 참조하세요.다음 명령어를 사용하여 Apt를 업데이트합니다.
sudo apt update
VM에
apt-transport-artifact-registry
패키지를 설치합니다.sudo apt install apt-transport-artifact-registry
Ubuntu VM
다음 명령어를 사용하여 Apt 저장소 서명 키를 설치합니다.
curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add - && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
LOCATION
을 저장소 위치로 바꿉니다.VM에
cloud-platform
API 액세스 범위를 할당합니다. 액세스 범위 설정에 대한 자세한 내용은 인스턴스의 서비스 계정 및 액세스 범위 변경을 참조하세요.다음 명령어를 사용하여 Artifact Registry 패키지에 액세스하도록 VM을 구성합니다.
echo 'deb http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
다음 명령어를 사용하여 Apt를 업데이트합니다.
sudo apt update
VM에
apt-transport-artifact-registry
패키지를 설치합니다.sudo apt install apt-transport-artifact-registry
기타 VM
다음 명령어를 사용하여 Apt 저장소 서명 키를 설치합니다.
curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add - && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
LOCATION
을 저장소 위치로 바꿉니다.다음 명령어를 사용하여 Artifact Registry 패키지에 액세스하도록 VM을 구성합니다.
echo 'deb http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
다음 명령어를 사용하여 Apt를 업데이트합니다.
sudo apt update
VM에
apt-transport-artifact-registry
패키지를 설치합니다.sudo apt install apt-transport-artifact-registry
/etc/apt/apt.conf.d/90artifact-registry
파일에서#Service-Account-JSON "/path/to/creds.json";
줄을 찾은 다음 이 줄의 주석 처리를 삭제하고 서비스 계정 키의 경로를 추가합니다.구성 파일 항목:
Service-Account-JSON "PATH_TO_SERVICE_ACCOUNT_KEY";
여기서
PATH_TO_SERVICE_ACCOUNT_KEY
를 서비스 계정 키 JSON 파일 경로로 바꾸세요.
공개 저장소
저장소에 대한 공개 액세스를 구성합니다.
Google Cloud 외부에서 VM을 구성하는 경우 저장소에 액세스하도록 머신을 준비합니다. Compute Engine VM을 구성하는 경우 다음 단계로 진행합니다.
다음 명령어를 사용하여 공개 서명 확인 키를 설치합니다.
curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add -
LOCATION
을 저장소 위치로 바꿉니다.다음 명령어를 사용하여 Apt를 업데이트합니다.
sudo apt update
표준 Apt 저장소에 액세스하도록 VM 구성
Apt 저장소에 액세스하도록 VM을 구성합니다.
gcloud beta artifacts print-settings apt
명령어를 실행하여 VM 구성 명령어를 생성합니다.gcloud beta artifacts print-settings apt \ --repository=REPOSITORY \ --location=LOCATION
다음을 바꿉니다.
- LOCATION은 리전 또는 멀티 리전 위치입니다.
- REPOSITORY는 Artifact Registry 저장소의 이름입니다.
출력은 다음과 비슷합니다.
# To configure your package manager with this repository: # Update Apt: sudo apt update # Install the Apt credential helper: sudo apt install apt-transport-artifact-registry # Configure your VM to access Artifact Registry packages using the following # command: echo "deb ar+https://LOCATION-apt.pkg.dev/projects/PROJECT REPOSITORY main" | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list # Update Apt: sudo apt update
print-settings
명령어 출력에서echo
명령어를 사용하여 저장소에서 패키지를 가져오도록 Apt를 구성합니다.예를 들어
my-project
프로젝트와us-central1
위치에 있는 공개 저장소my-repo
의 패키지를 설치하려면 다음 명령어를 사용합니다.echo 'deb ar+https://us-central1-apt.pkg.dev/projects/my-project my-repo main'
다음 명령어로 저장소 소스를 업데이트합니다.
sudo apt update
이제 Apt를 저장소에 연결할 수 있습니다.
추가 Apt 저장소를 만드는 경우 이를 artifact-registry.list
파일에 추가한 후 sudo apt update
를 다시 실행하여 저장소 소스를 업데이트할 수 있습니다.
원격 Apt 저장소에 액세스하도록 VM 구성
표준 업스트림 Apt 저장소 대신 원격 Apt 저장소만 사용하도록 VM을 구성하려면 VM의 /etc/apt/sources.list
파일에서 표준 저장소를 원격 저장소로 교체합니다.
기본 Compute Engine 서비스 계정에 프로젝트 전체 Artifact Registry 쓰기 권한을 부여합니다.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --role=roles/artifactregistry.writer
VM 인스턴스 페이지로 이동합니다.
VM이 있는 행에서 SSH를 클릭합니다.
VM의 터미널 세션이 있는 새 창이 열립니다.
VM의
/etc/apt/sources.list
파일을 열고 새 원격 저장소로 교체할 표준 저장소를 찾습니다.표준 저장소 줄을 삭제하고 다음으로 바꿉니다.
deb ar+https://LOCATION-apt.pkg.dev/remote/PROJECT_ID/REMOTE_REPOSITORY_NAME UPSTREAM_REPOSITORY_NAME COMPONENTS
다음을 바꿉니다.
LOCATION
을 원격 저장소의 리전 또는 멀티 리전 위치로 바꿉니다.PROJECT_ID
를 VM의 프로젝트 ID로 바꿉니다.REMOTE_REPOSITORY_NAME
을 원격 저장소에 지정한 이름으로 바꿉니다.UPSTREAM_REPOSITORY_NAME
을 원격의 업스트림 저장소 이름으로 바꿉니다.COMPONENTS
를 공백으로 구분된 구성요소 이름 목록으로 바꿉니다.
예를 들어 다음은
buster
를main
,contrib
및non-free
구성 요소에 대한 업스트림 저장소로 사용하여us-east1
위치에 있는my-project
프로젝트의my-repo
저장소에서 패키지를 가져오도록 VM을 구성합니다.deb ar+https://us-east1-apt.pkg.dev/remote/my-project/my-repo buster main contrib non-free
다음 명령어로 저장소 소스를 업데이트합니다.
sudo apt update
이제 Apt를 저장소에 연결할 수 있습니다.
원격 Apt 저장소를 백업으로 사용
표준 업스트림을 첫 번째 옵션으로 유지하고 원격 저장소를 대체 옵션으로 추가하려면 sources.list
파일에 표준 업스트림을 유지하고 원격 저장소를 sources.list
파일 끝에 추가하거나 새 목록을 sources.list.d
폴더에 만들면 됩니다.
sources.list.d
폴더에 새 artifact-registry.list
파일을 만들려면 다음 명령어를 실행합니다.
echo 'deb ar+https://LOCATION-apt.pkg.dev/remote/PROJECT_ID/REMOTE_REPOSITORY_NAME UPSTREAM_REPOSITORY_NAME COMPONENTS' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
다음을 바꿉니다.
LOCATION
을 원격 저장소의 리전 또는 멀티 리전 위치로 바꿉니다.PROJECT_ID
를 VM의 프로젝트 ID로 바꿉니다.REMOTE_REPOSITORY_NAME
을 원격 저장소에 지정한 이름으로 바꿉니다.UPSTREAM_REPOSITORY_NAME
을 원격의 업스트림 저장소 이름으로 바꿉니다.COMPONENTS
를 공백으로 구분된 구성요소 이름 목록으로 바꿉니다.
추가 Apt 저장소를 만드는 경우 이를 artifact-registry.list
또는 sources.list
파일에 추가한 후 sudo apt update
를 다시 실행하여 저장소 소스를 업데이트할 수 있습니다.
Apt 저장소에 대한 HTTP 액세스 구성
SSL 암호화를 지원하지 않는 이전 클라이언트 도구를 사용하는 경우 Apt 저장소에 대한 공개 액세스를 구성하고 HTTP를 통해 액세스할 수 있습니다. HTTP를 사용하여 읽을 수 있는 공개 저장소로 전송된 요청은 인증 토큰이 요청과 함께 제공되면 거부됩니다.
저장소에 대한 공개 액세스를 구성합니다.
HTTP를 사용하여 저장소에서 패키지를 가져오도록 Apt를 구성하려면 다음 명령어를 실행합니다.
echo 'deb http://LOCATION-apt.pkg.dev/projects/PROJECT_ID \ REPOSITORY main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
다음을 바꿉니다.
- LOCATION을 저장소 위치로 바꿉니다.
- PROJECT_ID를 저장소의 프로젝트 ID로 바꿉니다.
- REPOSITORY를 저장소 이름으로 바꿉니다.
예를 들어 HTTP 사용하여
my-project
프로젝트와us-central1
위치에 있는 공개 저장소my-repo
의 패키지를 설치하려면 다음 명령어를 사용합니다.echo 'deb http://us-central1-apt.pkg.dev/projects/my-project my-repo main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
다음 명령어로 저장소 소스를 업데이트합니다.
sudo apt update
이제 Apt를 저장소에 연결할 수 있습니다.
추가 Apt 저장소를 만드는 경우 이를 artifact-registry.list
파일에 추가한 후 sudo apt update
를 다시 실행하여 저장소 소스를 업데이트할 수 있습니다.