Questa pagina descrive come aggiungere, visualizzare ed eliminare i pacchetti Debian nei repository Apt.
Prima di iniziare
- Se il repository Apt di destinazione non esiste, per creare un nuovo repository.
- Configura le VM per accedere al repository.
- (Facoltativo) Configura i valori predefiniti per i comandi gcloud.
- Assicurati che i nomi dei pacchetti nei metadati soddisfino gli standard per i nomi dei pacchetti Debian.
Aggiunta di pacchetti
Modalità del repository: standard
Devi disporre delle autorizzazioni di lettura e scrittura per per aggiungere pacchetti.
Puoi caricare un pacchetto in un repository utilizzando l'interfaccia a riga di comando Google Cloud oppure puoi importarne uno archiviato in Cloud Storage. Se crei pacchetti utilizzando Cloud Build, la build può archiviare i pacchetti in Cloud Storage al posto tuo per eseguire l'importazione.
Le operazioni di importazione o caricamento molto lunghe potrebbero superare il periodo di scadenza del token utilizzato dall'interfaccia a riga di comando gcloud per chiamare l'API. Se disponi di un un numero elevato di pacchetti, valuta la possibilità di aggiungerli in batch più piccoli, ogni operazione di caricamento o importazione può essere completata in meno tempo. Per ulteriori informazioni, consulta la documentazione sulla risoluzione dei problemi dei pacchetti del sistema operativo informazioni.
Caricamento diretto
Utilizza la
Comando gcloud artifacts apt upload
per caricare un pacchetto in un repository Apt:
gcloud artifacts apt upload REPOSITORY \
--location=LOCATION \
--source=PACKAGES
Sostituisci i seguenti valori:
- REPOSITORY è il nome del repository Artifact Registry.
- LOCATION è la località a una o più regioni del repository Git.
- PACKAGES è il percorso del pacchetto.
Ad esempio, per caricare il pacchetto my-package.deb
nel repository Aptmy-repo
nella posizione us-central1
, esegui:
gcloud artifacts apt upload my-repo \ --location=us-central1 \ --source=my-package.deb
Cloud Storage
Carica i pacchetti su Cloud Storage in uno dei seguenti modi:
- Carica i pacchetti direttamente su un Bucket Cloud Storage
- Crea i pacchetti con Cloud Build e archiviali in un bucket
Esegui questo comando:
gcloud artifacts apt import REPOSITORY \ --location=LOCATION \ --gcs-source=PACKAGES
Sostituisci i seguenti valori:
- REPOSITORY è il nome del repository Artifact Registry.
- LOCATION è la località a una o più regioni del repository Git.
- PACKAGES è un elenco separato da virgole di pacchetti in
di archiviazione ideale in Cloud Storage. Per caricare tutti i pacchetti da una directory, utilizza un carattere jolly per le directory (
*
) o un carattere jolly per le directory ricorsive (**) per caricare tutti i pacchetti in tutte le sottodirectory.
Ad esempio, per caricare il pacchetto
package.rpm
e tutti i pacchetti nella directorydirectory
dal bucketmy-bucket
al repository Aptmy-repo
nella posizioneus-central1
, esegui:gcloud artifacts apt import my-repo \ --location=us-central1 \ --gcs-source=gs://my-bucket/path/to/package.deb,gs://my-bucket/directory*
Al termine dell'operazione di caricamento o importazione, puoi utilizzare la console Google Cloud o l'interfaccia a riga di comando gcloud per visualizzare i pacchetti nel repository e confermare che sono stati caricati correttamente.
Se hai un repository di grandi dimensioni con molti pacchetti, potrebbero essere necessari diversi minuti per rigenerare l'indice dei pacchetti in modo che i nuovi pacchetti siano visibili al client Apt.
Visualizzazione dei pacchetti
Modalità del repository: standard, remoto (anteprima)
Per visualizzare i pacchetti, devi disporre delle autorizzazioni in Artifact Registry Ruolo lettore. Artifact Registry non elenca i file all'interno dei pacchetti.
Visualizzazione di pacchetti e versioni dei pacchetti utilizzando la console Google Cloud
o gcloud
:
Console
Apri la pagina Repository nella console Google Cloud.
Nell'elenco dei repository, fai clic sul repository appropriato.
La pagina Pacchetti elenca i pacchetti presenti nel repository.
Fai clic su un pacchetto per visualizzare le sue versioni.
gcloud
Per elencare i pacchetti contenuti in un repository, esegui questo comando:
gcloud artifacts packages list [--repository=REPOSITORY] [--location=LOCATION]
Dove
- REPOSITORY è il nome del repository. Se hai configurato un repository predefinito, puoi omettere questo flag per utilizzare quello predefinito.
- LOCATION è un una o più regioni località. Utilizza questo flag per visualizzare i repository in una posizione specifica. Se configurato una località predefinita, puoi omettere questo flag per utilizzare per impostazione predefinita.
Per visualizzare le versioni di un pacchetto, esegui il comando seguente:
gcloud artifacts versions list --package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION]
Dove
- PACKAGE è l'ID del pacchetto o dell'identificatore completo per il pacchetto.
- REPOSITORY è il nome del repository. Se hai configurato un repository predefinito, puoi omettere questo flag per utilizzare quello predefinito.
- LOCATION è un una o più regioni località. Utilizza questo flag per visualizzare i repository in una posizione specifica. Se hai configurato una posizione predefinita, puoi omettere questo flag per utilizzare la posizione predefinita.
Installazione dei pacchetti
Modalità del repository: standard, remoto (anteprima)
Prima di installare i pacchetti, verifica di aver configurato correttamente il gestore dei pacchetti e il repository.
Per installare un pacchetto nel repository:
Aggiorna l'elenco dei pacchetti disponibili:
sudo apt update
Installa il pacchetto specificando il nome del repository configurato in Apt.
sudo apt install PACKAGE/REPOSITORY
Sostituisci i seguenti valori:
- PACKAGE è il nome del pacchetto.
- REPOSITORY è il nome del repository Artifact Registry. Per i repository remoti, utilizza il nome del repository upstream standard.
Ad esempio, per installare il pacchetto
my-package
dal repositorymy-repo
, esegui il comando:sudo apt install my-package -t my-repo
Eliminazione dei pacchetti
Modalità repository: standard
Prima di eliminare un pacchetto o una versione del pacchetto, verifica di avere che abbia comunicato o gestito eventuali dipendenze importanti.
Per eliminare un pacchetto:
Console
Apri la pagina Repository nella console Google Cloud.
Nell'elenco dei repository, fai clic sul repository appropriato.
La pagina Pacchetti elenca i pacchetti nel repository.
Seleziona il pacchetto da eliminare.
Fai clic su ELIMINA.
Nella finestra di dialogo di conferma, fai clic su ELIMINA.
gcloud
Esegui questo comando:
gcloud artifacts packages delete PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] [--async]
Dove
- PACKAGE è il nome del pacchetto nel repository.
- REPOSITORY è il nome del repository. Se hai configurato un repository predefinito, puoi omettere questo flag per utilizzare quello predefinito.
- LOCATION è un una o più regioni località. Utilizza questo flag per visualizzare i repository in una posizione specifica. Se configurato una località predefinita, puoi omettere questo flag per utilizzare per impostazione predefinita.
--async
Torna immediatamente senza attendere il completamento dell'operazione in corso.
Per eliminare le versioni di un pacchetto:
Console
Apri la pagina Repository nella console Google Cloud.
Nell'elenco dei repository, fai clic sul repository appropriato.
La pagina Pacchetti elenca i pacchetti presenti nel repository.
Fai clic su un pacchetto per visualizzarne le versioni.
Seleziona le versioni da eliminare.
Fai clic su ELIMINA.
Nella finestra di dialogo di conferma, fai clic su ELIMINA.
gcloud
Esegui questo comando:
gcloud artifacts versions delete VERSION \
--package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] \
[--async]
Dove
- PACKAGE è il nome del pacchetto nel repository.
- REPOSITORY è il nome del repository. Se hai configurato default, puoi omettere questo flag per utilizzare il repository predefinito.
- LOCATION è un una o più regioni località. Utilizza questo flag per visualizzare i repository in una posizione specifica. Se hai configurato una posizione predefinita, puoi omettere questo flag per utilizzare la posizione predefinita.
--async
restituisce immediatamente il valore, senza attendere il completamento dell'operazione in corso.
Per i repository di grandi dimensioni, la rigenerazione dell'indice del pacchetto Apt per riflettere le eliminazioni può richiedere alcuni minuti.