Mengelola paket Debian

Repositori Apt di Artifact Registry memungkinkan Anda mengelola paket Debian secara terpusat dan mempertahankan dependensi software yang konsisten di seluruh workload Linux Anda. Anda dapat menambahkan, melihat, dan menghapus paket, atau menginstalnya di VM yang dikonfigurasi.

Sebelum memulai

  1. Jika repositori Apt target tidak ada, buat repositori baru.
  2. Konfigurasikan VM untuk mengakses repositori.
  3. (Opsional) Konfigurasikan default untuk perintah gcloud.
  4. Pastikan nama paket Anda dalam metadata memenuhi standar nama paket Debian.

Menambahkan paket

Mode repositori: standar

Anda harus memiliki izin baca dan tulis untuk repositori guna menambahkan paket.

Anda dapat mengupload paket ke repositori menggunakan Google Cloud CLI, atau Anda dapat mengimpor paket yang disimpan di Cloud Storage. Jika Anda membangun paket menggunakan Cloud Build, build dapat menyimpan paket di Cloud Storage untuk Anda impor.

Operasi impor atau upload yang sangat lama mungkin melebihi masa berlaku token yang digunakan gcloud CLI untuk memanggil API. Jika Anda memiliki paket dalam jumlah yang sangat besar untuk ditambahkan, pertimbangkan untuk menambahkannya dalam batch yang lebih kecil agar setiap operasi upload atau impor dapat diselesaikan dalam waktu yang lebih singkat. Lihat dokumentasi Pemecahan masalah paket OS untuk mengetahui informasi selengkapnya.

Upload langsung

Gunakan perintah gcloud artifacts apt upload untuk mengupload paket ke repositori Apt:

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

Ganti nilai berikut:

  • REPOSITORY adalah nama repositori Artifact Registry.
  • LOCATION adalah lokasi regional atau multi-regional repositori.
  • PACKAGES adalah jalur ke paket.

Misalnya, untuk mengupload paket my-package.deb ke repositori Apt my-repo di lokasi us-west1, jalankan:

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

Cloud Storage

  1. Upload paket ke Cloud Storage dengan melakukan hal berikut:
    • Upload paket langsung ke bucket Cloud Storage
    • Membangun paket dengan Cloud Build dan menyimpan paket dalam bucket
  2. Jalankan perintah berikut:
    gcloud artifacts apt import REPOSITORY \
      --location=LOCATION \
      --gcs-source=PACKAGES
    

    Ganti nilai berikut:

    • REPOSITORY adalah nama repositori Artifact Registry.
    • LOCATION adalah lokasi regional atau multi-regional repositori.
    • PACKAGES adalah daftar paket yang dipisahkan koma di Cloud Storage. Untuk mengupload semua paket dari direktori, gunakan karakter pengganti direktori (*) atau gunakan karakter pengganti direktori rekursif (**) untuk mengupload semua paket di semua subdirektori.

    Misalnya, untuk mengupload paket package.deb dan semua paket di direktori directory dari bucket my-bucket ke repositori Apt my-repo di lokasi us-west1, jalankan:

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

Setelah operasi upload atau impor selesai, Anda dapat menggunakan konsolGoogle Cloud atau gcloud CLI untuk melihat paket di repositori dan mengonfirmasi bahwa paket tersebut berhasil diupload.

Jika Anda memiliki repositori besar dengan banyak paket, mungkin perlu waktu beberapa menit untuk membuat ulang indeks paket sehingga paket baru dapat dilihat oleh klien Apt.

Melihat paket

Repository modes: standard, remote (preview)

Untuk melihat paket, Anda harus memiliki izin dalam peran Artifact Registry Reader. Artifact Registry tidak mencantumkan file di dalam paket.

Untuk melihat paket dan versi paket menggunakan Google Cloud konsol atau gcloud:

Konsol

  1. Buka halaman Repositori di Google Cloud konsol.

    Buka halaman Repositori

  2. Dalam daftar repositori, klik repositori yang sesuai.

    Halaman Paket mencantumkan paket di repositori.

  3. Klik paket untuk melihat versi paket.

gcloud

Untuk mencantumkan paket di repositori, jalankan perintah berikut:

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

