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 / server / Perguntas / 1134943
Accepted
Rino Bino
Rino Bino
Asked: 2023-06-27 03:55:11 +0800 CST2023-06-27 03:55:11 +0800 CST 2023-06-27 03:55:11 +0800 CST

Determine as arquiteturas disponíveis de um repositório apt sem adicionar como fonte

  • 772

Ao trabalhar com repositórios de pacotes deb (apt), às vezes você pode navegar por eles em http para determinar o que está disponível em diferentes arquiteturas (amd64, arm64, etc). Por exemplo, o Ubuntu fornece uma lista de arquivos para ajudar a navegar no repositório

No entanto, outras fontes, como este repositório Elastic , não permitem a navegação regular.

Minha única opção parece ser realmente adicionar o repositório às minhas fontes (fazer modificações no meu sistema):

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

Depois de adicionar, a execução apt updateconfirma que o repositório oferece pacotes arm64 (já que estou em um host arm64):

Get:7 https://artifacts.elastic.co/packages/7.x/apt stable/main arm64 Packages [78.8 kB]

No entanto, quero confirmar TODAS as arquiteturas de lançamento disponíveis oferecidas pelo repositório E quero fazer isso sem ter que modificar meu sistema host. Como eu posso fazer isso?

Neste caso de uso, tive que ativar um host arm64 de teste apenas para determinar se os pacotes estavam disponíveis. Eu realmente gostaria de evitar ter que fazer esse tipo de coisa no futuro e apenas navegar pelas ofertas de recompra remotamente.

apt
  • 1 1 respostas
  • 32 Views

1 respostas

  • Voted
  1. Best Answer
    Nikita Kipriyanov
    2023-06-28T11:44:04+08:002023-06-28T11:44:04+08:00

    Você não precisa navegar no repositório como um diretório. Conhecendo todas as propriedades do repo (da string que você usa para adicionar o repo), você tem a garantia de conhecer a URL precisa (um link direto) do arquivo de lançamento. Então você baixa, e é um arquivo de texto com uma lista de informações essenciais do repositório. A estrutura de um repositório e seus arquivos de controle são explicados no wiki .

    Você começaria com o arquivo $REPO_BASE/dists/$DIST/InRelease. Estes REPO_BASEe DISTsão determinados a partir de sua linha no arquivo de fontes:

    deb https://artifacts.elastic.co/packages/7.x/apt stable main
    #   REPO_BASE                                     DIST   COMPONENT
    

    Nesse caso, o arquivo de lançamento tem o seguinte URL direto: https://artifacts.elastic.co/packages/7.x/apt/dists/stable/InRelease. Ele contém uma lista de outros arquivos de repositório, incluindo arquivos de conteúdo e pacotes para cada arquitetura.

    Cada arquivo Packages é um arquivo de texto com descrições de todos os pacotes no repositório do componente. Por exemplo, https://artifacts.elastic.co/packages/7.x/apt/dists/stable/main/binary-arm64/Packageslista todos os pacotes binários ARM64 compilados para o seu repositório. A fórmula do link é $REPO_BASE/dists/$DIST/$COMPONENT/binary-$ARCH/Packages.

    E então, você também pode calcular o link para cada arquivo deb no repositório. Cada pacote no arquivo Packages acima tem um Filenameitem. Você criaria o link deb usando a fórmula: $REPO_BASE/$Filename. Por exemplo, para o packetbeatit passa a ser https://artifacts.elastic.co/packages/7.x/apt/pool/main/p/packetbeat/packetbeat-7.8.0-arm64.deb.

    É exatamente assim que o próprio Apt funciona, e é assim que o utilitário do Ubuntu que você mencionou funciona.


    Desativar a listagem de diretórios no repositório Debian é bobagem. A única razão para a existência do repositório é exatamente fornecer essas informações, portanto, desabilitar outra maneira conveniente para o ser humano de vê-lo está além do meu entendimento.

    • 2

relate perguntas

Sidebar

Stats

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

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

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