Как загрузить архив и извлечь его, не сохраняя архив на диск?

Я испытал это прежде, но Ваша проблема могла бы отличаться. Так или иначе, если то, что я сделал, помогает Вам затем хороший.

Некоторые провода USB стары и не сделаны передать достаточно питания привести в действие более требовательные устройства. Некоторые USB-порты стары и не удаются передать достаточно питания также.

У меня есть жесткий диск, которые идут с проводом USB, который имел 2 две головы для соединения с компьютером. На более новом ПК мне может сойти с рук использование просто головы USB с 'более массивным' проводом. На более новом ПК я должен включить обе головы к компьютеру, каждый используется для передачи данных и другого для передачи любой дополнительной мощности, в которой, возможно, нуждался бы haddrive, когда это начинает вращаться быстрее.

Действительно ли Ваш провод USB стар? Я предполагаю, что это не, если Вы не смешиваетесь вокруг своих проводов USB, что у Вас есть ложь вокруг. Действительно ли Ваш компьютер является более старым? Возможно, это - сам USB-порт, который не может поставить питание жесткому диску.

Если можно включить устройство к 'современному' компьютеру без проблем затем, я указываю на проблему на USB-порт.

Жесткий диск будет вращаться до такой степени, когда, он должен потреблять больше энергии и затем когда это не получает питание, он заикается, подает звуковой сигнал, потому что материал не идет путем, которым он запланировал, и затем или 'перезагрузки' и попытки вращаться снова или простаивает, пока Вы не подключаете повторно его, в зависимости от диска.

Я мог бы быть абсолютно неправым, но это произошло со мной.

67
02.08.2013, 02:31
4 ответа

Можно сделать это путем сообщения wget производить его полезную нагрузку к stdout (с флагом -O-) и подавите его собственный вывод (с флагом -q):

wget -qO- your_link_here | tar xvz -

Указывать целевой каталог:

wget -qO- your_link_here | tar xvz - -C /target/directory

Обновление

Если у Вас, оказывается, есть GNU tar

wget -qO- your_link_here | tar --transform 's/^dbt2-0.37.50.3/dbt2/' -xvz

должен позволить Вам делать все это за один шаг.

-q спокойно

-O - вывод к stdout

99
27.01.2020, 19:31

Эта острота добивается цели:

tar xvzf -C /tmp/ < <(wget -q -O - http://foo.com/myfile.tar.gz)

короткое объяснение: правая сторона в круглой скобке выполняется сначала (-q говорит wget делать это бесшумно, -O - используется для записи вывода в stdout).

Затем мы создаем именованный канал с помощью оператора замены процесса от Bash <( создать именованный канал. Таким образом, мы создаем временный дескриптор файла и затем направляем содержание того дескриптора к tar с помощью < оператор перенаправления файла.

11
27.01.2020, 19:31

Другой вариант — использовать curl, который по умолчанию записывает в стандартный вывод:

curl -s some_url | tar xvz -C /tmp
27
27.01.2020, 19:31

Именованный канал с решением для стандартного ввода и обратите внимание на флаги для tar-xvz

tar -xvz -C /tmp/ -f <(wget -q -O - https://github.com/user/repo/release/download/v/v.tar.gz)
0
02.09.2021, 15:35

Теги

Похожие вопросы