Nesta página, descrevemos como adicionar, visualizar e excluir pacotes RPM em repositórios do Yum. Os repositórios do Artifact Registry Yum são compatíveis com Yum e DNF.
Antes de começar
- Se o repositório de destino do Yum não existir, crie um novo.
- Configure VMs para acessar o repositório.
- (Opcional) Configure padrões para comandos gcloud.
- Verifique se os nomes de 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
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 Google Cloud CLI 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 importação.
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, adicione-os em lotes menores, para que cada operação de upload ou importação possa ser concluída em um período menor. 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 do 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-central1
, execute:
gcloud artifacts yum upload my-repo \ --location=us-central1 \ --source=my-package.rpm
Cloud Storage
Faça o upload dos pacotes para o Cloud Storage de uma das seguintes maneiras:
- Fazer o 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 use um caractere curinga recursivo (**) para fazer upload de todos os pacotes em todos os subdiretórios.
Por exemplo, para fazer upload de um pacote
package.rpm
e todos os pacotes no diretóriodirectory
do bucketmy-bucket
para o repositório Yummy-repo
no localus-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 console do Google Cloud ou a CLI gcloud para visualizar pacotes no repositório e confirmar se o upload foi concluído.
Se você tiver um repositório grande com muitos pacotes, talvez leve vários minutos para gerar novamente o índice de pacotes. Assim, os novos pacotes ficarão visíveis para o cliente do Yum.
Como visualizar pacotes
Modos de repositório:padrão e remoto (pré-lançamento)
Para acessar pacotes, você precisa ter as permissões no papel de Leitor do Artifact Registry. O Artifact Registry não lista arquivos dentro de pacotes.
Para visualizar pacotes e versões usando o console do 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]
Por
- 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 ou multirregional. 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.
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 local regional ou multirregional. 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 e remoto (pré-lançamento)
Antes de instalar 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
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
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.
Selecione o pacote que você quer excluir.
Clique em EXCLUIR.
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]
Por
- 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 ou multirregional. 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.
--async
Retorna imediatamente, sem aguardar a conclusão da operação em andamento.
Para excluir versões de um pacote:
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.
Selecione as versões que você quer excluir.
Clique em EXCLUIR.
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]
Por
- 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 ou multirregional. 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.
--async
retorna imediatamente, sem aguardar a conclusão da operação em andamento.
Em repositórios grandes, pode levar alguns minutos para gerar novamente o índice de pacotes Yum para refletir as exclusões.