apt-getと画像エラーがあるか、画像を取得できません。

apt-getと画像エラーがあるか、画像を取得できません。

私の/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-ip8080

編集#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_serverping -c 5 proxy_serverIPがリストされていること、および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_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_serverportproxy_serverportapt

このproxy.confファイルを削除すると、この問題を解決できます(まったく必要なく、通常はaptデフォルトでは存在しません)。

編集#2:プロキシに接続する必要がある場合は、プロキシをそのままにして、プロキシサーバーの物理IPまたはホスト名と実際のポート番号に/etc/apt/apt.conf.d/proxy.conf置き換えてください。あるいは、実際のポート番号を変更し、物理プロキシサーバーの正しいIPアドレスを指すエントリを作成することもできます。proxy_serverportport/etc/hostsproxy_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 envaptの設定どこにもプロキシ設定がない場合、次のステップはman apt.confデバッグ出力を表示して有効にすることです。Debug::Acquire::httpとで始めますDebug::Acquire::https


もしあなたなら文字通り持つ

インポート::http::proxy "http://ユーザー:[Eメール保護]:ポート/ ";

適切な設定ファイルでは、これはまったく意味がありません。引用符の中にあるのは単なるプレースホルダーです。実際ユーザー名、あなたの実際パスワード、実際サーバーのホスト名と実際ポート。

だからあなたがいなければ特定プロキシサーバーを使用する必要があり、ユーザー名、パスワード、サーバーアドレスを知っている場合は、ファイルを削除するだけです。

proxy.server現在、aptは文字通りに要求を試みておりproxy.server、もちろん、そのホスト名が存在しないため、接続できないため、何もダウンロードできません。

関連情報