web-dev-qa-db-ja.com

pingが機能しているときに、サーバーでapt-getとwgetが失敗するのはなぜですか?

昨日は私のサーバーはまだ大丈夫でしたが、今日Sudo apt-get updateを試そうとすると、このエラーが発生しました: 更新プロセス

私は試して:Sudo rm /var/lib/apt/lists/* -vfそして This を取得します。その後updateを再試行しますが、問題を解決できません まだ同じエラーかもしれません


インターネット接続を確認してping google.comを試して、結果を取得します:

PING google.com (74.125.235.40) 56(84) bytes of data.
From 136.198.117.254: icmp_seq=1 Redirect Network(New nexthop: fw1.jvc-jein.co.id (136.198.117.6))
64 bytes from sin01s05-in-f8.1e100.net (74.125.235.40): icmp_req=1 ttl=53 time=20.6 ms
64 bytes from sin01s05-in-f8.1e100.net (74.125.235.40): icmp_req=2 ttl=53 time=18.2 ms
64 bytes from sin01s05-in-f8.1e100.net (74.125.235.40): icmp_req=3 ttl=53 time=33.0 ms
64 bytes from sin01s05-in-f8.1e100.net (74.125.235.40): icmp_req=4 ttl=53 time=30.0 ms
64 bytes from sin01s05-in-f8.1e100.net (74.125.235.40): icmp_req=5 ttl=53 time=28.1 ms

一部のサイトでは、getdeb server is downが原因である可能性があると述べています。


インストールしてみてください:

jeinqa@SVRQAR:~$ Sudo apt-get install pastebinit
Reading package lists... Error!
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_precise-security_restricted_binary-AMD64_Packages
E: The package lists or status file could not be parsed or opened.

試してください:

Sudo ufw status verbose

結果:

Status: inactive
3
klox

単にwget -q -O- http://www.google.com経由でGoogleホームページを取得しようとするテストに基づいて、ファイアウォール上にファイアウォールFW-1がありますmachine/domainjeinfwすべてのアウトバウンドhttpアクセスではないにしても、ほとんどブロックしているようです。 (Ping/ICMPはnothttpと同じなので、pingが機能するからといってhttpが機能するわけではありません)。

apt-getが失敗するのはそのためです-期待されるコンテンツではなく、text、bzip2、gzip、xzのいずれであっても、常にファイアウォールからこのHTML応答を取得しますファイルを要求するとき:

 <TITLE>エラー</ TITLE> 
 <BODY> 
 <H1>エラー</ H1> 
JeinfwのFW-1:アクセスが拒否されました。
 </ BODY> 

これを解決するには:

与えられたHTTPプロキシサーバーをセットアップする必要があります! (チャットで言われました!)

サーバーが http://139.xxx.xxx.xxx:808 であると仮定すると、

  • /etc/profile(またはお気に入りのエディター)でSudo nanoファイルを開きます。このファイルには、コンソールの起動時に初期化されるシステム全体の変数が保存されます。

  • 次の行を追加して、適切に変更します。 (残念ながら)一部のプログラムはどちらか一方のみを探すため、大文字と小文字の両方で複製する必要があります。

     http_proxy = http://139.xxx.xxx.xxx:8080/
     https_proxy = http://139.xxx.xxx.xxx:8080/
     ftp_proxy = http ://139.xxx.xxx.xxx:8080/
     no_proxy = "localhost、127.0.0.1、localaddress、.localdomain.com" 
     HTTP_PROXY = http://139.xxx.xxx .xxx:8080/
     HTTPS_PROXY = http://139.xxx.xxx.xxx:8080/
     FTP_PROXY = http://139.xxx.xxx.xxx:8080/
     NO_PROXY = "localhost、127.0.0.1、localaddress、.localdomain.com" 
    

次に、apt-getおよびUpdate Managerのプロキシを設定します

  • これらのプログラムは環境変数に従いません。 95proxies/etc/apt/apt.conf.d/というファイルを作成し、以下を含めます。

     Acquire :: http :: proxy "http://139.xxx.xxx.xxx:8080/";
    Acquire::ftp::proxy" ftp://139.xxx。 xxx.xxx:8080/";
    Acquire::https::proxy "https://139.xxx.xxx.xxx:8080/";
    

最後に、サーバーを再起動して変更を適用します。

5
ish