Como é possível baixar um arquivo iso quando somente o iso.gz está listado na biblioteca FTP

1

Eu acertei um comportamento do wget do servidor FTP (URL: ftp://foo.com/bar/ .. .) isso não era familiar para mim. Você pode me direcionar para alguma documentação ou explicar como é possível o seguinte?

Se eu obtiver o URL da pasta, receberei um index.html (mostrado na parte inferior da postagem) com a seguinte listagem, que mostra que apenas o arquivo compactado está disponível: os_image_123_0-incr-repo.iso.gz

Eu posso acessar o URL desse arquivo e obter um arquivo gzip com uma soma de verificação MD5 específica.

c4fd702b3ad296561b2ec7e4b888e624  os_image_123_0-incr-repo.iso.gz
os_image_123_0-incr-repo.iso.gz:        gzip compressed data - deflate method , original file name

No entanto, também posso ignorar a mesma URL de arquivo omitindo a extensão .gz , deixando apenas o nome de arquivo os_image_123_0-incr-repo.iso e agora terei um arquivo iso, que não está listado no index.html .

08daf88aca95325c3aa9ae6406e02198  os_image_123_0-incr-repo.iso
os_image_123_0-incr-repo.iso:   ISO 9660 filesystem image

É como se wget "saiba" extrair o iso do arquivo iso.gz.

É isso que acontece? Como isso funciona?

Este é o conteúdo listado no index.html da pasta:

2016 Apr 13 14:45  Directory   <a href="ftp://foo.com/bar/05/.RE/">.RE/</a> 
2016 Apr 13 14:36  File        <a href="ftp://foo.com/bar/05/README.11.3.7">README.11.3.7</a>  (3097 bytes)
2016 Apr 13 14:36  File        <a href="ftp://foo.com/bar/05/md5sum-repo-iso-123_0.txt">md5sum-repo-iso-123_0.txt</a>  (63 bytes)
2016 Apr 13 13:02  File        <a href="ftp://foo.com/bar/05/md5sums.txt">md5sums.txt</a>  (321 bytes)
2016 Apr 13 09:52  File        <a href="ftp://foo.com/bar/05/os_image_123_0-ai-sparc.iso">os_image_123_0-ai-sparc.iso</a>  (570142720 bytes)
2016 Apr 13 09:53  File        <a href="ftp://foo.com/bar/05/os_image_123_0-ai-x86.iso">os_image_123_0-ai-x86.iso</a>  (496521216 bytes)
2016 Apr 13 13:02  File        <a href="ftp://foo.com/bar/05/os_image_123_0-fallback_boot-sparc.pkg">os_image_123_0-fallback_boot-sparc.pkg</a>  (103859114 bytes)
2016 Apr 13 14:37  File        <a href="ftp://foo.com/bar/05/os_image_123_0-incr-repo.iso.gz">os_image_123_0-incr-repo.iso.gz</a>  (3613854717 bytes)
2016 Apr 13 09:52  File        <a href="ftp://foo.com/bar/05/os_image_123_0-text-sparc.iso">os_image_123_0-text-sparc.iso</a>  (885370880 bytes)
2016 Apr 13 09:53  File        <a href="ftp://foo.com/bar/05/os_image_123_0-text-x86.iso">os_image_123_0-text-x86.iso</a>  (795648000 bytes)
2016 Apr 13 14:38  Directory   <a href="ftp://foo.com/bar/05/zipped-repo/">zipped-repo/</a> 

Adicionando saída wget.

[my_user 503 0 /tmp]$ wget ftp://foo.bar.com/products/Solaris_11/s11.3/support/sru07/05/sol-11_3_7_5_0-incr-repo.iso.gz
--2016-05-10 06:39:19--  ftp://foo.bar.com/products/Solaris_11/s11.3/support/sru07/05/sol-11_3_7_5_0-incr-repo.iso.gz
           => ‘sol-11_3_7_5_0-incr-repo.iso.gz’
           Resolving foo.bar.com (foo.bar.com)... 10.10.11.11
           Connecting to foo.bar.com (foo.bar.com)|10.10.11.11|:21... connected.
           Logging in as anonymous ... Logged in!
           ==> SYST ... done.    ==> PWD ... done.
           ==> TYPE I ... done.  ==> CWD (1) /products/Solaris_11/s11.3/support/sru07/05 ... done.
           ==> SIZE sol-11_3_7_5_0-incr-repo.iso.gz ... 3613854717
           ==> PASV ... done.    ==> RETR sol-11_3_7_5_0-incr-repo.iso.gz ... done.
           Length: 3613854717 (3.4G) (unauthoritative)

           sol-11_3_7_5_0-incr-repo.iso.gz        100%[===========================================================================>]   3.37G  99.5MB/

           2016-05-10 06:39:56 (94.4 MB/s) - ‘sol-11_3_7_5_0-incr-repo.iso.gz’ saved [3613854717]
[my_user 505 0 /tmp]$ wget ftp://foo.bar.com/products/Solaris_11/s11.3/support/sru07/05/sol-11_3_7_5_0-incr-repo.iso
--2016-05-10 06:43:25--  ftp://foo.bar.com/products/Solaris_11/s11.3/support/sru07/05/sol-11_3_7_5_0-incr-repo.iso
           => ‘sol-11_3_7_5_0-incr-repo.iso’
           Resolving foo.bar.com (foo.bar.com)... 10.10.11.11
           Connecting to foo.bar.com (foo.bar.com)|10.10.11.11|:21... connected.
           Logging in as anonymous ... Logged in!
           ==> SYST ... done.    ==> PWD ... done.
           ==> TYPE I ... done.  ==> CWD (1) /products/Solaris_11/s11.3/support/sru07/05 ... done.
           ==> SIZE sol-11_3_7_5_0-incr-repo.iso ... done.

           ==> PASV ... done.    ==> RETR sol-11_3_7_5_0-incr-repo.iso ... done.

           sol-11_3_7_5_0-incr-repo.iso               [                                                            <=>             ]   4.04G  32.3MB/

           2016-05-10 06:45:39 (30.9 MB/s) - ‘sol-11_3_7_5_0-incr-repo.iso’ saved [4337887232]
    
por RaamEE 09.05.2016 / 10:48

1 resposta

2

É provável que o servidor esteja configurado para procurar .gz file, quando o arquivo solicitado não for encontrado e retornar um conteúdo extraído.

Com o HTTP, provavelmente é fácil configurá-lo com o Apache mod_rewrite e mod_deflate modules. Não tenho certeza se algum servidor FTP suporta isso.

    
por 09.05.2016 / 11:14