サーバーからSOFA統計をダウンロードするには、wgetコマンドを使用します。
wget -c http://sourceforge.net/projects/sofastatistics/files/latest/download?source=dlp
この場合、ダウンロードしたファイルのファイル名はdownload?source=files
です。コマンドに--output-document
オプションを追加して、出力ファイルの名前をsofastatistics-latest.deb
に変更すると、ダウンロードしたファイルの形式がdpkgパッケージで認識されません。
dpkg-deb: error: `sofastatistics-latest.deb' is not a debian format archive
ダウンロードしたファイルの名前をwgetで正しく変更するにはどうすればよいですか?
更新-Jan 08 '15
提供されたリンクを使用すると、ダウンロードしたファイルは常に* .tar.gzになります。実際の名前で取得するには、このように--content-disposition
オプションを追加するだけです(@ 6EQUJ5のおかげです!)。
wget --content-disposition http://sourceforge.net/projects/sofastatistics/files/latest/download?source=dlp
しかし、*。debファイルが必要だったので、ここは@creaktiveでした。*。debファイルリンクを検索する必要がありました。
答えてくれてありがとう!
標準出力の任意のファイル名へのリダイレクトは常に機能します。 man wgetのように、-Oを使用して正しく実行しています
wget http://www.kernel.org/pub/linux/kernel/README -O foo
--2013-01-13 18:59:44-- http://www.kernel.org/pub/linux/kernel/README
Resolving www.kernel.org... 149.20.4.69, 149.20.20.133
Connecting to www.kernel.org|149.20.4.69|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12056 (12K) [text/plain]
Saving to: `foo'
100%[======================================================================================================================================>] 12,056 --.-K/s in 0.003s
2013-01-13 18:59:45 (4.39 MB/s) - `foo' saved [12056/12056]
実際、ファイルにHTMLが含まれている必要があります(通常はman fileで確認できます)。
[編集]
あなたの場合、クライアントは受信しています302 Found(curl -v URLで確認できます)。
次のcurlは、3xxを尊重してトリックを行います。
$ curl -L http://sourceforge.net/projects/sofastatistics/files/latest/download?source=files -o foo.deb
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 463 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0
100 2035k 100 2035k 0 0 390k 0 0:00:05 0:00:05 --:--:-- 1541k
$ file foo.deb
foo.deb: gzip compressed data, was "sofastats-1.3.1.tar", last modified: Thu Jan 10 00:30:44 2013, max compression
wgetにHTTPリダイレクトを許容する同様のオプションがあるはずです。
Webブラウザから同じダウンロードを行い、ブラウザが実際にファイルに正しい名前を付けていることに気付いた場合は、--content-disposition
オプションを使用してwgetに同じ動作をさせることができます。
wget --content-disposition http://sourceforge.net/projects/sofastatistics/files/latest/download?source=dlp
私のDebianのmanページはこれを「実験的な」機能として報告していますが、私にとっては機能していなかったことを思い出せません。
--content-disposition
If this is set to on, experimental (not fully-functional) support for "Content-Disposition" headers is enabled. This can currently result in extra round-trips to the server
for a "HEAD" request, and is known to suffer from a few bugs, which is why it is not currently enabled by default.
This option is useful for some file-downloading CGI programs that use "Content-Disposition" headers to describe what the name of a downloaded file should be.
そのリンクは、最終的な宛先ではなく、リダイレクタを指します!したがって、HTMLをダウンロードし、.deb
に名前を変更しています。乱雑なページの上部にはこれがあります:
ダウンロードは0秒後に開始されます...ダウンロードに問題がありますか?これを使用してください 直接リンク 、または別の ミラー を試してください。
現在、thisは有効なリンクです(download
プレフィックスに注意してください): http://downloads.sourceforge.net/ project/sofastatistics/sofastatistics/1.3.1/sofastats-1.3.1-1_all.deb?r = http%3A%2F%2Fsourceforge.net%2Fprojects%2Fsofastatistics%2Ffiles%2Fsofastatistics%2F1.3.1%2F&ts = 1358119361&use_mirror = ufpr
このURLをwget
に渡します。また、SourceForgeはUser-Agent文字列を介して運用システムをゲストに仕向けようとしていることに注意してください。 「wget」の最良の推測は.tar.gzパッケージのようです。したがって、debファイルを要求して、より具体的にする必要があります!