sábado, 20 de junho de 2015

Localizando arquivos duplicados no terminal com fdupes

Fdupes é um excelente programa para localizar arquivos duplicados pelo terminal, podendo fazer também a exclusão dos arquivos duplicados por ele.
O fdupes analisar o md5sum de todos os arquivos e não somente o nome dos mesmos, portanto você pode até renomear o arquivo duplicado com outro nome diferente que o fdupes saberá que se trata do mesmo arquivo. Vale lembrar que um arquivo com mesmo nome idêntico, mas com conteúdo diferente, mesmo que seja de apenas um caractere a mais ou a menos não é um arquivo duplicado, já que o md5sum do mesmo será diferente e portanto os mesmos não serão listados como duplicados.

Para localizar arquivos duplicados com o fdupes é necessário sempre especificar um nome de diretório.

Opções mais usadas são:
-r = incluir subdiretórios
-S = exibi os tamanhos dos arquivos
-d = excluir arquivos duplicados
-m = informações da quantidade de arquivos duplicados
-h = ajuda

Localizar arquivos duplicados

$ fdupes -r /mnt/dados
$ fdupes -r documentos/

Notas:
O fdupes exibi um indicador de porcentagem durante a procura.
Ao exibir o resultado da procura o fdupes agrupa sempre os arquivos semelhantes e coloca uma linha em branco entre cada listagem, para facilitar sua compreensão.


Exemplo curto para demostrar a procura pelo fdupe

Estrutura de diretórios a partir do diretório Documentos, que contém os subdiretórios atestar e prov.

