AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 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 和镜像错误或无法获取

  • 772

我的/etc/apt/sources.list包含:

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

但是当我尝试与软件更新相关的任何事情时,例如, sudo apt update --fix-missing && sudo apt upgrade我在终端上得到以下输出:

    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.

我尝试安装的任何东西都会出现类似的问题:

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

尝试从Software update应用程序更改服务器卡在缓存刷新中,或最终返回类似于Failed to fetch one(窗口不允许我复制和粘贴输出错误)的错误。

有关我的系统的更多信息:

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

什么应该进入services.listand proxy,问题可能是什么?

编辑#1:我认为我/etc/apt/apt.conf错了,我希望能在该文件中提供一些帮助。echo "$http_proxy"不返回任何东西,也不返回任何东西env | grep -i proxy。设置 --> 代理网络设置为禁用,但如果我检查Manual我进入proxy-server-ip“代理 HTTP”字段并且8080是端口。

编辑#2:我的/etc/apt/apt.conf.d/proxy.conf包含两行:

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

2 个回答

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

    看起来您的机器正在尝试解析一个名为proxy_server. 尝试ping -c 5 proxy_server查看它是否列出了 IP,以及是否可以通过 ICMP 访问它。如果您确实想要使用代理,请在/etc/hosts或中检查该 IP grep 'proxy_server' /etc/hosts,并确保您可以使用或proxy_server通过 TCP连接到列出的 IP 。端口通常是 HTTP 的 8080 或 SOCKS 的 1080,但实际上可以设置为任何值。您将从配置文件中获取端口信息,详细步骤如下。telnet proxy_server [port]nc proxy_server:[port]apt

    如果可以 pingproxy_server通,请确保代理正常工作并侦听您在任何文件中列出的正确端口/etc/apt。要列出这些文件,请运行grep -rl 'proxy_server' /etc/apt.

    如果您不打算使用代理进行连接,那么grep -rl 'proxy_server' /etc/apt查看哪些文件列出了该字符串。要删除包含该字符串的所有行,请以 root 身份运行以下命令grep -rl 'proxy_server' /etc/apt | xargs -I file sed -i '/proxy_server/d' file,然后重试。

    如果输出中没有列出任何文件grep,则运行sudo http_proxy= https_proxy= apt update --fix-missing && sudo http_proxy= https_proxy= apt upgrade,然后重试。

    如果可行,那么您正在环境中的某处设置http_proxy和/或变量,很可能是在 中,但实际上,这些变量可以设置在各种获取源的文件中)。有关这些文件的更多信息,请查看此答案。要查看这些变量是否设置在 中,您可以运行以下命令来删除它们,或者运行下面的脚本,这样会更安全一些。https_proxy/root/.bashrc/root/.bashrc

    立即删除http_proxy和https_proxy从中删除的命令.bashrc:

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

    注意:我列出您自己的原因~/.bashrc是因为有时在某些情况下,root 设置为继承用户的配置文件。

    在尝试删除它们之前检查这些行是否确实存在的脚本(请注意,如果这些行不存在,前面的命令不会失败,但这实际上会在输出中返回这些行,以便您知道它们存在的位置:

    #!/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
    
    

    或者,如果您更喜欢可以复制/粘贴的单行文字:

    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
    

    重要提示:如果您在这些.bashrc文件中直接有任何用于切换代理的函数或别名,它将删除任何包含http_proxy或的行https_proxy。在您的情况下,将上述命令/脚本中的http_proxy和替换为.https_proxyproxy_server

    您的特定单线将如下所示:

    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
    

    编辑:我根据您的评论更正了该grep命令,在重新阅读您的问题后,如果您根本不想连接到代理,只需mv /etc/apt/apt.conf.d/proxy.conf /tmp/重新运行该命令,它应该可以正常工作。如果这是唯一出现的地方proxy_server,那么我不确定为什么删除这些行不起作用,但它可能会proxy.conf被缓存在某个地方。通过完全删除文件,您的代理设置可能会重新初始化。

    问题的实际根源是您在 中具有虚拟/示例设置/etc/apt/apt.conf.d/proxy.conf,这实际上是在尝试解析proxy_server端口上的主机port。如您所知,proxy_server它实际上并不存在,并且port必须是实际的端口号才能apt成功连接。

    通过删除该proxy.conf文件(根本不需要该文件apt,并且默认情况下通常不存在),您应该能够解决此问题。

    编辑#2:如果您确实需要连接到代理,那么只需保留/etc/apt/apt.conf.d/proxy.conf并替换proxy_server为代理服务器的实际 IP 或主机名以及port实际端口号。或者,您可以替换port为实际的端口号并创建一个条目/etc/hosts以proxy_server指向实际代理服务器的正确 IP 地址。

    最终编辑:与用户聊天后,他们删除了/etc/apt/apt.conf.d/proxy.conf但仍然遇到同样的问题,除了没有解决proxy_server,它没有解决proxy.server,这让我相信代理设置是在另一个位置设置的。

    我让他们跑grep -rlE 'Acquire::.*::Proxy' /etc/apt/,它回来了/etc/apt/apt.conf。

    然后我指示他们运行grep -nE 'Acquire::.*::Proxy' /etc/apt/apt.conf,它返回以下内容:

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

    这基本上与 相同/etc/apt/apt.conf.d/proxy.conf,只是主机名是proxy.server而不是proxy_server。仍然是虚拟/示例设置。在指示他们注释掉第 5 行和第 6 行并重新运行 的初始命令后sudo apt update --fix-missing && sudo apt upgrade,他们确认它工作正常并获取更新。

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

    部分答案:

    终端输出表明您在某处配置了代理服务器。由于您没有提供完整的 apt 配置,请查看如何配置代理服务器 apt(例如,此处,第一个 Google 结果),然后检查您的完整 apt 配置/etc/apt,看看您是否在某处有一些代理设置.

    如果没有,下一步就是在验证没有设置代理之后sudo env查看环境。 sudo

    当前问题中没有足够的信息来确定实际原因,这需要调试。


    如果 apt 配置中没有任何代理相关的内容sudo env,并且任何地方都没有代理设置,那么下一步是查看man apt.conf并启用调试输出。 Debug::Acquire::http从和开始 Debug::Acquire::https。


    如果你真的有

    获取::http::Proxy "http://user:[email protected]:port/";

    在您的 apt 配置文件中,那么这根本没有意义:引号内的内容只是您的实际用户名、实际密码、服务器的实际主机名和实际端口的占位符。

    因此,如果您没有需要使用的具体代理服务器,并且您知道您的用户名、密码和服务器地址,那么只需删除此文件即可。

    目前,apt 尝试向proxy.server(字面意思proxy.server)发出请求,当然这个主机名不存在,因此无法连接,因此无法下载任何内容。

    • 0

相关问题

  • 如何启用永久 proxy_arp

  • 了解 apt 列表输出

  • 尝试安装 debian 软件包 npm,使 apt-get 删除 libssl-dev

  • 如何下载软件包而不是使用 apt-get 命令安装它?

  • /etc/apt/sources.list.d 比 /etc/apt/sources.list 有什么好处

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve