Faça a gestão de pacotes RPM

Esta página descreve a adição, a visualização e a eliminação de pacotes RPM em repositórios Yum. Os repositórios Yum do Artifact Registry são compatíveis com o Yum e o DNF.

Antes de começar

  1. Se o repositório Yum de destino não existir, crie um novo repositório.
  2. Configure as VMs para aceder ao repositório.
  3. (Opcional) Configure as predefinições para os comandos gcloud.
  4. Certifique-se de que os nomes dos pacotes nos metadados cumprem as diretrizes de nomenclatura de pacotes do Fedora e as diretrizes de controlo de versões de pacotes do Fedora.

Adicionar pacotes

Modos de repositório: padrão

Tem de ter autorizações de leitura e escrita para o repositório para adicionar pacotes.

Pode carregar um pacote para um repositório através da Google Cloud CLI ou importar um pacote armazenado no Cloud Storage.

As operações de importação ou carregamento muito longas podem exceder o período de validade do token que a CLI gcloud usa para chamar a API. Se tiver um número muito grande de pacotes para adicionar, considere adicioná-los em lotes mais pequenos para que cada operação de carregamento ou importação possa ser concluída num período mais curto. Consulte a documentação sobre a resolução de problemas de pacotes do SO para mais informações.

Carregamento direto

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

Por exemplo, para carregar o pacote my-package.rpm para o repositório Yum my-repo na localização u-france-east1, execute:

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

Cloud Storage

  1. Carregue pacotes diretamente para um contentor do Cloud Storage.
  2. Execute o seguinte 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 é a localização regional do repositório.
    • PACKAGES é uma lista de pacotes separados por vírgulas no Cloud Storage. Para carregar todos os pacotes de um diretório, use um caráter universal de diretório (*) ou um caráter universal de diretório recursivo (**) para carregar todos os pacotes em todos os subdiretórios.

    Por exemplo, o seguinte comando carrega o pacote package.rpm e todos os pacotes no diretório directory do contentor my-bucket para o repositório Yum my-repo na localização 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 carregamento ou importação estiver concluída, pode usar a Trusted Cloud consola ou a CLI gcloud para ver pacotes no repositório e confirmar que foram carregados com êxito.

Se tiver um repositório grande com muitos pacotes, pode demorar vários minutos a regenerar o índice de pacotes para que os novos pacotes fiquem visíveis para o cliente Yum.

Visualizar pacotes

Modos de repositório: padrão

Para ver pacotes, tem de ter as autorizações na função de leitor do Artifact Registry. O Artifact Registry não apresenta os ficheiros dentro dos pacotes.

Para ver pacotes e versões de pacotes através da Trusted Cloud consola ou da gcloud:

Consola

  1. Abra a página Repositórios na Trusted Cloud consola.

    Abra a página Repositórios

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

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

  3. Clique num pacote para ver as versões do pacote.

gcloud

Para listar os pacotes num repositório, execute o seguinte comando:

gcloud artifacts packages list [--repository=REPOSITORY] [--location=LOCATION]

Substitua o seguinte:

  • REPOSITORY é o nome do repositório. Se tiver configurado um repositório predefinido, pode omitir esta flag para usar o predefinido.
  • LOCATION é a localização regional do repositório. Se configurou uma localização predefinida, pode omitir esta flag para usar a predefinição.

Para ver as versões de um pacote, execute o seguinte comando:

gcloud artifacts versions list --package=PACKAGE \
    [--repository=REPOSITORY] [--location=LOCATION]

Substitua o seguinte:

  • PACKAGE é o ID do pacote ou o identificador totalmente qualificado do pacote.
  • REPOSITORY é o nome do repositório. Se tiver configurado um repositório predefinido, pode omitir esta flag para usar o predefinido.
  • LOCATION é a localização regional do repositório. Use esta flag para ver repositórios numa localização específica. Se configurou uma localização predefinida, pode omitir esta flag para usar a predefinição.

Instalar pacotes

Modos de repositório: padrão

Antes de instalar pacotes, verifique se configurou a VM para instalar pacotes do seu 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 ficheiro .repo.

Por exemplo, para instalar o pacote my-package a partir do repositório my-repo, execute o comando:

sudo yum --enablerepo=my-repo install my-package

Eliminar 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

  1. Abra a página Repositórios na Trusted Cloud consola.

    Abra a página Repositórios

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

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

  3. Selecione o pacote que quer eliminar.

  4. Clique em ELIMINAR.

  5. 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 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

  1. Abra a página Repositórios na Trusted Cloud consola.

    Abra a página Repositórios

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

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

  3. Clique num pacote para ver as versões desse pacote.

  4. Selecione as versões que quer eliminar.

  5. Clique em ELIMINAR.

  6. 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 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 demorar alguns minutos a regenerar o índice do pacote Yum para refletir as eliminações.

O que se segue?