Os repositórios do Apt no Artifact Registry permitem gerenciar centralmente seus pacotes Debian e manter dependências de software consistentes nas cargas de trabalho do Linux. É possível adicionar, visualizar e excluir pacotes ou instalá-los nas VMs configuradas.
Antes de começar
- Se o repositório Apt de destino não existir, crie um novo.
- Configure as VMs para acessar o repositório.
- (Opcional) Configure padrões para comandos gcloud.
- Verifique se os nomes dos pacotes nos metadados atendem aos padrões de nome de pacote do Debian.
Como adicionar pacotes
Modos de repositório: padrão
É preciso ter permissões de leitura e gravação no 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. 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 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
comando gcloud artifacts apt upload
para fazer upload de um pacote para um repositório do Apt:
gcloud artifacts apt 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.deb para o repositório do Apt
my-repo no local us-west1, execute:
gcloud artifacts apt upload my-repo \
--location=us-west1 \
--source=my-package.deb
Cloud Storage
- Faça upload dos pacotes para o Cloud Storage:
- Fazer 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 apt 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 separada por vírgulas de pacotes 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, para fazer upload do pacote
package.debe de todos os pacotes no diretóriodirectorydo bucketmy-bucketpara o repositório Aptmy-repono localus-west1, execute:gcloud artifacts apt import my-repo \ --location=us-west1 \ --gcs-source=gs://my-bucket/path/to/package.deb,gs://my-bucket/directory*
Quando a operação de upload ou importação for concluída, use o console ou a CLI gcloud doGoogle Cloud para visualizar os pacotes no repositório e confirmar se o upload foi concluído.
Se você tiver um repositório grande com muitos pacotes, poderá levar vários minutos para gerar novamente o índice de pacotes para que os novos pacotes fiquem visíveis para o cliente Apt.
Como visualizar pacotes
Modos de repositório: padrão, remoto (pré-lançamento)Para visualizar pacotes, é preciso 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 de pacotes usando o Google Cloud console
ou gcloud:
Console
Abra a página Repositórios no Google Cloud console.
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, você pode omitir essa sinalização 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 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 ou multirregional 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, remoto (pré-lançamento)Antes de instalar pacotes, verifique se você configurou o gerenciador de pacotes e o repositório corretamente.
Para instalar um pacote no repositório:
Atualize a lista de pacotes disponíveis:
sudo apt updateInstale o pacote, especificando o nome do repositório configurado no Apt.
sudo apt install PACKAGE/REPOSITORYSubstitua os seguintes valores:
PACKAGEé o nome do pacote.REPOSITORYé o nome do repositório do Artifact Registry. Para repositórios remotos, use o nome do repositório upstream padrão.
Por exemplo, para instalar o pacote
my-packagedo repositóriomy-repo, execute o comando:sudo apt install my-package -t my-repo
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 Google Cloud console.
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]
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 ou multirregional 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
Abra a página Repositórios no Google Cloud console.
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]
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 ou multirregional 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.
Em repositórios grandes, pode levar alguns minutos para que o índice do pacote Apt seja gerado novamente e reflita as exclusões.