私適切なストレージ。
このリポジトリは、実際にすでに存在し、動作しているリポジトリを置き換えます。このリポジトリからパッケージをインストールできません。
私の中には/etc/apt/sources.list
次の行があります。
deb http://mirror.cs50.net/appliance50/2014/debs/dists/trusty/main/binary-i386 /
すべてapt-get update
最高です。しかし、apt-get install appliance50
(このリポジトリのパッケージ)のようなものは私に以下を提供します:
Err http://mirror.cs50.net/appliance50/2014/debs/dists/trusty/main/binary-i386/ appliance50 2014-0
404 Not Found
E: Failed to fetch http://mirror.cs50.net/appliance50/2014/debs/dists/trusty/main/binary-i386/./appliance50_2014-0_i386.deb 404 Not Found
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
しかし、URLをブラウザにコピーすると、ファイルは正常にダウンロードされます!いくつかの基本的なステップがありませんか?これは、このサーバーがリクエストをS3にリダイレクトするという事実に関連していますか?
編集する:
コメントに基づいて、以下は「sudo apt-get -o Debug::Acquire::Http=true install Appliance50」の出力です。
root@ubuntu:~# sudo apt-get -o Debug::Acquire::Http=true install appliance50
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
apt-clone archdetect-deb cifs-utils dmraid dpkg-repack
gir1.2-appindicator3-0.1 gir1.2-json-1.0 gir1.2-timezonemap-1.0
gir1.2-xkl-1.0 kpartx kpartx-boot libdebian-installer4
libdevmapper-event1.02.1 libdmraid1.0.0.rc16 libldb1 libntdb1 libtalloc2
libtevent0 libtimezonemap1 libwbclient0 localechooser-data lvm2 lzma
python-crypto python-ldb python-ntdb python-samba python-talloc python-tdb
python3-icu python3-pam rdate samba-common samba-common-bin samba-libs
watershed
Use 'apt-get autoremove' to remove them.
The following packages will be upgraded:
appliance50
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,205 kB of archives.
After this operation, 4,096 B of additional disk space will be used.
0% [Working]GET /appliance50/2014/debs/dists/trusty/main/binary-i386/./appliance50_2014-0_i386.deb HTTP/1.1
Host: mirror.cs50.net
User-Agent: Debian APT-HTTP/1.3 (1.0.1ubuntu2)
HTTP/1.1 404 Not Found
Cache-control: no-cache="set-cookie"
Content-Type: text/html; charset=UTF-8
Date: Mon, 04 Aug 2014 14:23:53 GMT
Server: Apache
Set-Cookie: AWSELB=27CBB9F102866AACDE415904FB505399868B9DB4E22AC5183099E4BEEC583EF1DFA3B6E45DCB1D708481F98DC786A644C763A900F7898475BA865AD219D4E4F1F157545837;PATH=/;MAX-AGE=3600
Content-Length: 0
Connection: keep-alive
Err http://mirror.cs50.net/appliance50/2014/debs/dists/trusty/main/binary-i386/ appliance50 2014-0
404 Not Found
E: Failed to fetch http://mirror.cs50.net/appliance50/2014/debs/dists/trusty/main/binary-i386/./appliance50_2014-0_i386.deb 404 Not Found
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
答え1
これはサーバーのバグですapt-get
。正しいGETヘッダーが送信されないため、サーバーは404で応答します。
たとえば、mirror.cs50.net
ポート80(HTTP)でサーバーにTelnetで接続し、次のように入力します(apt-getリクエストシミュレーション)。
GET /appliance50/2014/debs/dists/trusty/main/binary-i386/./appliance50_2014-0_i386.deb HTTP/1.1
User-Agent: Debian APT-HTTP/1.3 (1.0.1ubuntu2)
Host: mirror.cs50.net
Accept: */*
これにより、以下が表示されます。
telnet mirror.cs50.net 80
Trying 54.84.6.206...
Connected to mirror.cs50.net.
Escape character is '^]'.
GET /appliance50/2014/debs/dists/trusty/main/binary-i386/./appliance50_2014-0_i386.deb HTTP/1.1
User-Agent: Debian APT-HTTP/1.3 (1.0.1ubuntu2)
Host: mirror.cs50.net
Accept: */*
HTTP/1.1 404 Not Found
Cache-control: no-cache="set-cookie"
Content-Type: text/html; charset=UTF-8
Date: Mon, 04 Aug 2014 18:31:01 GMT
Server: Apache
Set-Cookie: AWSELB=27CBB9F102866AACDE415904FB505399868B9DB4E22AC5183099E4BEEC583EF1DFA3B6E45DFCB95EFBFF7B8F8F555126DCFFF8A461898475BA865AD219D4E4F1F157545837;PATH=/;MAX-AGE=3600
Content-Length: 0
Connection: keep-alive
GET要求で点()を省略すると、/./
要求はリダイレクト(302)で応答します。これは正しいです。
GET /appliance50/2014/debs/dists/trusty/main/binary-i386/appliance50_2014-0_i386.deb HTTP/1.1
Host: mirror.cs50.net
User-Agent: Debian APT-HTTP/1.3 (1.0.1ubuntu2)
HTTP/1.1 302 Found
Cache-control: no-cache="set-cookie"
Content-Type: text/html; charset=UTF-8
Date: Mon, 04 Aug 2014 19:03:27 GMT
Location: http://dkui3cmikz357.cloudfront.net/appliance50/2014/debs/dists/trusty/main/binary-i386/appliance50_2014-0_i386.deb
Server: Apache
Set-Cookie: AWSELB=27CBB9F102866AACDE415904FB505399868B9DB4E22AC5183099E4BEEC583EF1DFA3B6E45DFCB95EFBFF7B8F8F555126DCFFF8A461898475BA865AD219D4E4F1F157545837;PATH=/;MAX-AGE=3600
Content-Length: 0
Connection: keep-alive
私はこれを別のミラーとして確認しましたが、彼らは同じ状況を報告しました。
Trying 64.50.233.100...
Connected to ftp-nyc.osuosl.org.
Escape character is '^]'.
GET /debian/pool/main/e/./efivar_0.10-5_i386.deb HTTP/1.1
Host: ftp-nyc.osuosl.org
User-Agent: Debian APT-HTTP/1.3 (1.0.6)
HTTP/1.1 404 Not Found
Date: Mon, 04 Aug 2014 18:47:03 GMT
Server: Apache
Content-Length: 307
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /debian/pool/main/e/efivar_0.10-5_i386.deb was not found on this server.</p>
<hr>
<address>Apache Server at ftp-nyc.osuosl.org Port 80</address>
</body></html>
Connection closed by foreign host.
エラーレポートにapt-getのgetヘッダーを含める必要があり、ドットスラッシュを削除する必要があります。