In questa pagina viene descritta la configurazione delle VM per l'installazione di pacchetti RPM da
un repository Artifact Registry Yum. I repository Artifact Registry Yum supportano
i client yum
e dnf
.
Prima di iniziare
Se il repository Yum di destinazione non esiste, crea un nuovo repository. Puoi creare un repository privato o pubblico che non richiede l'autenticazione.
Prepara una VM per accedere a un repository Yum
Per preparare una VM per l'accesso a un repository Yum, utilizza lo strumento client yum
o dnf
:
Repository privato
Scegli l'account di servizio che utilizzerai per concedere l'accesso.
- Per le VM di Compute Engine, potrebbe essere l'account di servizio predefinito. Artifact Registry recupera automaticamente le credenziali dell'account di servizio VM di Compute Engine per qualsiasi VM utilizzando un account di servizio.
- Per le altre VM, crea o scegli un account di servizio che agisca per conto della tua VM. Avrai bisogno della posizione del file della chiave dell'account di servizio per configurare la VM. Puoi visualizzare e creare chiavi per gli account esistenti nella pagina Account di servizio.
Concedi le autorizzazioni di accesso al repository al tuo account di servizio.
Prepara la VM per accedere al repository.
VM di Compute Engine
Assegna
cloud-platform
ambiti di accesso API alla VM. Per informazioni sull'impostazione degli ambiti di accesso, consulta Modificare l'account di servizio e gli ambiti di accesso per un'istanza.Aggiorna la cache del pacchetto utilizzando il seguente comando:
sudo yum makecache
Installa il plug-in Artifact Registry sulla VM, utilizzando questo comando:
sudo yum install FORMAT-plugin-artifact-registry
Sostituisci quanto segue:
FORMAT
con uno dei seguenti criteri:yum
, se il tuo sistema operativo è Enterprise Linux 7 o versioni precedentidnf
, se il tuo sistema operativo è Enterprise Linux 8 o versioni successive
Altra VM
Installa la chiave di firma RPM utilizzando il seguente comando:
sudo rpm --import https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
Crea un file denominato
/etc/yum.repos.d/artifact-registry-plugin.repo
con il seguente contenuto:[ar-plugin] name=Artifact Registry Plugin baseurl=https://packages.cloud.google.com/yum/repos/FORMAT-plugin-artifact-registry-DISTRO-stable enabled=1 gpgcheck=1
Sostituisci quanto segue:
FORMAT
con uno dei seguenti criteri:yum
, se il tuo sistema operativo è Enterprise Linux 7 o versioni precedentidnf
, se il tuo sistema operativo è Enterprise Linux 8 o versioni successive
DISTRO
con la release principale di Red Hat Enterprise Linux nel formatoelX
, doveX
è la versione. Esempi di valoriDISTRO
validi sonoel7
eel8
.
Aggiorna Yum utilizzando il seguente comando:
sudo yum makecache
Installa il plug-in Artifact Registry sulla VM, utilizzando questo comando:
yum install FORMAT-plugin-artifact-registry
Sostituisci
FORMAT
con uno dei seguenti:yum
, se il tuo sistema operativo è Enterprise Linux 7 o versioni precedentidnf
, se il tuo sistema operativo è Enterprise Linux 8 o versioni successive
Trova la riga
#service_account_json = "/path/to/creds.json"
nel fileartifact-registry.conf
, quindi rimuovi il commento dalla riga e aggiungi il percorso della chiave dell'account di servizio.- Per i sistemi operativi Enterprise Linux 7 o precedenti, il percorso del file di configurazione è
/etc/yum/pluginconf.d/artifact-registry.conf
. - Per i sistemi operativi Enterprise Linux 8 o versioni successive, il percorso del file di configurazione è
/etc/dnf/plugins/artifact-registry.conf
.
Voce del file di configurazione:
service_account_json = "PATH_TO_SERVICE_ACCOUNT_KEY"
Sostituisci
PATH_TO_SERVICE_ACCOUNT_KEY
con il percorso del file JSON della chiave dell'account di servizio.- Per i sistemi operativi Enterprise Linux 7 o precedenti, il percorso del file di configurazione è
Repository pubblico
- Configura l'accesso pubblico al repository.
Configura una VM per accedere a un repository Yum standard
Per configurare una VM per l'accesso a un repository Yum, utilizza lo strumento client yum
o dnf
:
Genera il comando di configurazione della VM eseguendo il comando
gcloud beta artifacts print-settings yum
:gcloud beta artifacts print-settings yum \ --repository=REPOSITORY \ --location=LOCATION
Sostituisci quanto segue:
- LOCATION è una località a livello di una o più regioni.
- REPOSITORY è il nome del repository Artifact Registry.
L'output è simile al seguente:
# To configure your package manager with this repository: # Update Yum: sudo yum makecache # Install the Yum credential helper: sudo yum install yum-plugin-artifact-registry # Configure your VM to access Artifact Registry packages using the following # command: sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOL [REPOSITORY] name=REPOSITORY baseurl=https://LOCATION-yum.pkg.dev/projects/PROJECT/REPOSITORY enabled=1 repo_gpgcheck=0 gpgcheck=0 EOL # Update Yum: sudo yum makecache
Configura lo strumento client
yum
per recuperare i pacchetti dal tuo repository utilizzando il comandotee
dall'output del comandoprint-settings
.Ad esempio, per installare pacchetti dal pubblico
my-repo
nel progettomy-project
e nella localitàus-central1
, utilizza il seguente comando:sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOL [my-repo] name=My Repository baseurl=https://us-central1-yum.pkg.dev/projects/my-project/my-repo enabled=1 repo_gpgcheck=0 gpgcheck=0 EOL
Aggiorna le origini del repository con il seguente comando:
sudo yum makecache
Ora Yum può connettersi al repository.
Se crei altri repository Yum, crea un file .repo
per ciascuno
in /etc/yum.repos.d/
. Esegui di nuovo sudo yum update
per aggiornare le origini del repository.
Configura una VM per accedere a un repository Yum remoto
Per configurare una VM in modo che utilizzi solo un repository Yum remoto anziché un repository Yum standard a monte, sostituisci il repository standard nell'elenco dei repository della VM con il repository remoto.
Se nel file di configurazione è stato definito il repository standard anziché un
file di repository separato (.repo
), puoi eliminare la voce nel file di configurazione
e sostituirla con il repository remoto oppure definire un nuovo file di repository nella
directory /etc/yum.repos.d/
.
Vai alla pagina Istanze VM.
Nella riga con la tua VM, fai clic su SSH. Si apre una nuova finestra con una sessione terminale sulla VM.
Apri la cartella
/etc/yum.repos.d/
della VM e trova il file repository appropriato (.repo
) che contiene il repository standard a monte. Talvolta è definito repository di base. Il repository di base può essere identificato dal nome del repository Yum contenente[base]
o[baseos]
.Per sostituire completamente il repository di base, rimuovi le impostazioni predefinite in
[base]
.Aggiungi quanto segue sotto
[base]
:[base] name=YUM_REPOSITORY_NAME baseurl=https://LOCATION-yum.pkg.dev/remote/PROJECT_ID/REMOTE_REPOSITORY_NAME enabled=1 gpgcheck=1
Sostituisci quanto segue:
YUM_REPOSITORY_NAME
con un ID repository univoco di una parola per il repository Yum remoto. Questo nome può corrispondere al nome del repository a monte se hai eliminato la configurazione o un nome diverso per identificarlo come repository remoto.REPOSITORY_NAME
con il nome leggibile del repository.LOCATION
con la località a livello di una o più regioni del repository remoto.
PROJECT_ID
con l'ID progetto della VM.REMOTE_REPOSITORY_NAME
con il nome che hai assegnato al tuo repository remoto.
Usa un repository Yum remoto come backup
Se vuoi mantenere l'upstream standard come prima opzione e aggiungere il repository remoto come opzione di riserva, puoi mantenere l'upstream standard nel file di repository e creare un nuovo file di repository nella cartella /etc/yum.repos.d
.
Per creare un nuovo file di repository nella cartella /etc/yum.repos.d
, esegui questo comando:
sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOF
[YUM_REPOSITORY_NAME]
name=REPOSITORY_NAME
baseurl=https://LOCATION-yum.pkg.dev/remote/PROJECT_ID/REMOTE_REPOSITORY_NAME
enabled=1
gpgcheck=1
EOF
Sostituisci quanto segue:
YUM_REPOSITORY_NAME
con un ID repository univoco di una parola per il repository Yum remoto.REPOSITORY_NAME
con il nome leggibile del repository.LOCATION
con la località a livello di una o più regioni del repository remoto.
PROJECT_ID
con l'ID progetto della VM.REMOTE_REPOSITORY_NAME
con il nome che hai assegnato al tuo repository remoto.
Ad esempio, il seguente comando configura la VM in modo che recuperi il repository my-repo
nel progetto my-project
e la località us-east1
quando Yum installa il repository my-repo
.
sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOF
[my-repo]
name=My Repository
baseurl=https://us-east1-yum.pkg.dev/remote/my-project/my-repo
enabled=1
gpgcheck=1
EOF