você está aqui: Home  → Arquivo de Mensagens

Utilizando hard links para obter vídeos da Internet

Colaboração: João Eriberto Mota Filho

Data de Publicação: 10 de março de 2011

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!

Esta dica foi originalmente publicada, pelo seu autor, em http://www.eriberto.pro.br/blog, em 06 mar. 2011. O seu twitter é http://twitter.com/eribertomota


Veja a relação completa dos artigos de João Eriberto Mota Filho