Gerenciar pacotes de RPM

Esta página descreve como adicionar, visualizar e excluir pacotes RPM no Yum repositórios. Os repositórios Yum do Artifact Registry oferecem suporte a Yum e DNF.

Antes de começar

  1. Se o repositório de destino do Yum não existir, Crie um novo repositório.
  2. Configure VMs para acessar o repositório.
  3. (Opcional) Configure padrões para comandos gcloud.
  4. Verifique se os nomes dos pacotes nos metadados atendem aos Diretrizes de nomenclatura de pacotes do Fedora e os Diretrizes de controle de versão do pacote Fedora (link em inglês).

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, eles poderão ser armazenados 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 de dados.
  • PACKAGES é o caminho para o pacote.

Por exemplo, para fazer upload do pacote my-package.rpm para o repositório do Yum. my-repo no local us-central1, execute:

gcloud artifacts yum upload my-repo \
    --location=us-central1 \
    --source=my-package.rpm

Cloud Storage

  1. Faça upload dos pacotes para o Cloud Storage de uma destas formas:

    • Faça upload dos pacotes diretamente para um Bucket do Cloud Storage
    • Criar pacotes com o Cloud Build e armazená-los em um bucket
  2. 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 de dados.
    • PACKAGES é uma lista de pacotes separada por vírgulas no Cloud Storage. Para carregar todos os pacotes de um diretório, use um caractere curinga de diretório (*) ou use um caractere curinga de diretório recursivo (**) para fazer upload de todos os pacotes em todos os subdiretórios.

    Por exemplo, para fazer upload do pacote package.rpm e todos os pacotes do o diretório directory do bucket my-bucket para o Yum repositório my-repo no local us-central1, execute:

    gcloud artifacts yum import my-repo \
        --location=us-central1 \
        --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, será possível usar o O console do Google Cloud ou CLI gcloud para conferir pacotes no repositório e confirmar se o upload foi concluído.

Se você tem um repositório grande com muitos pacotes, pode demorar minutos para gerar novamente o índice de pacotes, de modo que os novos pacotes fiquem visíveis para 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 os pacotes e as versões deles usando o console do Google Cloud ou gcloud:

Console

  1. Abra a página Repositórios no console do Google Cloud.

    Abrir a página Repositórios

  2. Na lista de repositórios, clique no repositório apropriado.

    A página Pacotes lista os pacotes no repositório.

  3. 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]

Onde

  • REPOSITORY é o nome do repositório. Se você tiver configurado um repositório padrão, você pode omitir essa sinalização para usar o padrão.
  • LOCATION é um regional ou multirregional local. Use esta sinalização para ver repositórios em um local específico. 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]

Onde

  • 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, você pode omitir essa sinalização para usar o padrão.
  • LOCATION é um regional ou multirregional local. Use esta sinalização para ver 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 os pacotes, verifique se você configurou o gerenciador de pacotes e o repositório corretamente.

Para instalar pacotes:

Instale o pacote, especificando o nome do repositório configurado no Yum.

sudo yum --enablerepo=REPOSITORY install PACKAGE

Substitua os seguintes valores:

  • PACKAGE é o nome do pacote.
  • REPOSITORY é o nome do repositório configurado no no arquivo .repo.

Por exemplo, para instalar o pacote my-package pelo 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 excluir uma versão de pacote ou um pacote, verifique se você comunicou ou resolveu qualquer dependência importante nele.

Para excluir um pacote:

Console

  1. Abra a página Repositórios no console do Google Cloud.

    Abrir a página Repositórios

  2. Na lista de repositórios, clique no repositório apropriado.

    A página Pacotes lista os pacotes no repositório.

  3. Selecione o pacote que você quer excluir.

  4. Clique em EXCLUIR.

  5. Na caixa de diálogo de confirmação, clique em Excluir.

gcloud

Execute este comando:

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

Onde

  • PACKAGE é o nome do pacote no repositório.
  • REPOSITORY é o nome do repositório. Se você tiver configurado um repositório padrão, você pode omitir essa sinalização para usar o padrão.
  • LOCATION é um local regional. Use esta sinalização para ver repositórios em um local específico. Se você configurado um local padrão, é possível omitir essa sinalização para padrão.
  • --async Retorna imediatamente, sem aguardar a conclusão da operação em andamento.

Para excluir versões de um pacote:

Console

  1. Abra a página Repositórios no console do Google Cloud.

    Abrir a página Repositórios

  2. Na lista de repositórios, clique no repositório apropriado.

    A página Pacotes lista os pacotes no repositório.

  3. Clique em um pacote para visualizar as versões dele.

  4. Selecione as versões que você quer excluir.

  5. Clique em EXCLUIR.

  6. Na caixa de diálogo de confirmação, clique em Excluir.

gcloud

Execute este comando:

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

Onde

  • PACKAGE é o nome do pacote no repositório.
  • REPOSITORY é o nome do repositório. Se você tiver configurado um repositório padrão, você pode omitir essa sinalização para usar o padrão.
  • LOCATION é um local regional. Use esta sinalização para ver repositórios em um local específico. Se você tiver configurado um local padrão, poderá omitir essa flag para usar o padrão.
  • --async retorna imediatamente, sem aguardar a conclusão da operação em andamento.

Para repositórios grandes, pode levar alguns minutos para regenerar o índice do pacote Yum para refletir as exclusões.

A seguir