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

 

 

Opinião dos Leitores

Álvaro Justen
08 Mai 2011, 12:13
Eu geralmente copio o arquivo do /tmp depois que o vídeo carrega completamente - basta não fechar a aba do Firefox onde o vídeo está carregado.
gidalte
13 Mar 2011, 11:48
Para aqueles que usam o Firefox e por algum motivo não encontram nada no /temp, pode verificar no cache do Firefox, digitando about:cache no navegador, para descobrir a pasta do cache, algo como isso ira aparecer:

Cache Directory: /home/gidalte/.mozilla/firefox/mr0xc8sw.default/Cache

Aí copia e cola para o navegador de pastas e correr para o abraço... Geralmente são os últimos arquivos tipo flash na pasta. Eu geralmente faço um limpezinha antes para tirar os muitos arquivos acumulados. Ferramentas->Limpar histórico recente ou ctr+shif+del.
Pedro Campobelo
11 Mar 2011, 13:45
Para os que não encontram o arquivo no /tmp/, é porque o Flash os marca como deletados. É só pegar o descritor do arquivo com o lsof, e depois pegar o arquivo no /proc/. Eu, por exemplo, uso: lsof -n|grep \/tmp\/Flash|tr -s " " "|"|cut -d "|" -f 2,5,10|tr "|" " "|sort --uni
Eriberto
11 Mar 2011, 12:33
Leonardo Americo,

Qual é o site?

[]s
Leonardo Americo
11 Mar 2011, 11:55
não encontrei o vídeo no /tmp teria outro local? utilizo o ubuntu 10.10.
Rafael A. de Almeida
11 Mar 2011, 05:39
Legal essa teoria, mas pena que na versão do Flash que eu uso os arquivos não aparecem na pasta /tmp
Nícholas André
10 Mar 2011, 23:22
Qual a vantagem disso em relação a cópia do arquivo temporário depois que o vídeo for totalmente carregado?

É somente a possibilidade de pode criar o hard link com o vídeo ainda sendo carregando?
Eriberto
10 Mar 2011, 20:53
Luiz,

O artigo está certo. São operações e objetivos diferentes.

[]s

Eriberto - www.eriberto.pro.br

Luiz L. Marins
10 Mar 2011, 12:14
Neste trecho do artigo, o comando saiu diferente do que está em destaque, acima:

" ... Enquanto o mesmo carrega, vá ao diretório /tmp e execute o comando $ ls -lt duas ou três vezes ... " [ls -lh]
Rafael Henrique da Silva Correia
10 Mar 2011, 11:45
Parabéns pela dica! Muito legal!
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script