Mengonfigurasi VM untuk menginstal paket Debian

Halaman ini menjelaskan cara mengonfigurasi VM untuk menginstal paket Debian dari repositori Apt Artifact Registry.

Sebelum memulai

Jika repositori Apt target tidak ada, buat repositori standar atau jarak jauh baru. Anda dapat membuat repositori pribadi, atau repositori publik yang tidak memerlukan autentikasi.

Mempersiapkan VM untuk mengakses repositori Apt

Repositori pribadi

  1. Pilih akun layanan yang akan digunakan untuk memberikan akses.

    • Untuk VM Compute Engine, ini mungkin berupa akun layanan default. Artifact Registry secara otomatis mengambil kredensial akun layanan VM Compute Engine untuk VM apa pun menggunakan akun layanan.
    • Untuk VM lainnya, buat atau pilih akun layanan untuk bertindak atas nama VM Anda. Anda memerlukan lokasi file kunci akun layanan untuk mengonfigurasi VM. Anda dapat melihat dan membuat kunci untuk akun yang ada di halaman Service Accounts.
  2. Berikan izin akses repositori ke akun layanan Anda.

  3. Siapkan VM untuk mengakses repositori.

    VM Compute Engine

    VM Debian

    1. Tetapkan cloud-platform cakupan akses API ke VM. Untuk mengetahui informasi tentang cara menetapkan cakupan akses, lihat Mengubah akun layanan dan cakupan akses untuk instance.

    2. Update Apt menggunakan perintah berikut:

      sudo apt update
      
    3. Instal paket apt-transport-artifact-registry di VM:

      sudo apt install apt-transport-artifact-registry
      

    VM Ubuntu

    1. Instal kunci penandatanganan repositori Apt, menggunakan perintah berikut:

      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 -
      

      Ganti LOCATION dengan lokasi repositori.

    2. Tetapkan cloud-platform cakupan akses API ke VM. Untuk mengetahui informasi tentang cara menetapkan cakupan akses, lihat Mengubah akun layanan dan cakupan akses untuk instance.

    3. Konfigurasikan VM Anda untuk mengakses paket Artifact Registry menggunakan perintah berikut:

      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
      
    4. Update Apt menggunakan perintah berikut:

      sudo apt update
      
    5. Instal paket apt-transport-artifact-registry di VM:

      sudo apt install apt-transport-artifact-registry
      

    Pesan Suara Lainnya

    1. Instal kunci penandatanganan repositori Apt, menggunakan perintah berikut:

      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 -
      

      Ganti LOCATION dengan lokasi repositori.

    2. Konfigurasikan VM Anda untuk mengakses paket Artifact Registry menggunakan perintah berikut:

      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
      
    3. Update Apt menggunakan perintah berikut:

      sudo apt update
      
    4. Instal paket apt-transport-artifact-registry di VM:

      sudo apt install apt-transport-artifact-registry
      
    5. Temukan baris #Service-Account-JSON "/path/to/creds.json"; di file /etc/apt/apt.conf.d/90artifact-registry, lalu hapus tanda komentar pada baris dan tambahkan jalur kunci akun layanan Anda.

      Entri file konfigurasi:

      Service-Account-JSON  "PATH_TO_SERVICE_ACCOUNT_KEY";
      

      Ganti PATH_TO_SERVICE_ACCOUNT_KEY dengan jalur ke file JSON kunci akun layanan Anda.

Repositori publik

  1. Konfigurasikan akses publik ke repositori.

  2. Jika Anda mengonfigurasi VM di luar Google Cloud, siapkan mesin untuk mengakses repositori. Jika Anda mengonfigurasi VM Compute Engine, lanjutkan ke langkah berikutnya.

    Instal kunci verifikasi tanda tangan publik, menggunakan perintah berikut:

    curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add -
    

    Ganti LOCATION dengan lokasi repositori.

  3. Update Apt menggunakan perintah berikut:

    sudo apt update
    

Mengonfigurasi VM untuk mengakses repositori Apt standar

Konfigurasikan VM untuk mengakses repositori Apt:

  1. Buat perintah konfigurasi VM dengan menjalankan perintah gcloud beta artifacts print-settings apt:

    gcloud beta artifacts print-settings apt \
        --repository=REPOSITORY \
        --location=LOCATION
    

    Ganti kode berikut:

    • LOCATION adalah lokasi regional atau multi-regional.
    • REPOSITORY adalah nama repositori Artifact Registry.

    Outputnya mirip dengan hal berikut ini:

    # 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
    
  2. Konfigurasikan Apt untuk mengambil paket dari repositori Anda menggunakan perintah echo dari output perintah print-settings.

    Misalnya, untuk menginstal paket dari repositori publik my-repo di project my-project dan di lokasi us-central1, gunakan perintah berikut:

    echo 'deb ar+https://us-central1-apt.pkg.dev/projects/my-project my-repo main'
    
  3. Perbarui sumber repositori Anda dengan perintah berikut:

    sudo apt update
    

{i>Apt<i} sekarang dapat terhubung ke repositori.

