Saya sering mengunduh tarbal dengan wget dari sourceforge.net.
File yang diunduh kemudian dinamai, misalnya SQliteManager-1.2.4.tar.gz?r=http:%2F%2Fsourceforge.net%2Fprojects%2Fsqlitemanager%2Ffiles%2F&ts=1305711521&use_mirror=switch
Ketika saya mencoba
tar xzf SQliteManager-1.2.4.tar.gz\?r\=http\:%2F%2Fsourceforge.net%2Fprojects%2Fsqlitemanager%2Ffiles%2F\&ts\=1305711521\&use_mirror\=switch
Saya menerima pesan kesalahan berikut:
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
Setelah mengubah nama file ke foo.tar.gz
ekstraksi berfungsi dengan sempurna.
Apakah ada cara, bahwa saya tidak dipaksa untuk mengganti nama setiap kali file target sebelum diekstraksi?
--force-local
harus ditambahkan sebelumf
... ketika saya pertama kali mencoba ini memberi saya pesan kesalahan tentang bagaimana tidak ada file seperti itu--force-local
. Mungkin ini terlalu "tidak," tetapi saya tidak mengenali kesalahan yang saya buat sampai 5 menit kemudian.f
mengambil argumen yang merupakan tarfile. Anda tidak dapat menempatkan--force-local
antaraf
argumen dan argumennya, tetapi itu adalah standar untuk semua program, bukan adiltar
dan tidak adil-f
. Anda dapat menempatkan--force-local
setelahf
selama itu juga setelah argumen untukf
.tar -cvzf ...
dan bahkan tidak berpikir tentang apa yang benar-benar dilakukan setiap bendera 99% dari waktu - hanya refleksif bahwa itulah cara saya membuat tar.gz.tar zxvf C:\Users\jdoe\Documents\tarfile.tgz --force-local
Saat Anda mengunduh dengan
wget
, tentukan nama file keluaran dengan-O
opsi.Ini akan menyebabkan file untuk menyimpan dengan nama file yang diberikan dan menghemat masalah Anda atau mengubah nama itu. Dan tidak, Anda bukan satu-satunya yang berharap sourcefourge tidak akan sebodoh itu untuk membagikan file dengan parameter url yang dilampirkan.
sumber
wget
itu. Gunakan--content-disposition
flag untuk menyimpan dengan nama file yang ditentukan server (tapi waspadalah terhadap implikasi keamanan, karena SourceForge kemudian dapat menulis ke nama file yang sewenang-wenang).Unduh menggunakan
Dengan begitu wget akan menyimpan dengan nama file yang benar. Secara default menggunakan komponen terakhir di URL
Untuk misalnya
sumber
Seperti dikutip di atas,
:
kolom (membuat)tar
berpikir itu adalah file jarak jauh. Jadi kita perlu menegakkan fakta itu lokal.Gagal
Larutan
Menjelaskan fakta bahwa ini adalah file lokal dengan menambahkan
./
(direktori saat ini) dan mengutip dengan benar:Peringatan ini karena fakta yang saya buat di direktori sumber.
sumber
Untuk file yang sudah diunduh, ini seharusnya bekerja:
sumber