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 / unix / Perguntas / 699410
Accepted
Py-ser
Py-ser
Asked: 2022-04-18 14:13:18 +0800 CST2022-04-18 14:13:18 +0800 CST 2022-04-18 14:13:18 +0800 CST

Apt-get e espelha erros ou falha ao buscar

  • 772

O meu /etc/apt/sources.listcontém:

deb http://ubuntu.mirror.garr.it/ubuntu/ focal main
deb-src http://ubuntu.mirror.garr.it/ubuntu/ focal main

deb-src http://ubuntu.mirror.garr.it/ubuntu/ focal restricted universe multiverse

deb http://ubuntu.mirror.garr.it/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://ubuntu.mirror.garr.it/ubuntu/ focal-updates main restricted universe multiverse

deb http://ubuntu.mirror.garr.it/ubuntu/ focal-security main restricted universe multiverse
deb-src http://ubuntu.mirror.garr.it/ubuntu/ focal-security main restricted universe multiverse

deb http://ubuntu.mirror.garr.it/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://ubuntu.mirror.garr.it/ubuntu/ focal-backports main restricted universe multiverse

deb http://archive.canonical.com/ubuntu focal partner
deb-src http://archive.canonical.com/ubuntu focal partner

Mas quando tento qualquer coisa relacionada às atualizações de software, por exemplo, sudo apt update --fix-missing && sudo apt upgrade, recebo a seguinte saída no terminal:

    sudo apt update --fix-missing && sudo apt upgrade
Err:1 http://archive.canonical.com/ubuntu focal InRelease
  Temporary failure resolving 'proxy_server'
Err:2 http://ubuntu.mirror.garr.it/ubuntu focal InRelease
  Temporary failure resolving 'proxy_server'
Err:3 http://ubuntu.mirror.garr.it/ubuntu focal-updates InRelease
  Temporary failure resolving 'proxy_server'
Err:4 http://ubuntu.mirror.garr.it/ubuntu focal-security InRelease
  Temporary failure resolving 'proxy_server'
Err:5 http://ubuntu.mirror.garr.it/ubuntu focal-backports InRelease
  Temporary failure resolving 'proxy_server'
Reading package lists... Done
Building dependency tree       
Reading state information... Done
All packages are up to date.
W: Failed to fetch http://ubuntu.mirror.garr.it/ubuntu/dists/focal/InRelease  Temporary failure resolving 'proxy_server'
W: Failed to fetch http://ubuntu.mirror.garr.it/ubuntu/dists/focal-updates/InRelease  Temporary failure resolving 'proxy_server'
W: Failed to fetch http://ubuntu.mirror.garr.it/ubuntu/dists/focal-security/InRelease  Temporary failure resolving 'proxy_server'
W: Failed to fetch http://ubuntu.mirror.garr.it/ubuntu/dists/focal-backports/InRelease  Temporary failure resolving 'proxy_server'
W: Failed to fetch http://archive.canonical.com/ubuntu/dists/focal/InRelease  Temporary failure resolving 'proxy_server'
W: Some index files failed to download. They have been ignored, or old ones used instead.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

E qualquer coisa que eu tento instalar dá problemas semelhantes:

$ sudo apt-get install indicator-cpufreq
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package indicator-cpufreq

Tentar alterar o servidor do Software updateaplicativo fica preso na atualização do cache ou, eventualmente, retorna um erro semelhante ao Failed to fetch one(a janela não me permite copiar e colar o erro de saída).

Mais informações sobre meu sistema:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.4 LTS
Release: 20.04
Codename: focal

O que deve entrar no services.liste proxy, e qual poderia ser o problema?

EDIT # 1: Acho que o meu /etc/apt/apt.confestá errado e gostaria de uma ajuda sobre o que poderia ser nesse arquivo. echo "$http_proxy"não retorna nada, nem env | grep -i proxy. Configurações --> Proxy Network está definido como Desativado, mas se eu marcar Manualrecebo proxy-server-ipno campo "Proxy HTTP" e 8080é a porta.

EDIT # 2: My /etc/apt/apt.conf.d/proxy.confcontém duas linhas:

Acquire::http::Proxy "http://proxy_server:port/";
Acquire::https::Proxy "http://proxy_server:port/";
apt proxy
  • 2 2 respostas
  • 1714 Views