Jika membuat repositori Apt tambahan, Anda dapat menambahkannya ke file artifact-registry.list, lalu menjalankan kembali sudo apt update untuk memperbarui sumber repositori.

Mengonfigurasi VM untuk mengakses repositori Apt jarak jauh

Untuk mengonfigurasi VM agar hanya menggunakan repositori Apt jarak jauh, bukan repositori Apt upstream standar, ganti repositori standar dengan repositori jarak jauh Anda di file /etc/apt/sources.list VM.

  1. Berikan izin tulis Artifact Registry di seluruh project ke akun layanan Compute Engine default:

     gcloud projects add-iam-policy-binding PROJECT_ID \
       --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \
       --role=roles/artifactregistry.writer
    
  2. Buka halaman VM instances.

  3. Di baris dengan VM Anda, klik SSH.

    Jendela baru akan terbuka dengan sesi terminal di VM.

  4. Buka file /etc/apt/sources.list VM dan cari repositori standar yang ingin Anda ganti dengan repositori jarak jauh baru.

  5. Hapus baris repositori standar, lalu ganti dengan baris berikut:

    deb ar+https://LOCATION-apt.pkg.dev/remote/PROJECT_ID/REMOTE_REPOSITORY_NAME UPSTREAM_REPOSITORY_NAME COMPONENTS
    

    Ganti kode berikut:

    • LOCATION dengan lokasi regional atau multi-regional dari repositori jarak jauh.
    • PROJECT_ID dengan project ID VM.
    • REMOTE_REPOSITORY_NAME dengan nama yang Anda berikan pada repositori jarak jauh.
    • UPSTREAM_REPOSITORY_NAME dengan nama repositori upstream untuk remote Anda.
    • COMPONENTS dengan daftar nama komponen yang dipisahkan spasi kosong.

    Misalnya, perintah berikut akan mengonfigurasi VM untuk mengambil paket dari repositori my-repo dalam project my-project di lokasi us-east1 menggunakan buster sebagai repositori upstream untuk komponen main, contrib, dan non-free.

    deb ar+https://us-east1-apt.pkg.dev/remote/my-project/my-repo buster main contrib non-free
    
  6. Perbarui sumber repositori Anda dengan perintah berikut:

    sudo apt update
    

    {i>Apt<i} sekarang dapat terhubung ke repositori.

Menggunakan repositori Apt jarak jauh sebagai cadangan

Jika Anda ingin mempertahankan upstream standar sebagai opsi pertama dan menambahkan repositori jarak jauh sebagai opsi penggantian, Anda dapat mempertahankan upstream standar dalam file sources.list, lalu menambahkan repositori jarak jauh ke akhir file sources.list, atau membuat daftar baru di folder sources.list.d.

Untuk membuat file artifact-registry.list baru di folder sources.list.d, jalankan perintah berikut:

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

Ganti kode berikut:

  • LOCATION dengan lokasi regional atau multi-regional dari repositori jarak jauh.
  • PROJECT_ID dengan project ID VM.
  • REMOTE_REPOSITORY_NAME dengan nama yang Anda berikan ke repositori jarak jauh.
  • UPSTREAM_REPOSITORY_NAME dengan nama repositori upstream untuk remote Anda.
  • COMPONENTS dengan daftar nama komponen yang dipisahkan spasi kosong.

Jika membuat repositori Apt tambahan, Anda dapat menambahkannya ke file artifact-registry.list atau sources.list, lalu menjalankan kembali sudo apt update untuk mengupdate sumber repositori.

Mengonfigurasi akses HTTP ke repositori Apt

Jika menggunakan alat klien lama yang tidak mendukung enkripsi SSL, Anda dapat mengonfigurasi akses publik ke repositori Apt dan mengaksesnya melalui HTTP. Permintaan yang dikirim ke repositori yang dapat dibaca publik menggunakan HTTP akan ditolak jika token autentikasi ditampilkan dengan permintaan tersebut.

  1. Konfigurasikan akses publik ke repositori.

  2. Untuk mengonfigurasi Apt agar dapat mengambil paket dari repositori Anda menggunakan HTTP, jalankan perintah berikut:

     echo 'deb http://LOCATION-apt.pkg.dev/projects/PROJECT_ID REPOSITORY main' >> /etc/apt/sources.list.d/artifact-registry.list
    

    Ganti kode berikut:

    • LOCATION dengan lokasi repositori.
    • PROJECT_ID dengan project ID repositori.
    • REPOSITORY dengan nama repositori.

    Misalnya, untuk menginstal paket dari repositori publik my-repo dalam project my-project dan di lokasi us-central1 menggunakan HTTP, gunakan perintah berikut:

    echo 'deb http://us-central1-apt.pkg.dev/projects/my-project my-repo main' >> /etc/apt/sources.list.d/artifact-registry.list
    
  3. Perbarui sumber repositori Anda dengan perintah berikut:

    sudo apt update
    

{i>Apt<i} sekarang dapat terhubung ke repositori.

Jika membuat repositori Apt tambahan, Anda dapat menambahkannya ke file artifact-registry.list, lalu menjalankan kembali sudo apt update untuk memperbarui sumber repositori.

Langkah selanjutnya