AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 1538045
Accepted
Grizzly
Grizzly
Asked: 2025-01-14 02:03:55 +0800 CST2025-01-14 02:03:55 +0800 CST 2025-01-14 02:03:55 +0800 CST

autoinstall apt-config falha quando [signed-by=$KEY_FILE] é especificado para repositórios apt adicionais

  • 772

Acho que o título descreve a essência do problema, então, para elaborar, se eu tiver um arquivo de dados do usuário com o seguinte, a instalação automática falhará no estágio apt-config (antes de chegar à pergunta sim/não da instalação automática):

#cloud-config
#https://canonical-subiquity.readthedocs-hosted.com/en/latest/reference/autoinstall-reference.html
autoinstall:
    apt:
        sources:
            ros:
                source: deb [signed-by=$KEY_FILE] https://<artifactory-url>/ros/ $RELEASE main
                key: |
                    -----BEGIN PGP PUBLIC KEY BLOCK-----
                    Version: GnuPG v1

                    [snip]
                    -----END PGP PUBLIC KEY BLOCK-----
            gazebo:
                source: deb [signed-by=$KEY_FILE] https://<artifactory-url>/gazebo/ $RELEASE main
                key: |
                    -----BEGIN PGP PUBLIC KEY BLOCK-----
                    Version: GnuPG v1

                    [snip]
                    -----END PGP PUBLIC KEY BLOCK-----

Assim que eu remover o [signed-by=$KEY_FILE]bloco de cada fonte, a instalação automática será concluída! Embora o apt update sensatamente me diga que eu deveria ter uma seção signed-by em minhas fontes e não tê-la globalmente confiável em /etc/apt/trusted.gpg.d.

Não consegui encontrar descrições de problemas semelhantes em nenhum lugar. Alguém poderia recomendar alguns próximos passos para tentar ou o que posso estar esquecendo? "E 'já tentei várias vezes source, assim como adicionar/remover o trailing /por desespero!

apt
  • 1 1 respostas
  • 51 Views

1 respostas

  • Voted
  1. Best Answer
    Andrew Lowther
    2025-01-15T07:35:13+08:002025-01-15T07:35:13+08:00

    Usando o ISO do servidor 24.04.1 ( subiquity 24.08.1) consegui fazer as seguintes opções funcionarem. Estou usando o repositório docker para testar.

    1. Defina a Signed-Byopção para o caminho onde o curtin criará o arquivo de chave.

    #cloud-config
    autoinstall:
      apt:
        sources:
          docker:
            source: |
              Types: deb
              URIs: https://download.docker.com/linux/ubuntu
              Suites: noble
              Components: stable
              Signed-By: /etc/apt/trusted.gpg.d/docker.asc
            key: |
              -----BEGIN PGP PUBLIC KEY BLOCK-----
    
              mQINBFit2ioBEADhWpZ8/wvZ6hUTiXOwQHXMAlaFHcPH9hAtr4F1y2+OYdbtMuth
              [snip]
              -----END PGP PUBLIC KEY BLOCK-----
    

    2. Defina a Signed-Byopção para a impressão digital da chave.

    #cloud-config
    autoinstall:
      apt:
        sources:
          docker:
            source: |
              Types: deb
              URIs: https://download.docker.com/linux/ubuntu
              Suites: noble
              Components: stable
              Signed-By: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88
            key: |
              -----BEGIN PGP PUBLIC KEY BLOCK-----
    
              mQINBFit2ioBEADhWpZ8/wvZ6hUTiXOwQHXMAlaFHcPH9hAtr4F1y2+OYdbtMuth
              [snip]
              -----END PGP PUBLIC KEY BLOCK-----
    

    3. Use late-commandspara instalar o repositório você mesmo. Isso tem o benefício de colocar o arquivo de chave no diretório recomendado /etc/apt/keyrings. A desvantagem é que os pacotes do repositório não podem ser instalados usando a packagesconfiguração de instalação automática.

    #cloud-config
    autoinstall:
      late-commands:
        - |
          cat << 'EOF' > /target/etc/apt/keyrings/docker.asc
          -----BEGIN PGP PUBLIC KEY BLOCK-----
    
          mQINBFit2ioBEADhWpZ8/wvZ6hUTiXOwQHXMAlaFHcPH9hAtr4F1y2+OYdbtMuth
          [snip]
          -----END PGP PUBLIC KEY BLOCK-----
          EOF
          cat << EOF > /target/etc/apt/sources.list.d/docker.sources
          Types: deb
          URIs: https://download.docker.com/linux/ubuntu
          Suites: noble
          Components: stable
          Signed-By: /etc/apt/keyrings/docker.asc
          EOF
          curtin in-target --target=/target -- apt-get update
    

    4 . Incorpore a chave com o repositório. Cuidado, pois linhas em branco precisam de um .para funcionar.

    #cloud-config
    autoinstall:
      apt:
        sources:
          docker:
            source: |
              Types: deb
              URIs: https://download.docker.com/linux/ubuntu
              Suites: noble
              Components: stable
              Signed-By:
               -----BEGIN PGP PUBLIC KEY BLOCK-----
               .
               mQINBFit2ioBEADhWpZ8/wvZ6hUTiXOwQHXMAlaFHcPH9hAtr4F1y2+OYdbtMuth
               [snip]
               -----END PGP PUBLIC KEY BLOCK-----
    

    Outras notas

    • A aptconfiguração de instalação automática é realmente passada para o curtin configurar, então a documentação do curtin também é útil.
    • Você tem que usar o deb822formato apt com o Ubuntu 24.04 e mais recentes. Parece que curtin converterá o formato "one-line" para o deb822formato e descartará quaisquer opções definidas no "one-line" ao fazer a conversão.
    • Com versões anteriores à 24.04, o formato apropriado "one-line" deve ser usado.
    • manpage para sources.list . Isso tem mais informações sobre os formatos deb822 e one-line, e a opção signed-by.
    • 1

relate perguntas

  • Como posso ver todas as versões de um pacote que estão disponíveis no arquivo?

  • Como os PPAs podem ser removidos?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve