Debian 패키지 관리

이 페이지에서는 Apt 저장소에서 Debian 패키지를 추가, 보기, 삭제하는 방법을 설명합니다.

시작하기 전에

  1. 대상 Apt 저장소가 없으면 새 저장소를 만듭니다.
  2. 저장소에 액세스하려면 VM을 구성합니다.
  3. (선택사항) gcloud 명령어의 기본값을 구성합니다.
  4. 메타데이터의 패키지 이름이 Debian 패키지 이름 표준을 충족하는지 확인합니다.

패키지 추가

저장소 모드: 표준

패키지를 추가하려면 저장소에 대한 읽기 및 쓰기 권한이 모두 있어야 합니다.

Google Cloud CLI를 사용하여 저장소에 패키지를 업로드하거나 Cloud Storage에 저장된 패키지를 가져올 수 있습니다. Cloud Build를 사용하여 패키지를 빌드하는 경우 빌드는 패키지를 가져올 수 있도록 Cloud Storage에 저장할 수 있습니다.

가져오기 또는 업로드 작업이 매우 길면 gcloud CLI에서 API를 호출하는 데 사용하는 토큰의 만료 기간을 초과할 수 있습니다. 추가할 패키지가 너무 많으면 각 업로드 또는 가져오기 작업을 더 짧은 시간 내에 완료할 수 있도록 패키지를 더 작은 배치로 추가하는 것을 고려하세요. 자세한 내용은 OS 패키지 문제 해결 문서를 참조하세요.

직접 업로드

gcloud artifacts apt upload 명령어를 사용하여 패키지를 Apt 저장소에 업로드합니다.

gcloud artifacts apt upload REPOSITORY \
    --location=LOCATION \
    --source=PACKAGES

다음 값을 바꿉니다.

  • REPOSITORY는 Artifact Registry 저장소 이름입니다.
  • LOCATION은 저장소의 리전 또는 멀티 리전 위치입니다.
  • PACKAGES는 패키지의 경로입니다.

예를 들어 my-package.deb 패키지를 us-central1 위치의 my-repo Apt 저장소에 업로드하려면 다음을 실행합니다.

gcloud artifacts apt upload my-repo \
    --location=us-central1 \
    --source=my-package.deb

Cloud Storage

  1. 다음 방법 중 하나로 패키지를 Cloud Storage에 업로드합니다.

    • 패키지를 Cloud Storage 버킷에 직접 업로드
    • Cloud Build로 패키지를 빌드하고 버킷에 저장
  2. 다음 명령어를 실행합니다.

    gcloud artifacts apt import REPOSITORY \
        --location=LOCATION \
         --gcs-source=PACKAGES
    

    다음 값을 바꿉니다.

    • REPOSITORY는 Artifact Registry 저장소 이름입니다.
    • LOCATION은 저장소의 리전 또는 멀티 리전 위치입니다.
    • PACKAGES는 Cloud Storage의 쉼표로 구분된 패키지 목록입니다. 디렉터리에서 모든 패키지를 업로드하려면 디렉터리 와일드 카드(*)를 사용하거나 재귀 디렉터리 와일드 카드(**)를 사용하여 모든 하위 디렉터리의 모든 패키지를 업로드합니다.

    예를 들어 package.rpm 패키지와 directory 디렉터리의 모든 패키지를 my-bucket 버킷에서 us-central1 위치의 my-repo Apt 저장소에 업로드하려면 다음을 실행합니다.

    gcloud artifacts apt import my-repo \
       --location=us-central1 \
       --gcs-source=gs://my-bucket/path/to/package.deb,gs://my-bucket/directory*
    

업로드 또는 가져오기 작업이 완료되면 Google Cloud 콘솔 또는 gcloud CLI를 사용하여 저장소의 패키지를 하고 업로드가 성공적으로 완료되었는지 확인할 수 있습니다.

패키지가 많은 대용량 저장소가 있는 경우 새 패키지가 Apt 클라이언트에 표시되도록 패키지 색인을 다시 생성하는 데 몇 분 정도 걸릴 수 있습니다.

패키지 보기

저장소 모드: 표준, 원격(미리보기)

패키지를 보려면 Artifact Registry 리더 역할에 권한이 있어야 합니다. Artifact Registry는 패키지 내의 파일을 나열하지 않습니다.

Google Cloud 콘솔 또는 gcloud를 사용하여 패키지 및 패키지 버전을 보려면 다음 안내를 따르세요.

콘솔

  1. Google Cloud Console에서 저장소 페이지를 엽니다.

    저장소 페이지 열기

  2. 저장소 목록에서 적절한 저장소를 클릭합니다.

    패키지 페이지에 저장소의 패키지가 나열됩니다.

  3. 패키지의 버전을 보려면 패키지를 클릭합니다.

gcloud

저장소의 패키지를 나열하려면 다음 명령어를 실행합니다.

gcloud artifacts packages list [--repository=REPOSITORY] [--location=LOCATION]

