私の/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
(Windowsでは出力エラーをコピーして貼り付けることはできません)。
私のシステムに関する追加情報:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.4 LTS
Release: 20.04
Codename: focal
services.list
合計には何が含まれなければならず、proxy
何が問題なのでしょうか。
編集#1:私が間違っていると思います。/etc/apt/apt.conf
そのファイルの内容を理解するのに助けが必要です。echo "$http_proxy"
何も返さず、何も返されませんenv | grep -i proxy
。設定-->プロキシネットワークが無効に設定されていることを確認すると、「プロキシHTTP」フィールドに入るManual
ポートです。proxy-server-ip
8080
編集#2:鉱山/etc/apt/apt.conf.d/proxy.conf
には2行が含まれています。
Acquire::http::Proxy "http://proxy_server:port/";
Acquire::https::Proxy "http://proxy_server:port/";
答え1
あなたのコンピュータが文字通り名前を持つホストをチェックしようとしているようですproxy_server
。ping -c 5 proxy_server
IPがリストされていること、およびICMP経由でアクセスできることを確認してください。プロキシを使用するには、/etc/hosts
またはIPを確認し、TCPを使用してリストされたIPに接続できるgrep 'proxy_server' /etc/hosts
ことを確認してください。proxy_server
ポートは通常HTTPの場合は8080、SOCKSの場合は1080ですが、実際には任意の値に設定できます。設定ファイルからポート情報を取得し、具体的な手順は次のとおりです。telnet proxy_server [port]
nc proxy_server:[port]
apt
pingが可能な場合は、proxy_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
は、ルートがユーザープロファイルを継承するように設定されているためです。
この行を削除する前に実際に存在することを確認するスクリプト(行が存在しなくても、前のコマンドは失敗しませんが、実際に出力に行を返すので、その行がどこにあるかを知ることができます):
#!/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
または、1行を好む場合はコピー/貼り付けできます。
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_proxy
proxy_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:プロキシに接続する必要がある場合は、プロキシをそのままにして、プロキシサーバーの物理IPまたはホスト名と実際のポート番号に/etc/apt/apt.conf.d/proxy.conf
置き換えてください。あるいは、実際のポート番号を変更し、物理プロキシサーバーの正しいIPアドレスを指すエントリを作成することもできます。proxy_server
port
port
/etc/hosts
proxy_server
最終編集:ユーザーとチャットした後に削除しましたが、/etc/apt/apt.conf.d/proxy.conf
まだ同じ問題が発生します。ただしproxy_server
、unresolvedの代わりにunresolvedなので、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
彼らは正常に動作し、更新を受けていることを確認しました。
答え2
部分的な答え:
ターミナル出力は、プロキシサーバーがどこかに設定されていることを示します。完全なapt設定を提供していないので、プロキシサーバーのaptの設定方法を参照してください(例:ここ、最初の Google の結果) その後、適切な設定全体を確認し、/etc/apt
どこかにプロキシ設定があることを確認します。
そうでない場合は、次のステップはsudo env
環境を見てみるのと同じことを行います。後ろに sudo
プロキシが設定されていないことを確認してください。
現在の質問には、デバッグが必要な実際の原因を特定するのに十分な情報がありません。
にプロキシ関連のエントリがなく、sudo env
aptの設定どこにもプロキシ設定がない場合、次のステップはman apt.conf
デバッグ出力を表示して有効にすることです。Debug::Acquire::http
とで始めますDebug::Acquire::https
。
もしあなたなら文字通り持つ
インポート::http::proxy "http://ユーザー:[Eメール保護]:ポート/ ";
適切な設定ファイルでは、これはまったく意味がありません。引用符の中にあるのは単なるプレースホルダーです。実際ユーザー名、あなたの実際パスワード、実際サーバーのホスト名と実際ポート。
だからあなたがいなければ特定プロキシサーバーを使用する必要があり、ユーザー名、パスワード、サーバーアドレスを知っている場合は、ファイルを削除するだけです。
proxy.server
現在、aptは文字通りに要求を試みておりproxy.server
、もちろん、そのホスト名が存在しないため、接続できないため、何もダウンロードできません。