Pular para o conteúdo

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!

Marcações:

9 comentários em “Utilizando hard links para obter vídeos da Internet”

  1. 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).

  2. 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

  3. 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…

  4. 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.

  5. 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.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

3 × um =