주소

  • REPOSITORY은 저장소 이름입니다. 기본 저장소를 구성한 경우 이 플래그를 생략하여 기본값을 사용할 수 있습니다.
  • LOCATION은 리전 또는 멀티 리전 위치입니다. 특정 위치의 저장소를 보려면 이 플래그를 사용합니다. 기본 위치를 구성한 경우 이 플래그를 생략하여 기본값을 사용할 수 있습니다.

패키지 버전을 보려면 다음 명령어를 실행합니다.

gcloud artifacts versions list --package=PACKAGE \
    [--repository=REPOSITORY] [--location=LOCATION]

각 항목의 의미는 다음과 같습니다.

  • PACKAGE는 패키지의 ID 또는 패키지의 정규화된 식별자입니다.
  • REPOSITORY은 저장소 이름입니다. 기본 저장소를 구성한 경우 이 플래그를 생략하여 기본값을 사용할 수 있습니다.
  • LOCATION은 리전 또는 멀티 리전 위치입니다. 특정 위치의 저장소를 보려면 이 플래그를 사용합니다. 기본 위치를 구성한 경우 이 플래그를 생략하여 기본값을 사용할 수 있습니다.

패키지 설치

저장소 모드: 표준, 원격(미리보기)

패키지를 설치하기 전에 패키지 관리자와 저장소를 올바르게 구성했는지 확인합니다.

저장소에 패키지를 설치하려면 다음 안내를 따르세요.

  1. 사용 가능한 패키지 목록을 업데이트합니다.

    sudo apt update
    
  2. Apt에 구성된 저장소의 이름을 지정하여 패키지를 설치합니다.

    sudo apt install PACKAGE/REPOSITORY
    

    다음 값을 바꿉니다.

    • PACKAGE는 패키지 이름입니다.
    • REPOSITORY는 Artifact Registry 저장소의 이름입니다. 원격 저장소의 경우 표준 업스트림 저장소의 이름을 사용합니다.

    예를 들어 my-repo 저장소에서 my-package 패키지를 설치하려면 다음 명령어를 실행합니다.

    sudo apt install my-package -t my-repo
    

패키지 삭제

저장소 모드: 표준

패키지 또는 패키지 버전을 삭제하기 전에 이에 대한 중요한 종속 항목에 대해 논의하거나 처리했는지 확인합니다.

패키지를 삭제하려면 다음 안내를 따르세요.

콘솔

  1. Google Cloud Console에서 저장소 페이지를 엽니다.

    저장소 페이지 열기

  2. 저장소 목록에서 적절한 저장소를 클릭합니다.

    패키지 페이지에 저장소의 패키지가 나열됩니다.

  3. 삭제할 위젯을 선택합니다.

  4. 삭제를 클릭합니다.

  5. 확인 대화상자에서 삭제를 클릭합니다.

gcloud

다음 명령어를 실행합니다.

gcloud artifacts packages delete PACKAGE \
    [--repository=REPOSITORY] [--location=LOCATION] [--async]

주소

  • PACKAGE는 저장소의 패키지 이름입니다.
  • REPOSITORY은 저장소 이름입니다. 기본 저장소를 구성한 경우 이 플래그를 생략하여 기본값을 사용할 수 있습니다.
  • LOCATION은 리전 또는 멀티 리전 위치입니다. 특정 위치의 저장소를 보려면 이 플래그를 사용합니다. 기본 위치를 구성한 경우 이 플래그를 생략하여 기본값을 사용할 수 있습니다.
  • --async는 진행 중인 작업이 완료되기를 기다리지 않고 즉시 반환됩니다.

패키지 버전을 삭제하려면 다음 안내를 따르세요.

콘솔

  1. Google Cloud Console에서 저장소 페이지를 엽니다.

    저장소 페이지 열기

  2. 저장소 목록에서 적절한 저장소를 클릭합니다.

    패키지 페이지에 저장소의 패키지가 나열됩니다.

  3. 패키지의 버전을 보려면 패키지를 클릭합니다.

  4. 삭제할 버전을 선택합니다.

  5. 삭제를 클릭합니다.

  6. 확인 대화상자에서 삭제를 클릭합니다.

gcloud

다음 명령어를 실행합니다.

gcloud artifacts versions delete VERSION \
    --package=PACKAGE \
    [--repository=REPOSITORY] [--location=LOCATION] \
    [--async]

주소

  • PACKAGE는 저장소의 패키지 이름입니다.
  • REPOSITORY은 저장소 이름입니다. 기본 저장소를 구성한 경우 이 플래그를 생략하여 기본값을 사용할 수 있습니다.
  • LOCATION은 리전 또는 멀티 리전 위치입니다. 특정 위치의 저장소를 보려면 이 플래그를 사용합니다. 기본 위치를 구성한 경우 이 플래그를 생략하여 기본값을 사용할 수 있습니다.
  • --async는 진행 중인 작업이 완료되기를 기다리지 않고 즉시 반환합니다.

대규모 저장소의 경우 삭제를 반영하도록 Apt 패키지 색인을 다시 생성하는 데 몇 분 정도 걸릴 수 있습니다.

다음 단계