Ganti kode berikut:

  • REPOSITORY adalah nama repositori. Jika Anda mengonfigurasi repositori default, Anda dapat menghapus flag ini untuk menggunakan default.
  • LOCATION adalah lokasi regional atau multi-regional lokasi repositori. Jika Anda mengonfigurasi default lokasi, Anda dapat menghapus flag ini untuk menggunakan default.

Untuk melihat versi paket, jalankan perintah berikut:

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

Ganti kode berikut:

  • PACKAGE adalah ID paket atau ID yang sepenuhnya memenuhi syarat untuk paket.
  • REPOSITORY adalah nama repositori. Jika Anda mengonfigurasi repositori default, Anda dapat menghapus flag ini untuk menggunakan default.
  • LOCATION adalah lokasi regional atau multi-regional lokasi repositori. Gunakan flag ini untuk melihat repositori di lokasi tertentu. Jika Anda mengonfigurasi lokasi default, Anda dapat menghapus flag ini untuk menggunakan default.

Menginstal paket

Repository modes: standard, remote (preview)

Sebelum menginstal paket, pastikan Anda telah mengonfigurasi pengelola paket dan repositori dengan benar.

Untuk menginstal paket di repositori:

  1. Perbarui daftar paket yang tersedia:

    sudo apt update
    
  2. Instal paket, dengan menentukan nama repositori yang dikonfigurasi di Apt.

    sudo apt install PACKAGE/REPOSITORY
    

    Ganti nilai berikut:

    • PACKAGE adalah nama paket.
    • REPOSITORY adalah nama repositori Artifact Registry. Untuk repositori jarak jauh, gunakan nama repositori upstream standar.

    Misalnya, untuk menginstal paket my-package dari repositori my-repo, jalankan perintah:

    sudo apt install my-package -t my-repo
    

Menghapus paket

Mode repositori: standar

Sebelum menghapus paket atau versi paket, pastikan Anda telah mengomunikasikan atau mengatasi semua dependensi penting di dalamnya.

Untuk menghapus paket:

Konsol

  1. Buka halaman Repositori di Google Cloud konsol.

    Buka halaman Repositori

  2. Dalam daftar repositori, klik repositori yang sesuai.

    Halaman Paket mencantumkan paket di repositori.

  3. Pilih paket yang ingin Anda hapus.

  4. Klik DELETE.

  5. Pada kotak dialog konfirmasi, klik HAPUS.

gcloud

Jalankan perintah berikut:

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

Ganti kode berikut:

  • PACKAGE adalah nama paket di repositori.
  • REPOSITORY adalah nama repositori. Jika Anda mengonfigurasi repositori default, Anda dapat menghapus tanda ini untuk menggunakan default.
  • LOCATION adalah lokasi repositori regional atau multi-regional. Gunakan flag ini untuk melihat repositori di lokasi tertentu. Jika Anda mengonfigurasi lokasi default, Anda dapat menghilangkan tanda ini untuk menggunakan default.

Bendera --async menyebabkan perintah langsung kembali, tanpa menunggu operasi yang sedang berlangsung selesai.

Untuk menghapus versi paket:

Konsol

  1. Buka halaman Repositori di Google Cloud konsol.

    Buka halaman Repositori

  2. Dalam daftar repositori, klik repositori yang sesuai.

    Halaman Paket mencantumkan paket di repositori.

  3. Klik paket untuk melihat versi paket tersebut.

  4. Pilih versi yang ingin Anda hapus.

  5. Klik DELETE.

  6. Pada kotak dialog konfirmasi, klik HAPUS.

gcloud

Jalankan perintah berikut:

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

Ganti kode berikut:

  • VERSION adalah nama versi yang akan dihapus.
  • PACKAGE adalah nama paket di repositori.
  • REPOSITORY adalah nama repositori. Jika Anda mengonfigurasi repositori default, Anda dapat menghapus tanda ini untuk menggunakan default.
  • LOCATION adalah lokasi repositori regional atau multi-regional. Gunakan flag ini untuk melihat repositori di lokasi tertentu. Jika Anda mengonfigurasi lokasi default, Anda dapat menghilangkan tanda ini untuk menggunakan default.

Flag --async menyebabkan perintah segera ditampilkan, tanpa menunggu operasi yang sedang berlangsung selesai.

Untuk repositori besar, mungkin perlu waktu beberapa menit untuk membuat ulang indeks paket Apt agar mencerminkan penghapusan.

Langkah berikutnya