Esta página descreve como adicionar, visualizar e excluir pacotes RPM nos repositórios do Yum. Os repositórios do Yum do Artifact Registry oferecem suporte ao Yum e ao DNF.
Antes de começar
- Se o repositório de destino do Yum não existir, crie um novo repositório.
- Configure as VMs para acessar o repositório.
- (Opcional) Configure padrões para comandos gcloud.
- Verifique se os nomes dos pacotes nos metadados atendem às diretrizes de nomenclatura de pacotes do Fedora e às diretrizes de controle de versão de pacotes do Fedora.
Como adicionar pacotes
Modos de repositório: padrão
Você precisa ter permissões de leitura e gravação para que o repositório adicione pacotes.
É possível fazer upload de um pacote para um repositório usando a CLI do Google Cloud ou importar um pacote armazenado no Cloud Storage.
Se você criar pacotes usando o Cloud Build, ele poderá armazenar os pacotes no Cloud Storage para você importar.Operações de importação ou upload muito longas podem exceder o período de expiração do token que a CLI gcloud usa para chamar a API. Se você tiver um número muito grande de pacotes para adicionar, considere adicioná-los em lotes menores para que cada operação de upload ou importação possa ser concluída em um período mais curto. Consulte a documentação Solução de problemas de pacotes do SO para mais informações.
Envio direto
Use o
comando gcloud artifacts yum upload
para fazer upload de um pacote para um repositório Yum:
gcloud artifacts yum upload REPOSITORY \
--location=LOCATION \
--source=PACKAGES
Substitua os seguintes valores:
REPOSITORY
é o nome do repositório do Artifact Registry.-
LOCATION
é o local regional ou multirregional do repositório. PACKAGES
é o caminho para o pacote.
Por exemplo, para fazer upload do pacote my-package.rpm
para o repositório
my-repo
do Yum no local us-west1
, execute:
gcloud artifacts yum upload my-repo \ --location=us-west1 \ --source=my-package.rpm
Cloud Storage
- Faça upload dos pacotes para o Cloud Storage de uma das seguintes maneiras:
- Faça upload de pacotes diretamente para um bucket do Cloud Storage
- Criar pacotes com o Cloud Build e armazená-los em um bucket
- Execute este comando:
gcloud artifacts yum import REPOSITORY \ --location=LOCATION \ --gcs-source=PACKAGES
Substitua os seguintes valores:
REPOSITORY
é o nome do repositório do Artifact Registry.-
LOCATION
é o local regional ou multirregional do repositório. PACKAGES
é uma lista de pacotes separados por vírgulas no Cloud Storage. Para fazer upload de todos os pacotes de um diretório, use um caractere curinga de diretório (*
) ou um caractere curinga de diretório recursivo (**
) para fazer upload de todos os pacotes em todos os subdiretórios.
Por exemplo, o comando a seguir faz o upload do pacote
package.rpm
e de todos os pacotes no diretóriodirectory
do bucketmy-bucket
para o repositório Yummy-repo
no localus-west1
:gcloud artifacts yum import my-repo \ --location=us-west1 \ --gcs-source=gs://my-bucket/path/to/package.rpm,gs://my-bucket/directory*
Quando a operação de upload ou importação for concluída, use o consoleGoogle Cloud ou a CLI gcloud para ver os pacotes no repositório e confirmar se eles foram enviados.
Se você tiver um repositório grande com muitos pacotes, pode levar vários minutos para regenerar o índice de pacotes para que os novos pacotes fiquem visíveis para o cliente Yum.
Como conferir pacotes
Modos de repositório: padrão, remoto (pré-lançamento)
Para conferir os pacotes, você precisa ter as permissões na função de leitor do Artifact Registry. O Artifact Registry não lista arquivos dentro de pacotes.
Para conferir pacotes e versões de pacotes usando o console Google Cloud
ou gcloud
:
Console
Abra a página Repositórios no console do Google Cloud .
Na lista de repositórios, clique no repositório apropriado.
A página Pacotes lista os pacotes no repositório.
Clique em um pacote para visualizar as versões dele.
gcloud
Para listar pacotes em um repositório, execute o seguinte comando:
gcloud artifacts packages list [--repository=REPOSITORY] [--location=LOCATION]
Substitua:
REPOSITORY
é o nome do repositório. Se você tiver configurado um repositório padrão, poderá omitir essa flag para usar o padrão.-
LOCATION
é o local regional ou multirregional do repositório. Se você tiver configurado um local padrão, poderá omitir essa flag para usar o padrão.
Para ver as versões de um pacote, execute o seguinte comando:
gcloud artifacts versions list --package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION]
Substitua:
PACKAGE
é o ID do pacote ou o identificador totalmente qualificado do pacote.REPOSITORY
é o nome do repositório. Se você tiver configurado um repositório padrão, poderá omitir essa flag para usar o padrão.-
LOCATION
é o local regional ou multirregional do repositório. Use esta flag para conferir repositórios em um local específico. Se você tiver configurado um local padrão, poderá omitir essa flag para usar o padrão.
Como instalar pacotes
Modos de repositório: padrão, remoto (pré-lançamento)
Antes de instalar pacotes, verifique se você configurou a VM para instalar pacotes do repositório do Artifact Registry.
Para instalar um pacote, execute o seguinte comando:
sudo yum --enablerepo=REPOSITORY install PACKAGE
Substitua os seguintes valores:
PACKAGE
é o nome do pacoteREPOSITORY
é o nome do repositório configurado no arquivo.repo
.
Por exemplo, para instalar o pacote my-package
do repositório
my-repo
, execute o comando:
sudo yum --enablerepo=my-repo install my-package
Como excluir pacotes
Modos de repositório: padrão
Antes de eliminar um pacote ou uma versão do pacote, verifique se comunicou ou resolveu quaisquer dependências importantes do mesmo.
Para eliminar um pacote:
Consola
Abra a página Repositórios na Google Cloud consola.
Na lista de repositórios, clique no repositório adequado.
A página Pacotes apresenta os pacotes no repositório.
Selecione o pacote que quer eliminar.
Clique em ELIMINAR.
Clique em ELIMINAR na caixa de diálogo de confirmação.
gcloud
Execute o seguinte comando:
gcloud artifacts packages delete PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] [--async]
Substitua o seguinte:
PACKAGE
é o nome do pacote no repositório.REPOSITORY
é o nome do repositório. Se configurou um repositório predefinido, pode omitir esta flag para usar o predefinido.-
LOCATION
é a localização regional ou multirregional do repositório. Use esta flag para ver repositórios numa localização específica. Se tiver configurado uma localização predefinida, pode omitir esta flag para usar a predefinição.
A flag --async
faz com que o comando seja devolvido imediatamente,
sem aguardar a conclusão da operação em curso.
Para eliminar versões de um pacote:
Consola
Abra a página Repositórios na Google Cloud consola.
Na lista de repositórios, clique no repositório adequado.
A página Pacotes apresenta os pacotes no repositório.
Clique num pacote para ver as versões desse pacote.
Selecione as versões que quer eliminar.
Clique em ELIMINAR.
Clique em ELIMINAR na caixa de diálogo de confirmação.
gcloud
Execute o seguinte comando:
gcloud artifacts versions delete VERSION \
--package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] \
[--async]
Substitua o seguinte:
VERSION
é o nome da versão a eliminar.PACKAGE
é o nome do pacote no repositório.REPOSITORY
é o nome do repositório. Se configurou um repositório predefinido, pode omitir esta flag para usar o predefinido.-
LOCATION
é a localização regional ou multirregional do repositório. Use esta flag para ver repositórios numa localização específica. Se tiver configurado uma localização predefinida, pode omitir esta flag para usar a predefinição.
A flag --async
faz com que o comando seja devolvido imediatamente,
sem aguardar a conclusão da operação em curso.
Para repositórios grandes, pode levar alguns minutos para regenerar o índice do pacote Yum para refletir as exclusões.