Gerenciar pacotes de RPM

Esta página descreve como adicionar, visualizar e excluir pacotes RPM em repositórios Yum. Os repositórios Yum do Artifact Registry são compatíveis com Yum e DNF.

Antes de começar

  1. Se o repositório Yum de destino não existir, crie um novo.
  2. Configure as VMs para acessar o repositório.
  3. (Opcional) Configure padrões para comandos gcloud.
  4. Verifique se os nomes dos pacotes nos metadados atendem às diretrizes de nomenclatura de pacotes do Fedora e às diretrizes de controle de versões de pacotes do Fedora.

Como adicionar pacotes

Modos de repositório: padrão

É necessário ter permissões de leitura e gravação permissions para o repositório para adicionar pacotes.

É possível fazer upload de um pacote para um repositório usando a Google Cloud CLI ou importar um pacote armazenado no Cloud Storage.

Operações de importação ou upload muito longas podem exceder o período de validade 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 de solução de problemas de pacotes do SO para mais informações.

Envio direto

Use o gcloud artifacts yum upload comando 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 do repositório.
  • PACKAGES é o caminho para o pacote.

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

gcloud artifacts yum upload my-repo \
    --location=u-france-east1 \
    --source=my-package.rpm

Cloud Storage

  1. Faça upload de pacotes diretamente para um bucket do Cloud Storage.
  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 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 use 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 upload do pacote package.rpm e de todos os pacotes no diretório directory do bucket my-bucket para o repositório Yum my-repo no local u-france-east1:

    gcloud artifacts yum import my-repo \
      --location=u-france-east1 \
      --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 Cloud de Confiance console ou a CLI gcloud para visualizar pacotes no repositório e confirmar se eles foram enviados corretamente.

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 visualizar pacotes

Modos de repositório: padrão

Para visualizar pacotes, é necessário ter as permissões no papel Leitor do Artifact Registry. O Artifact Registry não lista arquivos dentro de pacotes.

Para visualizar pacotes e versões de pacotes usando o Cloud de Confiance console ou gcloud:

Console

  1. Abra a página Repositórios no Cloud de Confiance console.

    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]

Substitua:

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

Como instalar pacotes

Modos de repositório: padrão

Antes de instalar pacotes, verifique se você tem configurado 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 pacote
  • REPOSITORY é 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 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 Cloud de Confiance console.

    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]

Substitua:

  • PACKAGE é o nome do pacote no repositório.
  • REPOSITORY é o nome do repositório. Se você tiver configurado um repositório padrão, então poderá omitir essa sinalização para usar o padrão.
  • LOCATION é o local regional do repositório. Use esta sinalização para ver repositórios em um local específico. Se você tiver configurado um local padrão, poderá omitir essa sinalização para usar o padrão.

A sinalização --async faz com que o comando retorne imediatamente, sem aguardar a conclusão da operação.

Para excluir versões de um pacote:

Console

  1. Abra a página Repositórios no Cloud de Confiance console.

    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]

Substitua:

  • VERSION é o nome da versão a ser excluída.
  • PACKAGE é o nome do pacote no repositório.
  • REPOSITORY é o nome do repositório. Se você tiver configurado um repositório padrão, então poderá omitir essa sinalização para usar o padrão.
  • LOCATION é o local regional do repositório. Use esta sinalização para ver repositórios em um local específico. Se você tiver configurado um local padrão, poderá omitir essa sinalização para usar o padrão.

A sinalização --async faz com que o comando retorne imediatamente, sem aguardar a conclusão da operação.

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

A seguir