tar抽出はファイル名によって異なりますか?

tar抽出はファイル名によって異なりますか?

私はよくwgetを使ってsourceforge.netからtarballをダウンロードします。

次に、ダウンロードしたファイルの名前を指定します。SQliteManager-1.2.4.tar.gz?r=http:%2F%2Fsourceforge.net%2Fprojects%2Fsqlitemanager%2Ffiles%2F&ts=1305711521&use_mirror=switch

私が試したとき

tar xzf SQliteManager-1.2.4.tar.gz\?r\=http\:%2F%2Fsourceforge.net%2Fprojects%2Fsqlitemanager%2Ffiles%2F\&ts\=1305711521\&use_mirror\=switch

次のエラーメッセージが表示されます。

tar (child): Cannot connect to SQliteManager-1.2.4.tar.gz?r=http: resolve failed

gzip: stdin: unexpected end of file
tar: Child returned status 128
tar: Error is not recoverable: exiting now

ファイルの名前を変更すると、foo.tar.gz解凍は完全に機能します。

抽出するたびにターゲットファイルの名前を変更する必要がない方法はありますか?

ベストアンサー1

表示されるエラーの原因は次のとおりです。GNU tar ドキュメント:

アーカイブファイル名にコロン(':')が含まれている場合は、別のコンピュータ上のファイルと見なされます[...]

つまり、これをSQliteManager-1.2.4.tar.gz?r=httpホスト名として解釈し、それをIPアドレスに解決しようとすると、「確認失敗」エラーが発生します。

同じ文書は続けて次のように言います。

名前にコロンを含むファイルを使用する必要がある場合は、「--force-local」オプションを使用してリモートテープドライブの動作を抑制できます。

おすすめ記事