descompacte a pasta parcial do arquivo tar do URL

descompacte a pasta parcial do arquivo tar do URL

Eu tenho um URL que leva a um arquivo tar de tamanho grande, em torno de 200 GB, preciso extrair uma pasta desse arquivo no meu sistema Linux. Devido ao grande tamanho do arquivo, não quero baixar o arquivo inteiro para o meu sistema Linux. Além disso, não tenho acesso shh ao sistema de origem.

Existe alguma maneira de extrair apenas uma pequena parte do arquivo tar.gz?

Responder1

Para extrair apenas um diretório específico, você precisa saber os nomes exatos dos arquivos. Curingas não funcionam com tar. e o comando será semelhante

curl -s -o - <URL>|tar xz /path/file1 /path/file2  ...

Responder2

O tarformato não permite endereçar um arquivo (ou diretório) diretamente - isso se deve ao fato de quetmacacoarcebolinhas deveriam ser lidas sequencialmente a partir de uma mídia de backup.

O que você pode fazer, é claro, é interromper o processo após a extração das partes relevantes. Você faria algo como

curl -o - 'http://your/url' | tar -xvz your_filter

Isso fará o download do arquivo começando do início e extrairá as partes relevantes. Assim que tiver tudo o que precisa, você pode interromper o processo para evitar o download do resto.

Dependendo do tipo de acesso que você tem ao servidor de origem, você pode fazer ainda melhor: Você tem PHP sem modo de salvamento? Se sim, você pode extrair o que precisa por meio shell_execde amigos.

informação relacionada