$ tree 
|-- Criando vídeos com efeitos com o ffmpeg usando filtros.odt 
|-- ffmpeg.pdf 
|-- atestar 
|   |-- avarias.txt 
|   |-- myfirewall 
|   `-- varias.txt 
|-- fundo.png 
|-- postar.odt 
`-- prov 
    `-- varias.txt 

2 directories, 8 files 

Onde avarias.txt é exatamente o mesmo arquivo varias.txt em que copiei o mesmo com outro nome diferente.

$ fdupes -r Documentos/ 
Documentos/atestar/varias.txt           
Documentos/prov/varias.txt 
Documentos/atestar/avarias.txt 

Veja que ele acusou que o avarias.txt é exatamente o mesmo arquivo varias.txt, pois o seu conteúdo é idêntico e que também tem outro varias.txt no subdiretório prov.

Nota:
Se você tiver uma partição, HD externo ou diretório com vários gigabytes e milhares de arquivos principalmente se os mesmos forem maiores que 100 MB este processo poderá demorar bastante.

Numa partição com 164.774 arquivos num total de 165 GB levou 45 minutos para conclusão total em uma cpu Core2Duo de 2.4 Ghz.

Se você tiver uma grande quantidade de arquivos duplicados o bom é redirecionar a procura para um arquivo no disco para analisar com calma a melhor altitude a tomar. Exemplo: fdupes -r /Documentos > fdupes.log


Excluído arquivos duplicados

$ fdupes -r -d  Documentos/ 
[1] Documentos/atestar/varias.txt       
[2] Documentos/prov/varias.txt 
[3] Documentos/atestar/avarias.txt 

Set 1 of 1, preserve files [1 - 3, all]: 2 

   [-] Documentos/atestar/varias.txt 
   [+] Documentos/prov/varias.txt 
   [-] Documentos/atestar/avarias.txt 

Continuado a utilizar os mesmos arquivos do exemplo curto, ele avisa que existe 3 duplicações de um mesmo arquivo e pergunta qual você deseja preservar destes 3 arquivos, sendo que eu digitei 2 e teclei Enter, sendo então excluídos automaticamente o arquivo 1 e 3 e no final ele apresenta lista de todos os arquivos que foram preservados e excluídos com o caminho dos mesmos.
Os que tiver  [-] foram excluídos e os que tiver  [+] foram os arquivos preservados.
A frase Set 1 of 1, preserve files diz que foi encontrado um conjunto de arquivos duplicados, ou seja, apenas 1 arquivo duplicado, caso fosse 5 arquivos duplicados o 5 vai depois de of.

Nota:
Se quiser preservar todos os arquivos duplicados do mesmo nome apresentado, digite all e tecle Enter, que ele passa para o próximo conjunto de arquivo duplicado caso houver.

Se você tiver um diretório com uma grande quantidade de arquivos duplicados para excluir com fdupes pode ficar cansativo já que você terá que escolher qual deles preservará, mas para poucos arquivos não é trabalhoso.

Obtendo a informações das quantidade de arquivos duplicados

$ fdupes -r -m  Documentos/ 
8 duplicate files (in 4 sets), occupying 1.6 megabytes 

No exemplo acima existe 4 conjuntos de arquivos duplicados (4 tipos de arquivos diferentes em que existem duplicação dos mesmos), sendo no total 8 duplicações de arquivos que ocupam 1.6 MB de espaço em disco.

Download fdupes

Procure no repositório de sua distro por fdupes, caso não tiver você também pode baixar o sources em http://fdupes.googlecode.com/files/fdupes-1.51.tar.gz
para compilação.

Para que usa o Slackware e derivados com o sbopkg:
$ sudo sbopkg -i fdupes

segunda-feira, 8 de junho de 2015

Criando vídeo dentro de vídeo com efeito acelerado no vídeo interno

Nesta dica vamos criar um vídeo dentro de outro vídeo com o vídeo interno com um efeito de uma pequena aceleração para antecipar a cena do vídeo principal.

$ ffmpeg -i pati.mp4 -s 640x360 -q:v 0 -vf "movie=pati.mp4, setpts=0.9*PTS,scale=100:60 [vid2]; [in][vid2] overlay=main_w-overlay_w-10:280 [out]"  videoduplo.avi


No exemplo acima você pode utilizar o mesmo vídeo 2x na linha de comando do ffmpeg, sendo que o vídeo interno estará com uma pequena aceleração em relação ao vídeo principal.
A dimensão 640x360 e o tamanho de tela que terá o arquivo de saída, podendo você especificar a sua desejada, mas deverá neste caso alterar também os valores de scale e de  overlay=main_w-overlay_w para que se enquadre com o tamanho de tela que você especificar.
O vídeo terminará no tempo do vídeo principal com música normal do começo ao fim, sendo que o vídeo secundário não tem a parte do áudio transferido caso o vídeo de entrada seja um clipe musical e o mesmo terminará antes do vídeo principal já que o mesmo está acelerado.

Sobre os valores da posição do vídeo interno

O primeiro valor 10 deixa o vídeo quase encostado do lado direito da janela do vídeo principal. 
O segundo valor 280 desloca o vídeo para baixo, próximo ao limite da parte inferior do vídeo principal e sendo que ambos valores é de acordo com o tamanho de tela do vídeo principal.

Tamanho do vídeo interno

O tamanho do vídeo interno e o que vem depois de scale= ou seja 100:60

Abaixo um exemplo criando do vídeo dentro de vídeo.




segunda-feira, 1 de junho de 2015

Inserindo legenda em vídeo na linha de comando com o FFmpeg

Os arquivos da legenda .ass, .ssa e .srt deve está na codificação de caractere UTF-8 para funcionar corretamente com o ffmpeg, pois senão surgirá um monte de erros e a legenda pode não ser embutida ou ficar dessincronizada no vídeo.


Verificando a codificação de caracteres do arquivo da legenda

$ file video.srt 
video.srt: Pascal source, UTF-8 Unicode text, with CRLF line terminators

$ file trovao.srt 
trovao.srt: Pascal source, ISO-8859 text, with CRLF line terminators 

Nota:
O ffmpeg poderá não inseri a legenda no vídeo com codificação diferente de UTF-8, ou apresentar muitos erros caso consiga inserir, como fora de sincronismo, pular frases, etc.

Como mudar a codificação de caractere caso esteja diferente do UTF-8 ?

Você pode utilizar para isto qualquer editor de texto ASCII que permite especificar uma codificação de caracteres como o Leafpad.
No Leafpad, abra o arquivo da legenda .ass e depois ir no menu Arquivo/Salvar Como, em Codificação de caracteres, escolha UTF-8 e CR+LF e clique em Salvar, depois confirme sobrescrever o arquivo atual.


Outra forma de mudar a codificação é usando o comando iconv em uma janela de terminal.

Convertendo de ISO-8859-1 para UTF-8

$ iconv -f iso-8859-1 -t utf-8 legenda > legenda2

Onde o arquivo legenda2 está com todo o seu conteúdo no formato UTF-8.


Inserindo legenda .ass (.ssa)

O arquivo da legenda .ass  (.ssa - Sub Station Alpha), deve está na codificação de caractere UTF-8 para funcionar corretamente com o ffmpeg.

$ ffmpeg -i video.flv -vf ass=video.ass noite.avi 

Pronto.

Notas:
Para que se possa unir a legenda .ass você deve ter o pacote  libass instalado em seu sistema e o ffmpeg da sua distro deve ter sido compilado com a opção --enable-libass caso contrário não funcionará.


Alterando tamanho da fonte, cor e altura no arquivo da legenda .ass

Como arquivo de legenda .ass também é um arquivo de texto puro ASCII, o mesmo pode ser editado manualmente, para alterar as opções da legenda, sendo  a mais fácil o tamanho da legenda. 
Em Style: Default,Arial,16   troque o tamanho 16 por 36. 

[V4+ Styles] 
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding 
Style: Default,Arial,36,&Hffffff,&Hffffff,&H0,&H0,0,0,0,1,1,0,2,10,10,10,0,0 

Notas:
O tamanho 36 fica muito bom na visualização em um monitor LCD 4:3 de 17" com linhas de 21 caracteres incluído os espaços em branco, e sendo que a previsão é de no máximo 35 a 40 caracteres incluindo os espaços em branco pra caber na mesma linha (vídeo com tela de 640x270).

Alterando a cor da legenda

O padrão da cor da legenda é branco (&Hffffff,&Hffffff) 

Pra deixar a legenda na cor amarela, substitua por H0000ffff, devendo ficar assim.:
Style: Default,Arial,36,&H0000ffff,&H0000ffff 


Subindo a altura da legenda

No valor padrão abaixo:
Style: Default,Arial,16,&Hffffff,&Hffffff,&H0,&H0,0,0,0,1,1,0,2,10,10,10,0,0 

O terceiro valor da direita para esquerda da linha Style, modifica a altura padrão da legenda, sendo o valor 10 o padrão.
Para subir a legenda mais um pouco, um valor bom é o 30 que não deixa a mesma muito embaixo da tela.

Style: Default,Arial,16,&Hffffff,&Hffffff,&H0,&H0,0,0,0,1,1,0,2,10,10,30,0,0

Se utilizar o valor 80 a legenda ficará no meio da tela.

Importante:
O tamanho da legenda .ass e a cor alterada, bem como a altura da mesma no arquivo poderá não ser vista sua alteração ao reproduzir o vídeo com alguns players de vídeo mesmo o arquivo da legenda tendo o mesmo nome do vídeo e estando na mesma pasta, sendo a visualização das alterações somente depois de embutida a legenda ao vídeo nestes players.

O arquivo de vídeo com o arquivo da legenda separada .ass não será vista a mesma durante a reprodução em uma TV LED com entrada usb tendo os dois em um pendrive, somente será vista a legenda quando o arquivo da legenda for .srt.



Convertendo o formato .srt pra .ass com o ffmpeg 

Se você tem um arquivo de legenda .srt e que converter para .ass para poder especificar o tamanho da fonte e usar também a cor amarela na legenda sem precisar instalar programas adicionais para isto, você pode fazer pelo próprio ffmpeg e um editor de texto ASCII.

Antes de usar o ffmpeg é importantíssimo que o arquivo da legenda esteja com a codificação UTF-8, pois senão não funcionara corretamente, devendo salvar o arquivo da legenda na codificação de caractere UTF-8 como descrito anteriormente.

Para converter a legenda .srt para .ass

$  ffmpeg -i trovao.srt trovao.ass 

Pronto, arquivo de legenda convertido para .ass

Nota:
Também pode-se especificar a extensão .ssa que produz o mesmo resultado na conversão.

Inserido legenda .srt com o ffmpeg

O arquivo da legenda .srt (SubRip) deve está na codificação de caractere UTF-8, caso não estiver a mesma poderá não ser inserida ou apresentar muitos erros.

$ ffmpeg -i video.flv -vf subtitles=video.srt saida.avi


Notas:
Testado com vídeos de entrada nos formatos flv, mp4 e avi com o ffmpeg versão 2.1.5 no Salix 14.1.


Verificando os formatos de arquivo de legenda suportado pelo ffmpeg 


$ ffmpeg -codecs | grep "^...S" 
ffmpeg version 2.1.5 Copyright (c) 2000-2014 the FFmpeg developers 
  built on Jun 30 2014 00:37:24 with gcc 4.8.2 (GCC) 
  configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/man --enable-shared --disable-static --disable-debug --enable-pthreads --enable-x11grab --disable-libfaac --enable-libcaca --enable-librtmp --enable-libmp3lame --enable-libmodplug --enable-libspeex --enable-libwavpack --enable-libtheora --enable-libv4l2 --enable-libvorbis --enable-libx264 --enable-libschroedinger --enable-libass --enable-libxvid --enable-gpl --enable-postproc --enable-libopus --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvpx --enable-libcdio --enable-openal --enable-avresample --enable-version3 --disable-ssse3 --arch=i486 --cpu=i686 
  libavutil      52. 48.101 / 52. 48.101 
  libavcodec     55. 39.101 / 55. 39.101 
  libavformat    55. 19.104 / 55. 19.104 
  libavdevice    55.  5.100 / 55.  5.100 
  libavfilter     3. 90.100 /  3. 90.100 
  libavresample   1.  1.  0 /  1.  1.  0 
  libswscale      2.  5.101 /  2.  5.101 
  libswresample   0. 17.104 /  0. 17.104 
  libpostproc    52.  3.100 / 52.  3.100 
 ..S... = Subtitle codec 
 DES... ass                  ASS (Advanced SSA) subtitle 
 DES... dvb_subtitle         DVB subtitles (decoders: dvbsub ) (encoders: dvbsub ) 
 ..S... dvb_teletext         DVB teletext 
 DES... dvd_subtitle         DVD subtitles (decoders: dvdsub ) (encoders: dvdsub ) 
 ..S... eia_608              EIA-608 closed captions 
 D.S... hdmv_pgs_subtitle    HDMV Presentation Graphic Stream subtitles (decoders: pgssub ) 
 D.S... jacosub              JACOsub subtitle 
 D.S... microdvd             MicroDVD subtitle 
 DES... mov_text             MOV text 
 D.S... mpl2                 MPL2 subtitle 
 D.S... pjs                  PJS (Phoenix Japanimation Society) subtitle 
 D.S... realtext             RealText subtitle 
 D.S... sami                 SAMI subtitle 
 DES... srt                  SubRip subtitle with embedded timing 
 DES... ssa                  SSA (SubStation Alpha) subtitle 
 DES... subrip               SubRip subtitle 
 D.S... subviewer            SubViewer subtitle 
 D.S... subviewer1           SubViewer v1 subtitle 
 D.S... text                 raw UTF-8 text 
 D.S... vplayer              VPlayer subtitle 
 D.S... webvtt               WebVTT subtitle 
 DES... xsub                 XSUB 


Para reproduzir o vídeo legendado na TV

Em TVs de LEDs com entrada usb, o vídeo pode está tanto no formato avi com codec de vídeo FMP4, libxvid ou msmpeg4, ou no formato mp4 com codec de vídeo h264 ou x264 e os vídeos pode ter uma resolução de tela de até 1920 x 1080 pixels (Full HD – 1080p).

Em aparelhos de DVDPlayer com suporte a DivX com entrada usb.
O vídeo deve está no formato avi com codec de vídeo libxvid ou msmpeg4, lembrando que o tamanho máximo de tela suportado pelo aparelho é de 720x576 pixels, maior que isto não rodará.

domingo, 24 de maio de 2015

Unindo vídeos com o FFMPEG

Nas versões mais recente do ffmpeg esta é a nova forma de unir os vídeos onde todos deve ter o mesmo tamanho de tela, mas os codecs de vídeo e áudio podem ser diferente entre os arquivos envolvidos.

Para unir dois vídeos

$ ffmpeg -i sei.mp4 -i aviao.mp4 -filter_complex '[0:0] [0:1] [1:0] [1:1] concat=n=2:v=1:a=1 [a] [v] ' -map '[a]' -map '[v]' -strict -2 unidos.mp4 

Para unir três vídeos

$ ffmpeg -i sei.mp4 -i aviao.mp4 -i cenas.mp4 -filter_complex '[0:0] [0:1] [1:0] [1:1] [2:0] [2:1] concat=n=3:v=1:a=1 [a] [v] ' -map '[a]' -map '[v]' -strict -2 unidos3.mp4 


Parte da saída final do processo de conversão:
 Metadata: 
    major_brand     : isom 
    minor_version   : 512 
    compatible_brands: isomiso2avc1mp41 
    encoder         : Lavf55.19.104 
    Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 480x360, q=-1--1, 30k tbn, 29.97 tbc (default) 
    Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, stereo, fltp, 128 kb/s (default) 
Stream mapping: 
  Stream #0:0 (h264) -> concat:in0:v0 
  Stream #0:1 (aac) -> concat:in0:a0 
  Stream #1:0 (h264) -> concat:in1:v0 
  Stream #1:1 (aac) -> concat:in1:a0 
  Stream #2:0 (h264) -> concat:in2:v0 
  Stream #2:1 (aac) -> concat:in2:a0 
  concat:out:v0 -> Stream #0:0 (libx264) 
  concat:out:a0 -> Stream #0:1 (aac)

Os arquivos são unidos na ordem especificada e as três linhas em vermelho representa cada um dos vídeos especificados na parte do codec de vídeo e abaixo da mesma o codec de áudio do vídeo correspondente e as duas últimas linhas concat são o codec de vídeo e áudio do arquivo de saída que contém os 3 vídeos unidos. 

Onde na linha final de comando a opção  -strict -2 é para a parte do codec de áudio aac do formato mp4 pois em algumas versões do ffmpeg o mesmo é experimental, e sem esta opção não funciona para criar no formato mp4 padrão com áudio aac.

Caso deseja ver um log do ffmpeg sob a conversão coloque a opção -report antes do nome do arquivo de saída, onde será criado um arquivo de log no mesmo diretório da execução do comando ffmpeg.

Precedimento realizado com  ffmpeg version 2.1.5

Criando um script para facilitar o uso

Para unir dois arquivos coloque a seguinte linha abaixo sendo o nome do script juntar2 com permissão 755 salvo em /usr/local/bin.

ffmpeg -i $1 -i $2 -filter_complex '[0:0] [0:1] [1:0] [1:1] concat=n=2:v=1:a=1 [a] [v] ' -map '[a]' -map '[v]' -strict -2 unidos.mp4 

Forma de uso:
$ juntar2 video1 video2

Nota:
Para unir três arquivos você deve criar outro script utilizando a linha de comando do ffmpeg para 3 arquivos neste caso.



sábado, 9 de maio de 2015

Instalando o plugin flash pepprflash-plugin no navegador Chromium no Salix



No navegador Google Chrome o mesmo já vem com o plugin flash da Adobe embutido dentro do mesmo ao fazer o download dele, mas no navegador Chromium que é um fork do mesmo é necessário instalar este plugin manualmente para ter suporte a flash em sites que não seja o youtube.com para ver vídeos ou acessar jogos online em flash.
Para ter suporte ao plugin flash no navegador Chromium no Slackware e derivados, você deve instalar o plugin pepperflash-plugin que contém a versão mais recente do plugin flash da Adobe adaptado para Linux, ao contrário do plugin install_flash_player_11_linux.i386.tar.gz que ficou parado na versão 11.x com apenas updates de segurança para Linux.


Link para download:

Para instalar faça:

$ sudo installpkg chromium-pepperflash-plugin-17.0.0.169-i386-1alien.txz

Pronto, não precisa fazer mais nada, o navegador Chromium irá utilizar o mesmo automaticamente, sem precisar criar link ou fazer qualquer configuração.


Para testar e verificar a versão do plugin instalado acesse:

Para conferir no proprio navegador Chromium os plugins instalado, digite na barra de url: chrome://plugins/

Notas:
Versão do Chromium utilizada é a 42.0.2311.135.
Instalação feita no Salix 14.1 32 bits.

segunda-feira, 4 de maio de 2015

Instalando o Clamav no Slackware e Salix

Embora que vírus feito para S.O. Windows não funcione no GNU/Linux, se você receber algum arquivo de um amigo ou baixar da internet e não quiser espalhar arquivos que possa está infectado em sua rede doméstica ou de trabalho ou ainda repassar o arquivo para amigos, você deverá escanear estes arquivos antes de compartilhar utilizando o anti-virus Clamav pra quem utiliza computadores com Windows.

Para a versão mais recente do antivírus Clamav devemos baixar no site oficial do mesmo em http://www.clamav.net/download

Após baixado o mesmo, entrar no diretório onde se encontra o pacote clamav-versão.tar.gz e descompactar o pacote source.

$ tar -xzvf  clamav-versão.tar.gz
$ cd clamav-versão
$ ./configure
$ make

Torna-se root, nesta janela de terminal usando o comando su.
# make install

Agora devemos fazer algumas configurações para o Clamav funcionar, pois o mesmo não funcionará corretamente ainda caso você não tenha personalizado sua instalação entrando como opções extras para o comando configure, o que é muito normal para iniciantes neste caso.

# ldconfig -v
# mkdir /usr/local/share/clamav
# cd /usr/local/etc/
# cp freshclam.conf.sample freshclam.conf

Editar o arquivo /usr/local/etc/freshclam.conf devendo comentar ou remova a linha Example 

Agora descomente a linha DatabaseDirectory (removendo o caractere sustenido #) e altere o caminho padrão da mesma para /usr/local/share/clamav/ devendo ficar conforme abaixo.

DatabaseDirectory /usr/local/share/clamav/ 

Acertando as permissões

# groupadd clamav 
# useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav 
# chown clamav.clamav /usr/local/share/clamav/

Agora devemos fazer o download da base de dados de virus.
# freshclam 
ClamAV update process started at Sun Apr 26 17:46:50 2015 
WARNING: DNS record is older than 3 hours. 
WARNING: Invalid DNS reply. Falling back to HTTP mode. 
Downloading main.cvd [100%] 
main.cvd updated (version: 55, sigs: 2424225, f-level: 60, builder: neo) 
Downloading daily.cvd [100%] 
daily.cvd updated (version: 20378, sigs: 1378213, f-level: 63, builder: neo) 
Downloading bytecode.cvd [100%] 
bytecode.cvd updated (version: 250, sigs: 42, f-level: 63, builder: neo) 
Database updated (3802480 signatures) from database.clamav.net (IP: 155.98.64.87)

Pronto, o clamav está pronto para ser utilizado.

Agora para facilitar o seu uso, caso não tenha a gui Clamtk no seu repositório, ou a mesma não funciona devido a erro de perl, você pode escanear arquivos e pastas a partir do Thunar facilmente, se você utiliza o desktop Xfce.

No Thunar, acesse menu Editar/Configurar ações personalizadas..., na guia Básico preenche conforme abaixo:

Nome: Clamav
Descrição: Anti-vírus
Comando: Exec= xterm -hold  -fa 'Luxi Mono' -fs 14 -e clamscan --bell -i -r  --verbose -l  /tmp/clamav.log %F 

Escolha um ícone para o comando (opcional)

Agora na guia Condições de aparência, marque todos os itens e clique em OK.

Pronto, você pode selecionar tanto pastas como arquivos para o escaneamento, sendo que em /tmp terá um log do nome de todos os arquivos escaneados com o caminho do mesmo.

Comandos do Clamav

Ver a versão da base de dados de vírus

$ freshclam -V 
ClamAV 0.98.6/20382/Sun Apr 26 12:36:55 2015 


O número 20382 é a nova versão da base de dados de virus, onde Sun é o dia da semana, Apr o mês e 26 o dia da atualização da base de dados.

Fazer o download da versão mais recente da base de dados

#  freshclam


Escaneando o diretório /tmp e listar somente os nomes dos arquivos infectados

$ clamscan --bell  -i /tmp 
/tmp/testeviruscompactado.tgz: Eicar-Test-Signature FOUND 
/tmp/myvir.tgz: Eicar-Test-Signature FOUND 
/tmp/eicar.com: Eicar-Test-Signature FOUND 

----------- SCAN SUMMARY ----------- 
Known viruses: 3797050 
Engine version: 0.98.6 
Scanned directories: 1 
Scanned files: 10 
Infected files: 3 
Data scanned: 26.79 MB 
Data read: 9.88 MB (ratio 2.71:1) 
Time: 17.179 sec (0 m 17 s) 

Onde --bell soa o beep do alto-falante interno, se o mesmo estiver habilitado no seu sistema, e -i listará os nomes somente dos arquivos infectados.

Se desejar listar os nomes de todos os arquivos escaneados use a opção --verbose que listará inclusive os arquivos infectados mesmo não usando a opção -i.

Movendo os arquivos infectados para um diretório e gerando um log 


$ mkdir /tmp/infectados
$ clamscan -r --verbose /tmp  --move=/tmp/infectado/ -l /tmp/infectados.log 
Scanning /tmp/infectados.log 
/tmp/infectados.log: OK 
Scanning /tmp/varias.txt 
/tmp/varias.txt: OK 
Scanning /tmp/Kendra Ivy 1 - 2011.jpg 
/tmp/Kendra Ivy 1 - 2011.jpg: OK 
Scanning /tmp/2573tlk.jpg 
/tmp/2573tlk.jpg: OK 
Scanning /tmp/968full-tia-carrere.jpg 
/tmp/968full-tia-carrere.jpg: OK 
Scanning /tmp/testeviruscompactado.tgz 
/tmp/testeviruscompactado.tgz: Eicar-Test-Signature FOUND 
/tmp/testeviruscompactado.tgz: moved to '/tmp/infectado//testeviruscompactado.tgz' 
Scanning /tmp/myvir.tgz 
/tmp/myvir.tgz: Eicar-Test-Signature FOUND 
/tmp/myvir.tgz: moved to '/tmp/infectado//myvir.tgz' 
Scanning /tmp/leia clamav.txt 
/tmp/leia clamav.txt: OK 
Scanning /tmp/eicar.com 
/tmp/eicar.com: Eicar-Test-Signature FOUND 
/tmp/eicar.com: moved to '/tmp/infectado//eicar.com' 
Scanning /tmp/clamav ajuda rev1.txt 
/tmp/clamav ajuda rev1.txt: OK 
/tmp/.com.google.Chrome.6OcVrp/SingletonCookie: Symbolic link 
Scanning /tmp/luwjna7r.tmp/luwjna9e.tmp 
/tmp/luwjna7r.tmp/luwjna9e.tmp: OK 
Scanning /tmp/.xfsm-ICE-KX9JXX 
/tmp/.xfsm-ICE-KX9JXX: OK 

----------- SCAN SUMMARY ----------- 
Known viruses: 3797050 
Engine version: 0.98.6 
Scanned directories: 8 
Scanned files: 12 
Infected files: 3 
Data scanned: 26.88 MB 
Data read: 9.90 MB (ratio 2.72:1) 
Time: 16.833 sec (0 m 16 s) 


Onde -r para escanear subdiretórios também, /tmp/infectado/ é o diretório para onde será movido os arquivos infectados, caso você tenha certeza que não se trata de um falso positivo, pode excluir os mesmos, pois o clamav não elimina vírus ele apenas os detecta, podendo apenas configurar uma ação para mover os arquivos infectados para um diretório ou deletar automaticamente durante o escaneamento.
Todos os arquivos infectados encontrado tem no final do nome dele a palavra FOUND ao usar a opção --verbose ou -i.

Especificando apenas um arquivo para escanear

$ clamscan varias.txt 
varias.txt: OK 

----------- SCAN SUMMARY ----------- 
Known viruses: 3797050 
Engine version: 0.98.6 
Scanned directories: 0 
Scanned files: 1 
Infected files: 0 
Data scanned: 0.12 MB 
Data read: 0.06 MB (ratio 1.94:1) 
Time: 13.788 sec (0 m 13 s) 


Excluído automaticamente os arquivos infectados durante o escaneamento

$ clamscan -r --remove -v /tmp

Scanning /tmp/virus teste clamav.png
/tmp/virus teste clamav.png: OK
Scanning /tmp/leiameu.txt
/tmp/leiameu.txt OK
Scanning /tmp/teste/testeviruscompactado.zip
/tmp/teste/testeviruscompactado.zip: Eicar-Test-Signature FOUND
/tmp/teste/testeviruscompactado.zip: Removed.
----corte----

----------- SCAN SUMMARY -----------
Known viruses: 3797050
Engine version: 0.98.6
Scanned directories: 6
Scanned files: 7
Infected files: 3
Data scanned: 25.49 MB
Data read: 16.94 MB (ratio 1.50:1)
Time: 17.322 sec (0 m 17 s)


Nota:
O mesmo procedimento de instalação descrito aqui também pode ser feito em qualquer distro do GNU/Linux.

O Clamav escanear automaticamente arquivos e diretórios ocultos sem precisar utilizar um flag para isto, salvo o -r para incluir subdiretórios.





sexta-feira, 1 de maio de 2015

Incrementando o Thunar com ações personalizadas

O gerenciador de arquivos Thunar do Xfce4 tem um ótimo recurso que permite configurar uma ação a ser feita em arquivos e diretórios selecionados permitindo assim novas ações dentro do Thunar com recursos que ele não tenha incorporado dentro dele.

Integrando o Catfish ao Thunar 

Para procurar por arquivos e pastas a partir do Thunar na pasta selecionada, vamos fazer o uso da opção de ações personalizadas do Thunar. 

Procedimentos:

No Thunar, clique no menu Editar e escolha Configurar ações personalizadas..., na guia Básico preencha conforme abaixo: 
Nome: Procurar 
Descrição: localizar arquivos e pastas 
Comando:  catfish --fileman=thunar --path=%f 

Escolha um ícone para o seu comando se preferir. 

Na guia Condições de aparência, marque somente Diretórios e clique em OK. 

Pronto, agora basta selecionar uma pasta qualquer com o botão direito do mouse e escolher a opção Procurar que o Catfish será chamado com o nome da pasta selecionada de onde iniciará a pesquisa. 


Notas: 
O Catfish não localiza arquivos a partir de link de pasta, tem que ser a partir da pasta real. 

Para localizar somente arquivos pelos botões de vídeos, música, documentos e imagens, sem critério de nome, tem colocar o caractere asterisco na caixa de digitação, senão não funciona. 

Telas da ação personalizada já criada.


  




Executar o Thunar como root

Preencha conforme abaixo:

Nome: Root Thunar 
Descrição: root permissões 
Comando: gksu thunar 

Na guia Condições de aparência, marque somente Diretórios. 

Pronto ao selecionar, um diretório qualquer com o botão direito do mouse e escolher a ação “Root Thunar” será solicitado sua senha de usuário para executar o Thunar como root, abrindo o diretório selecionado.


Abrir terminal como root

Nome: Abrir terminal root aqui 
Descrição: Terminal root 
Comando: gksu xfce4-terminal  --working-directory %f 

Na guia Condições de aparência, marque somente Diretórios. 

Copiar arquivos para uma pasta especifica 

Nome: Copiar pra /mnt/partilha 
Descrição: Envia arquivos e diretórios pra /mnt/partilha 
Comando: xterm -g 100x15 -fa 'Luxi Mono' -fs 14 -hold -e cp -vr  %F /mnt/partilha 

Na guia Condições de aparência, marque todos os itens. 

Notas:
Embora que a janela de terminal não seja necessária foi colocada apenas para acompanhar a cópia de arquivos, principalmente quando forem muitos megas ou uma grande quantidades para saber se a cópia terminou e também para acompanha algum erro durante a cópia caso houver. Ao terminar a cópia, basta fechar manualmente a janela, pois foi colocando a opção -hold para impedir o fechamento automático da janela ao terminar o processo de cópia de arquivos. 

Alternativamente você pode usar esta linha de comando abaixo no lugar da janela de terminal que utilizará uma janela em zenity com uma barra de progresso pulsate durante a cópia de arquivos e diretórios.

(for I in $(seq 2); do echo $I; sleep 1; done; cp -vr %F "/mnt/partilha") | zenity --progress --pulsate --auto-close



Excluir arquivos e diretórios como root

Nome: Excluir como root 
Descrição: Excluir arquivos e pastas
Comando: xterm -g 35x5 -fa 'Luxi Mono' -fs 14 -e sudo rm -rf  %F 

Na guia Condições de aparência, marque todos os itens. 

Notas:
Após digitando sua senha de usuário, será excluído todos os arquivos e diretórios selecionados, sem perguntas e confirmações, portanto preste muita atenção quando você estiver selecionando os mesmos.


Editar configuração do sistema

Nome: Editar configuração
Descrição: Editor de texto ASCII
Comando: gksu leafpad %f

Na guia Condições de aparência, marque somente Arquivos de texto e Outros arquivos.

Notas:
Após digitando sua senha de usuário, será aberto o arquivo que foi selecionando, usando o editor de texto leafpad.

Audacious com lista de reprodução 

Nome: Audacious
Descrição: Tocar um diretório ou seleção de arquivos de mp3
Comando: audacious %F

Na guia Condições de aparência, marque somente Diretórios e Arquivos de áudio.

Com isto você pode tocar um diretório e seus subdiretórios que tiver arquivos mp3, ou somente os mp3s selecionados que será adicionando a uma playlist, podendo renomear, editar e apagar a mesma, bem como localizar músicas por critério na mesma no Audacious.

Informações de codec de vídeo e áudio com mediainfo

Nome: Informações de Vídeo e áudio
Descrição: Propriedades do codec de vídeo e áudio
Comando: mediainfo-gui %f

Na guia Condições de aparência, marque somente Arquivos de vídeos e Arquivos de áudio.

Notas gerais:

Conforme o tipo de ação e a configuração da mesma somente aparecerá se estiver selecionado um diretório ou arquivo.
Por exemplo se em Condições de aparência foi marcado Diretórios, as ações disponíveis aparecerá no menu Arquivo abaixo de Abrir, sem precisar está selecionando um diretório, pois você está neste exato momento em um diretório.
Já se estiver selecionando um arquivo, as ações que envolver somente diretório tanto do menu Arquivo como no menu suspenso do mouse não aparecerão, aparecendo somente as ações que estiver configurada para arquivos (sem está marcado Diretórios junto em Condições de aparência), pois não condizem com o critério.

A utilização de um ícone é opcional para uma ação personalizada.