Faça a gestão de pacotes Debian

Esta página descreve como adicionar, ver e eliminar pacotes Debian em repositórios Apt.

Antes de começar

  1. Se o repositório Apt 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 normas de nomenclatura de pacotes Debian.

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. Se criar pacotes com o Cloud Build, a compilação pode armazenar os pacotes no Cloud Storage para que os possa importar.

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 apt upload para carregar um pacote para um repositório Apt:

gcloud artifacts apt upload REPOSITORY \
    --location=LOCATION \
    --source=PACKAGES

Substitua os seguintes valores:

  • REPOSITORY é o nome do repositório do Artifact Registry.
  • LOCATION é a localização regional ou multirregional do repositório.
  • PACKAGES é o caminho para o pacote.

Por exemplo, para carregar o pacote my-package.deb para o repositório Apt my-repo na localização us-west1, execute:

gcloud artifacts apt upload my-repo \
    --location=us-west1 \
    --source=my-package.deb

Cloud Storage

  1. Carregue os pacotes para o Cloud Storage da seguinte forma:
    • Carregue pacotes diretamente para um contentor do Cloud Storage
    • Crie pacotes com o Cloud Build e armazene-os num contentor
  2. Execute o seguinte 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 é a localização regional ou multirregional 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, para carregar o pacote package.deb e todos os pacotes no diretório directory do contentor my-bucket para o repositório Apt my-repo na localização us-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 carregamento ou importação estiver concluída, pode usar a Google 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 Apt.

Visualizar pacotes

Modos de repositório: padrão, remoto (pré-visualização)

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

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

Consola

  1. Abra a página Repositórios na Google 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 ou multirregional 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 ou multirregional 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, remoto (pré-visualização)

Antes de instalar pacotes, verifique se configurou o gestor de pacotes e o repositório corretamente.

Para instalar um pacote no repositório:

  1. Atualize a lista de pacotes disponíveis:

    sudo apt update
    
  2. Instale o pacote, especificando o nome do repositório configurado no Apt.

    sudo apt install PACKAGE/REPOSITORY
    

    Substitua 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-package a partir do repositório my-repo, execute o comando:

    sudo apt install my-package -t my-repo
    

Eliminar pacotes

Modos de repositório: padrão

Before you delete a package or package version, verify that any you have communicated or addressed any important dependencies on it.

To delete a package:

Console

  1. Open the Repositories page in the Google Cloud console.

    Abra a página Repositórios

  2. In the repository list, click the appropriate repository.

    The Packages page lists the packages in the repository.

  3. Select the package that you want to delete.

  4. Click DELETE.

  5. In the confirmation dialog box, click DELETE.

gcloud

Run the following command:

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

Replace the following:

  • PACKAGE is the name of the package in the repository.
  • REPOSITORY is the name of the repository. If you configured a default repository, then you can omit this flag to use the default.
  • LOCATION is the regional or multi-regional location of the repository. Use this flag to view repositories in a specific location. If you configured a default location, then you can omit this flag to use the default.

The --async flag causes the command to return immediately, without waiting for the operation in progress to complete.

To delete versions of a package:

Console

  1. Open the Repositories page in the Google Cloud console.

    Abra a página Repositórios

  2. In the repository list, click the appropriate repository.

    The Packages page lists the packages in the repository.

  3. Click a package to view versions of that package.

  4. Select versions that you want to delete.

  5. Click DELETE.

  6. In the confirmation dialog box, click DELETE.

gcloud

Run the following command:

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

Replace the following:

  • VERSION is the name of the version to delete.
  • PACKAGE is the name of the package in the repository.
  • REPOSITORY is the name of the repository. If you configured a default repository, then you can omit this flag to use the default.
  • LOCATION is the regional or multi-regional location of the repository. Use this flag to view repositories in a specific location. If you configured a default location, then you can omit this flag to use the default.

The --async flag causes the command to return immediately, without waiting for the operation in progress to complete.

Para repositórios grandes, a regeneração do índice do pacote Apt pode demorar alguns minutos para refletir as eliminações.

O que se segue?