Como configurar VMs para instalar pacotes Debian

Nesta página, descrevemos a configuração de VMs para instalar pacotes Debian de um repositório Artifact Registry Apt.

Antes de começar

Se o repositório de destino do Apt não existir, crie um novo repositório. É possível criar um repositório particular ou público que não exija autenticação.

Como preparar uma VM para acessar um repositório do Apt

Repositório particular

  1. Escolha a conta de serviço que você usará para conceder acesso.

    • Para VMs do Compute Engine, pode ser a conta de serviço padrão.
    • Para outras VMs, crie ou escolha uma conta de serviço para agir em nome da sua VM. Você precisará do local do arquivo de chave da conta de serviço para configurar a VM. É possível ver e criar chaves para contas existentes na página Contas de serviço.
  2. Conceda permissões de acesso ao repositório para a conta de serviço.

  3. Prepare a VM para acessar o repositório.

    VM do Compute Engine

    VM do Debian

    1. Atribua escopos de acesso da API cloud-platform à VM. Para mais informações sobre como definir escopos de acesso, consulte Como alterar a conta de serviço e os escopos de acesso de uma instância.

    2. Instale as chaves de assinatura do repositório do Apt usando o seguinte comando:

      curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add -
      

      Substitua LOCATION pela localização do repositório.

    3. Atualize o Apt usando o seguinte comando:

      sudo apt update
      
    4. Instale o pacote apt-transport-artifact-registry na VM:

      sudo apt install apt-transport-artifact-registry
      

    VM do Ubuntu

    1. Atribua escopos de acesso da API cloud-platform à VM. Para mais informações sobre como definir escopos de acesso, consulte Como alterar a conta de serviço e os escopos de acesso de uma instância.

    2. Instale as chaves de assinatura do repositório do Apt usando o seguinte comando:

      curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add - && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
      

      Substitua LOCATION pela localização do repositório.

    3. Configure a VM para acessar pacotes do Artifact Registry usando o comando a seguir:

      echo 'deb http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
      
    4. Atualize o Apt usando o seguinte comando:

      sudo apt update
      
    5. Instale o pacote apt-transport-artifact-registry na VM:

      sudo apt install apt-transport-artifact-registry
      

    Outra VM

    1. Instale as chaves de assinatura do repositório do Apt usando o seguinte comando:

      curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add - && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
      

      Substitua LOCATION pela localização do repositório.

    2. Configure a VM para acessar pacotes do Artifact Registry usando o comando a seguir:

      echo 'deb http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
      
    3. Atualize o Apt usando o seguinte comando:

      sudo apt update
      
    4. Instale o pacote apt-transport-artifact-registry na VM:

      sudo apt install apt-transport-artifact-registry
      
    5. Encontre a linha #Service-Account-JSON "/path/to/creds.json"; no arquivo /etc/apt/apt.conf.d/90artifact-registry, remova a marca de comentário da linha e adicione o caminho da chave da conta de serviço.

      Entrada do arquivo de configuração:

      Service-Account-JSON  "PATH_TO_SERVICE_ACCOUNT_KEY";
      

      Substitua PATH_TO_SERVICE_ACCOUNT_KEY pelo caminho para o arquivo JSON da chave da conta de serviço.

Repositório público

  1. Configure o acesso público ao repositório.

  2. Se você estiver configurando uma VM fora do Google Cloud, prepare sua máquina para acessar o repositório. Se você estiver configurando uma VM do Compute Engine, siga para a próxima etapa.

    Instale a chave de verificação de assinatura pública usando o comando a seguir:

    curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add -
    

    Substitua LOCATION pela localização do repositório.

  3. Atualize o Apt usando o seguinte comando:

    sudo apt update
    

Como configurar uma VM para acessar um repositório Apt

Repositório particular

  1. Configure o Apt para buscar pacotes do seu repositório usando o seguinte comando:

    echo 'deb ar+https://LOCATION-apt.pkg.dev/projects/PROJECT REPOSITORY main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
    

    Substitua:

    • LOCATION é um local regional ou multirregional.
    • PROJECT é o ID do projeto do Google Cloud.
    • REPOSITORY é o nome do repositório do Artifact Registry.

    Por exemplo, para instalar pacotes do repositório my-repo no projeto my-project e no local us-central1, adicione a linha:

    deb ar+https://us-central1-apt.pkg.dev/projects/my-project my-repo main
    
  2. Atualize as origens do repositório com este comando:

    sudo apt update
    

Repositório público

  1. Configure o Apt para buscar pacotes do seu repositório usando o seguinte comando:

    echo 'deb https://LOCATION-apt.pkg.dev/projects/PROJECT REPOSITORY main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
    

    Substitua:

    • LOCATION é um local regional ou multirregional.
    • PROJECT é o ID do projeto do Google Cloud.
    • REPOSITORY é o nome do repositório do Artifact Registry.

    Por exemplo, para instalar pacotes do repositório my-repo no projeto my-project e no local us-central1, adicione a linha:

    deb https://us-central1-apt.pkg.dev/projects/my-project my-repo main
    
  2. Atualize as origens do repositório com este comando:

    sudo apt update
    

Agora, o Apt pode se conectar ao repositório.

Se você criar outros repositórios Apt, poderá adicioná-los ao arquivo artifact-registry.list e executar sudo apt update novamente para atualizar as origens de repositórios.

A seguir