2 respostas

  • Voted
  1. Best Answer
    rubynorails
    2022-04-21T07:04:46+08:002022-04-21T07:04:46+08:00

    Parece que sua máquina está tentando resolver um host literalmente chamado proxy_server. Tente ping -c 5 proxy_serverver se ele tem um IP listado e se você pode acertá-lo por ICMP. Se você realmente deseja usar um proxy, verifique esse IP em /etc/hosts, ou apenas grep 'proxy_server' /etc/hosts, e verifique se pode se conectar ao IP listado proxy_servervia TCP usando telnet proxy_server [port]ou nc proxy_server:[port]. A porta geralmente será 8080 para HTTP ou 1080 para SOCKS, mas pode ser definida como qualquer coisa. Você obteria as informações da porta de seus aptarquivos de configuração, nas etapas detalhadas abaixo.

    Se você puder fazer ping proxy_server, certifique-se de que o proxy esteja funcionando corretamente e escutando nas portas corretas que você listou em qualquer arquivo em /etc/apt. Para listar esses arquivos, execute grep -rl 'proxy_server' /etc/apt.

    Se você não pretende usar um proxy para se conectar, grep -rl 'proxy_server' /etc/aptveja quais arquivos listam essa string. Para remover todas as linhas que contêm essa string, execute o seguinte como root grep -rl 'proxy_server' /etc/apt | xargs -I file sed -i '/proxy_server/d' filee tente novamente.

    Se não houver arquivos listados na grepsaída, execute sudo http_proxy= https_proxy= apt update --fix-missing && sudo http_proxy= https_proxy= apt upgradee tente novamente.

    Se isso funcionar, você está definindo as variáveis http_proxy​​e/ou https_proxyem algum lugar em seu ambiente, provavelmente em /root/.bashrc, mas na realidade, essas variáveis ​​podem ser definidas em uma variedade de arquivos que são originados). Para obter mais informações sobre esses arquivos, verifique esta resposta . Para descobrir se essas variáveis ​​estão configuradas em /root/.bashrc, você pode executar os comandos abaixo para se livrar delas, ou o script a seguir, que seria um pouco mais seguro.

    Comandos para remover imediatamente http_proxye https_proxyde .bashrc:

    sudo sed -i '/http_proxy/d;/https_proxy/d' /root/.bashrc
    sed -i '/http_proxy/d;/https_proxy/d' ~/.bashrc
    

    Nota: a razão pela qual estou listando o seu ~/.bashrcé porque às vezes e em alguns casos, o root é definido para herdar o perfil do usuário.

    Script que verifica se as linhas realmente existem antes de tentar removê-las (observe que os comandos anteriores não falharão se as linhas não existirem, mas isso retornará as linhas na saída para que você saiba onde elas existiam:

    #!/bin/sh
    
    if grep -E '(http_proxy)|(https_proxy)' /root/.bashrc; then
      sudo sed -i '/http_proxy/d;/https_proxy/d' /root/.bashrc
    fi
    if grep -E '(http_proxy)|(https_proxy)' ~/.bashrc; then
      sed -i '/http_proxy/d;/https_proxy/d' ~/.bashrc
    fi
    
    

    Ou se você preferir um one-liner que você pode copiar/colar:

    if grep -E '(http_proxy)|(https_proxy)' /root/.bashrc; then sudo sed -i '/http_proxy/d;/https_proxy/d' /root/.bashrc; fi; if grep -E '(http_proxy)|(https_proxy)' ~/.bashrc; then sed -i '/http_proxy/d;/https_proxy/d' ~/.bashrc; fi
    

    Importante: Se você tiver quaisquer funções ou aliases diretamente nesses .bashrcarquivos destinados a alternar proxies, ele removerá todas as linhas que contenham http_proxyou https_proxy. No seu caso, pode ser mais seguro substituir http_proxye https_proxynos comandos/script acima por proxy_server.

    Seu one-liner particular seria o seguinte:

    if grep 'proxy_server' /root/.bashrc; then sudo sed -i '/proxy_server/d' /root/.bashrc; fi; if grep 'proxy_server' ~/.bashrc; then sed -i '/proxy_server/d' ~/.bashrc; fi
    

    Edit: corrigi o grepcomando com base no seu comentário e, depois de reler sua pergunta, se você não deseja se conectar a um proxy, basta mv /etc/apt/apt.conf.d/proxy.conf /tmp/e executar novamente o comando, e ele deve funcionar bem. Se esse é o único lugar que proxy_serverapareceu, não sei por que a remoção das linhas não funcionou, mas é possível que proxy.confesteja sendo armazenado em cache em algum lugar. Ao remover o arquivo completamente, suas configurações de proxy provavelmente serão reinicializadas.

    A raiz real do problema é que você tem configurações fictícias/exemplos em /etc/apt/apt.conf.d/proxy.conf, que está literalmente tentando resolver o host proxy_serverna porta port. Como você pode ver, proxy_serverna verdade não existe e portteria que ser um número de porta real para aptse conectar com sucesso.

    Ao remover o proxy.confarquivo (que não é necessário para aptfuncionar e normalmente não existe por padrão), você poderá resolver esse problema.

    Edição nº 2: Se você realmente precisar se conectar a um proxy, mantenha-o /etc/apt/apt.conf.d/proxy.confno lugar e substitua proxy_serverpelo IP ou nome do host real do servidor proxy e portpelo número da porta real. Como alternativa, você pode simplesmente substituir portpelo número da porta real e criar uma entrada /etc/hostspara proxy_serverapontar para o endereço IP correto do servidor proxy real.

    Edição final: depois de conversar com o usuário, eles removeram, /etc/apt/apt.conf.d/proxy.confmas ainda estavam recebendo o mesmo problema, exceto que, em vez de não resolver proxy_server, não estava resolvendo proxy.server, o que me levou a acreditar que as configurações de proxy estavam sendo definidas em outro local.

    Mandei-os correr grep -rlE 'Acquire::.*::Proxy' /etc/apt/, que voltaram /etc/apt/apt.conf.

    Em seguida, instruí-os a executar grep -nE 'Acquire::.*::Proxy' /etc/apt/apt.conf, que retornou o seguinte:

    ...
    5:Acquire::http::Proxy "http://user:[email protected]:port/";
    6:Acquire::https::Proxy "http://user:[email protected]:port/";
    ...
    

    Isso estava essencialmente fazendo o mesmo que /etc/apt/apt.conf.d/proxy.conf, apenas o nome do host era proxy.serverem vez de proxy_server. Ainda configurações fictícias / de exemplo. Depois de instruí-los a comentar as linhas 5 e 6 e executar novamente o comando inicial de sudo apt update --fix-missing && sudo apt upgrade, eles confirmaram que estava funcionando corretamente e buscando atualizações.

    • 4
  2. dirkt
    2022-04-21T01:43:06+08:002022-04-21T01:43:06+08:00

    Resposta parcial:

    A saída do terminal indica que você tem um servidor proxy configurado em algum lugar. Como você não forneceu a configuração completa do seu apt, dê uma olhada em como configurar um servidor proxy apt (por exemplo , aqui , primeiro resultado do Google), e depois passe pela sua configuração completa do apt /etc/apte veja se você tem alguma configuração de proxy em algum lugar .

    Se não houver nenhum, a próxima etapa é fazer algo como sudo envexaminar o ambiente depois sudo de verificar se nenhum proxy está definido.

    Não há informações suficientes na pergunta atual para determinar o motivo real, isso precisa de depuração.


    Se não houver nada relacionado ao proxy em sudo env, e nenhuma configuração de proxy em qualquer lugar na configuração do apt, o próximo passo é dar uma olhada man apt.confe habilitar a saída de depuração. Comece com Debug::Acquire::httpe Debug::Acquire::https.


    Se você literalmente tem

    Adquirir::http::Proxy "http://usuário:[email protected]:porta/";

    no seu arquivo de configuração do apt, isso não faz sentido algum: o que está dentro das aspas é apenas um espaço reservado para seu nome de usuário real , sua senha real , o nome do host real do servidor e a porta real .

    Portanto, se você não tiver um servidor proxy concreto que precise usar e souber seu nome de usuário, sua senha e o endereço do servidor, basta excluir este arquivo.

    Como está atualmente, o apt tenta fazer uma solicitação para proxy.server(literalmente proxy.server), e é claro que esse nome de host não existe, então ele não pode se conectar, então não pode baixar nada.

    • 0

relate perguntas

  • Como habilitar o proxy_arp presente

  • Entendendo a saída da lista apt

  • Tentar instalar o pacote debian npm faz com que o apt-get remova o libssl-dev

  • Como baixar o pacote não instalá-lo com o comando apt-get?

  • Qual é o benefício de /etc/apt/sources.list.d sobre /etc/apt/sources.list

Sidebar

Stats

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

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk 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