Я часто скачиваю архивы с wget с sourceforge.net.
Загруженные файлы затем называются, например, 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
извлечения работает отлично.
Есть ли способ, что я не вынужден переименовывать каждый раз целевой файл перед извлечением?
--force-local
это должно быть добавлено доf
... когда я впервые попробовал это, он выдавал мне сообщение об ошибке о том, что такого файла нет--force-local
. Может быть, это слишком "нет дух", но я не признал ошибку, которую я сделал, до 5 минут спустя.f
принимает аргумент, который является tarfile. Вы не можете поставить--force-local
междуf
аргументом и его аргументом, но это стандартно для всех программ, не толькоtar
и не только-f
. Вы можете поставить--force-local
после того,f
как это также после аргументаf
.tar -cvzf ...
и даже не думаю о том, что каждый флаг делает в 99% случаев - просто рефлексия, что именно так я и создаю tar.gz.tar zxvf C:\Users\jdoe\Documents\tarfile.tgz --force-local
При загрузке с помощью
wget
укажите имя выходного файла с-O
параметром.Это приведет к сохранению файла с указанным именем файла и избавит вас от хлопот или переименования. И нет, вы не единственный, кто хочет, чтобы sourcefourge не был настолько глуп, чтобы раздавать файлы с прикрепленными параметрами url.
источник
wget
это. Используйте--content-disposition
флаг для сохранения с указанным сервером именем файла (но остерегайтесь последствий для безопасности, поскольку SourceForge может затем записать произвольное имя файла).Скачать с помощью
Таким образом, wget будет сохранять правильные имена файлов. По умолчанию он использует последний компонент в URL
Например,
источник
Как указано выше,
:
(столбец) заставляетtar
думать, что это удаленный файл. Таким образом, мы должны обеспечить факт, что это локально.Провал
Решение
Объясните тот факт, что это локальный файл, добавив
./
(текущий каталог) и правильно указав в кавычках:Предупреждение связано с тем, что я создаю в исходном каталоге.
источник
Для уже загруженных файлов это должно работать:
источник