Imprimir post Imprimir post
 

Utilizando hard links para obter vídeos da Internet

Posted by Eriberto on mar 6, 2011 in Internet, Linux, Programas, Sistema Operacional, Vida e Curiosidades |

Resumidamente, hard links são utilizados quando desejamos dar mais de um nome a um arquivo, dentro de um mesmo filesystem (condição obrigatória). Assim, um arquivo terá mais de um nome e os seus dados só serão excluídos quando todos os nomes também o forem. Como exemplo, observe um arquivo em um diretório:

$ ls -lh
total 4,0K
-rw-r--r-- 1 eriberto eriberto 1,5K Mar  6 21:33 teste

Agora, criaremos um hard link para ele com o nome abacaxi:

$ ln teste abacaxi

Veja o resultado:

$ ls -lh
total 8,0K
-rw-r--r-- 2 eriberto eriberto 1,5K Mar  6 21:33 abacaxi
-rw-r--r-- 2 eriberto eriberto 1,5K Mar  6 21:33 teste

Ainda, com a opção -i, podemos ver que os dois arquivos pertencem ao mesmo inode:

$ ls -lhi
total 8,0K
919611 -rw-r--r-- 2 eriberto eriberto 1,5K Mar  6 21:33 abacaxi
919611 -rw-r--r-- 2 eriberto eriberto 1,5K Mar  6 21:33 teste

Em outras palavras, são nomes diferentes para o mesmo arquivo. Se apagarmos o arquivo original (o teste), o segundo permanecerá presente e conterá todos os dados. Observe:

$ rm teste
$ ls -lh
total 4,0K
-rw-r--r-- 1 eriberto eriberto 1,5K Mar  6 21:33 abacaxi

Bem, essa teoria nos levará ao resultado pretendido. Muitas vezes, os vídeos da Internet são baixados localmente no diretório /tmp e, depois de exibidos, são apagados. Isso ocorre, por exemplo, com os vídeos do Youtube, Terra TV e UOL quando exibidos no Firefox, por exemplo. Então, vamos a um exemplo de preservação de vídeo do Youtube. Siga o seguinte roteiro:

  • Acesse um vídeo do Youtube.
  • Enquanto o mesmo carrega, vá ao diretório /tmp e execute o comando $ ls -lt duas ou três vezes. Você verá que um dos arquivos (geralmente o primeiro) estará crescendo de tamanho constantemente. Então, por dedução, esse é o vídeo que está sendo exibido no navegador. Exemplo de nome: FlashXXiF80uV.
  • Crie um hard link, com o comando ln, como mostrado anteriormente, dando um segundo nome ao arquivo. Exemplo: $ ln FlashXXiF80uV acidente_aereo.flv.

Seguindo esses passos, o arquivo acidente_aereo.flv será mantido depois que o arquivo FlashXXiF80uV for apagado. Com isso, você acaba de preservar uma cópia perfeita do vídeo exibido.

Divirta-se!

Tags:,

9 Comments

Hiroshi
mar 11, 2011 at 1:17 pm

Uma outra técnica para obter esses arquivos é usar a aba net da extensão Firebug do Firefox/Iceweasel.


 
Wallacy
mar 11, 2011 at 5:54 pm

Para manter no /temp faz sentido, porém se for para armazenar em outro diretório (home>usuario) faz mais sentido (do ponto de vista do usuário) simplesmente copiar o arquivo não?

Ou o principio usado tem como objetivo diminuir o I/O dos discos? (podendo criar um hard link para o diretório de destino é claro).


 
Eriberto
mar 13, 2011 at 9:49 pm

Olá Wallacy,

Observe no artigo: “Muitas vezes, os vídeos da Internet são baixados localmente no diretório /tmp e, depois de exibidos, são apagados”. Então, o objetivo de usar hard links é manter uma cópia integral do arquivo depois que o original for apagado.

[]s


 
rdestro
mar 25, 2011 at 12:39 am

Meu slack 13.1 parou de armazenar os videos em buffer no diretório /tmp. Alguém já viu isso? Tem como consertar?


 
Jordano Freitas
abr 7, 2011 at 1:01 pm

Olá Eriberto,
fiz os testes com o Debian squeeze e Ubuntu 10.10, e percebi que o buffer dos arquivos não são mais exibidos em /tmp, e vasculhei mas não achei nada, porém no Ubuntu 10.04 ainda é feito da forma como você descreveu…


 
Adam
abr 9, 2011 at 5:02 pm

Olá!

Isto implica em duplicar a área ocupada para o armazenamento, ou ele faz apenas um link para a mesma área física ocupada no HD?

Grato.


 
Eriberto
abr 12, 2011 at 8:50 am

Hardlink é apenas um outro nome para a mesma área física. Enquanto existir um dos nomes, o arquivo não é apagado.

[]s


 
Kley
abr 25, 2011 at 3:18 pm

No meu Ubuntu 10.04 os videos armazenavam normalmente no /temp, até o momento em que instalei um plugin pra baixar pelo firefox e a partir disso não funcionou mais.


 
paulo
mar 5, 2012 at 12:40 pm

para aplicar isso ao Mac fiz o o seguinte.

echo “$TMPDIR”

$ ln FlashXXxxxx meuvideo.flv.


 

Reply


CAPTCHA Image
Reload Image

Copyright © 2019 Eriberto Blog All rights reserved.
desk-mess-mirrored v theme from BuyNowShop.com.