O meu /etc/apt/sources.list
conté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 update
aplicativo 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.list
e proxy
, e qual poderia ser o problema?
EDIT # 1: Acho que o meu /etc/apt/apt.conf
está 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 Manual
recebo proxy-server-ip
no campo "Proxy HTTP" e 8080
é a porta.
EDIT # 2: My /etc/apt/apt.conf.d/proxy.conf
contém duas linhas:
Acquire::http::Proxy "http://proxy_server:port/";
Acquire::https::Proxy "http://proxy_server:port/";
Parece que sua máquina está tentando resolver um host literalmente chamado
proxy_server
. Tenteping -c 5 proxy_server
ver 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 apenasgrep 'proxy_server' /etc/hosts
, e verifique se pode se conectar ao IP listadoproxy_server
via TCP usandotelnet proxy_server [port]
ounc 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 seusapt
arquivos 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, executegrep -rl 'proxy_server' /etc/apt
.Se você não pretende usar um proxy para se conectar,
grep -rl 'proxy_server' /etc/apt
veja quais arquivos listam essa string. Para remover todas as linhas que contêm essa string, execute o seguinte como rootgrep -rl 'proxy_server' /etc/apt | xargs -I file sed -i '/proxy_server/d' file
e tente novamente.Se não houver arquivos listados na
grep
saída, executesudo http_proxy= https_proxy= apt update --fix-missing && sudo http_proxy= https_proxy= apt upgrade
e tente novamente.Se isso funcionar, você está definindo as variáveis
http_proxy
e/ouhttps_proxy
em 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_proxy
ehttps_proxy
de.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:
Ou se você preferir um one-liner que você pode copiar/colar:
Importante: Se você tiver quaisquer funções ou aliases diretamente nesses
.bashrc
arquivos destinados a alternar proxies, ele removerá todas as linhas que contenhamhttp_proxy
ouhttps_proxy
. No seu caso, pode ser mais seguro substituirhttp_proxy
ehttps_proxy
nos comandos/script acima porproxy_server
.Seu one-liner particular seria o seguinte:
Edit: corrigi o
grep
comando com base no seu comentário e, depois de reler sua pergunta, se você não deseja se conectar a um proxy, bastamv /etc/apt/apt.conf.d/proxy.conf /tmp/
e executar novamente o comando, e ele deve funcionar bem. Se esse é o único lugar queproxy_server
apareceu, não sei por que a remoção das linhas não funcionou, mas é possível queproxy.conf
esteja 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 hostproxy_server
na portaport
. Como você pode ver,proxy_server
na verdade não existe eport
teria que ser um número de porta real paraapt
se conectar com sucesso.Ao remover o
proxy.conf
arquivo (que não é necessário paraapt
funcionar 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.conf
no lugar e substituaproxy_server
pelo IP ou nome do host real do servidor proxy eport
pelo número da porta real. Como alternativa, você pode simplesmente substituirport
pelo número da porta real e criar uma entrada/etc/hosts
paraproxy_server
apontar 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.conf
mas ainda estavam recebendo o mesmo problema, exceto que, em vez de não resolverproxy_server
, não estava resolvendoproxy.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:Isso estava essencialmente fazendo o mesmo que
/etc/apt/apt.conf.d/proxy.conf
, apenas o nome do host eraproxy.server
em vez deproxy_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 desudo apt update --fix-missing && sudo apt upgrade
, eles confirmaram que estava funcionando corretamente e buscando atualizações.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/apt
e 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 env
examinar o ambiente depoissudo
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 olhadaman apt.conf
e habilitar a saída de depuração. Comece comDebug::Acquire::http
eDebug::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
(literalmenteproxy.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.