Como descobrir quais arquivos foram criados ontem com o find ?

A forma mais simples, levando em conta que o intervalo desejado é entre agora e 24 horas atrás é:

find . -mtime -1

Se vc desejar saber dos arquivos criados na última semana tente:

find . -mtime -7

E ainda, se você quiser saber quais arquivos não foram criados nas últimas 24 horas use :

find . -mtime +1

Como salvar um vídeo do Youtube no novo flash plugin ?

Houve um tempo (até poucas semanas atrás), em que para salvar um vídeo FLV qualquer da web, bastava ir no diretório /tmp, e copiar o arquivo FlashFEYHS2W34F para o desktop com outro nome, ou ainda assistir o vídeo usando o mplayer enquanto o mesmo era baixado.

Mas as coisas mudaram, a Adobe, visando proteger o direito autoral da indústria, mudou o comportamento do Flash, agora ao começar o stream de vídeo ele deleta o arquivo do HD, assim ele fica inacessível para o sistema e para os outros programas, mas não para o processo que originou o stream. Ou seja, enquanto esse processo estiver rodando o sistema de arquivos não libera o espaço ocupado pelo arquivo deletado, assim ele continua disponível para o processo pai indefinidamente.

Que tal usar essa característica dos sistemas de arquivos do linux a nosso favor ?

Primeiro passo, escolha um vídeo no youtube e dê play, em seguida abra um terminal e digite:

lsof | grep deleted | grep /tmp/Flash

Essa etapa pode demorar alguns minutos, dependendo do tamanho do seu sistema e da quantidade de processos rodando, e no fim ele vai te gerar uma saida semelhante a essa:

chromium- 4103 liquuid 22w REG 8,21 20022146 394236 /tmp/FlashXXfBMa8x (deleted)

Esse comando nos mostra qual o comando e o número do processo que tem um arquivo aberto deletado cujo o nome se inicia com '/tmp/Flash'. Se você pegar o nome do arquivo '/tmp/FlashXXfBMa8x' e der um 'ls', ele não vai estar lá, por outro lado todos os processo do linux tem seus files decriptors muito bem organizados e guardados no diretório '/proc'.

Dessa forma usando o número do processo (segunda coluna) 4103, basta dar o comando:

ls -l /proc/4103/fd/ | grep '/tmp/Flash'

A saída será parecida com essa :

l-wx------ 1 liquuid liquuid 64 2011-03-26 16:31 22 -> /tmp/FlashXXfBMa8x (deleted)

Ou seja, existe um link chamado '22' linkado com o conteúdo do arquivo deletado, então basta copiar '/proc/4103/fd/22' para outro diretório, para ter sua cópia do vídeo. Não é simples, mas é uma forma.

xvidcap com som no fedora 13

Xvidcap sem duvidas é o melhor e mais simples gravador de desktop para linux. Ele simplesmente faz seu trabalho com uma eficiência impecável! O grande problema dele é que sua ultima atualização foi feita em 2006 e seu único suporte para gravação de som é via OSS.

Usar oss não é problema em sistemas antigos, mas sistemas baseados em pulseaudio, OSS é desligado por padrão. No Fedora 13 em particular o OSS não está presente no sistema nem na forma emulada. A desculpa de seus desenvolvedores é que ele pode causar instabilidade no pulseaudio (então porque raios os desenvolvedores do pulse não resolvem isso pow!!).

Enfim, existe um meio de ligar os drivers OSS no fedora. Faça o seguinte (no terminal como root):

gedit /etc/modprobe.d/dist-oss.conf

Dentro deste arquivo adicione a seguinte linha de comando (caso ela já exista, apenas descomente):

install snd-pcm /sbin/modprobe --ignore-install snd-pcm && /sbin/modprobe snd-pcm-oss && /sbin/modprobe snd-seq-device && /sbin/modprobe snd-seq-oss

Reinicie e pronto! Agora seus programas baseados em OSS não reclamarão mais por não encontrar suas respectivas entradas e saidas!

Django via FastCGI no Nginx do ubuntu

O ./manage.py runserver do django quebra um galhão, mas em produção ou mesmo quando o desenvolvimento demanda multiplas conexões,o deploy deve ser feito em um servidor de verdade. O Nginx é um dos mais simples de se configurar, e também possui desempenho arrasador.

Se você usar ubuntu :

aptitude install nginx

Rode também o comando manage :

python manage.py runfcgi host=0.0.0.0 port=8000

Agora finalmente crie um arquivo com o nome do seu projeto em /etc/nginx/sites-enabled com o seguinte conteúdo:


server {
listen 80;
server_name example.com;
access_log /var/log/nginx/access.log;
location / {
fastcgi_pass 127.0.0.1:8000;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param SERVER_PORT $server_port;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
}
location /media {
root /srv/media;
}
}

Basicamente o nginx vai fazer o papel de proxy entre sua aplicaçãp django e o cliente, uma boa solução para deploy :)

Quais são as placas de captura/TV USB compativeis com o linux ?

Fiz uma pesquisa sobre placas de captura e TV(analógica) USB no linux, com isso gerei uma lista das placas que não dão trabalho algum para serem configuradas (ao menos na teoria).

Alguns anos atrás o br-linux fez uma pesquisa com seus leitores, o que gerou essa excelente lista de compatibilidade:

http://br-linux.org/linux/compatibilidade-linux-placa-de-captura-de-tv

encore bt878
pinnacle pctv
pinnacle pctv pro
pixelview playtv usb ( com chipset BT878 )
pixelview pv-4900
prolink mpeg 2 (m4900c)
prolink playtv mpeg2 mp4900
video xtreme 98
winfast tv2000

Algumas placas que são praticamente plug and play :

PixelView PlayTV USB Hybrid
Pinnacle Pctv Pro Usb 2.0
Usb Pinnacle Pctv Usb2
PixelView Play Tv Pro Ultra
WinTV , Inacreditavelmente, tem suporte dentro do kernel

Segue a lista pelo kernel 2.6.27 (alvo da pesquisa) :

Hauppauge WinTV-PVR USB2 support
Empia EM28xx USB video capture support
USB video devices based on Nogatech NT1003/1004/1005
USB 3com HomeConnect (aka vicam) support (EXPERIMENTAL)
USB ZC0301[P] Image Processor and Control Chip support
USB Sensoray 2255 video capture device

Existe ainda a lista de adaptadores compativeis com os drivers do projeto v4l-dvb :

http://www.linuxtv.org/wiki/index.php/DVB-T_USB_Devices/Full

E finalmente os chipsets suportados pelo linux, que normalmente não dão tanto trabalho para configurar :

Bt848A, Bt849, Bt878 ou Bt879
SAA7133/SAA7135
saa7134
em28xx
bttv
cx23885

Guias de instalação para algumas placas :

Instalar placas de captura em28xx
Instalar placas de captura bttv
Instalar placas de captura cx88xx
Instalar placas de captura cx23885
Instalar placas de captura saa7134
Instalar placas de captura em28xx (USB)

Lembrando que essa pesquisa focou em placas de tv analógica, ok ?

Banco do Brasil! A solução definitiva!

Essa é pra todo mundo que não consegue autenticar no site do Banco do Brasil!

O problema é apenas um conflito no certificado java de acesso! Para corrigir acesse o painel de controle do seu java e apague o certificado referente ao BB. Depois disso, tente acessar novamente. Agora ele deve funcionar! Legal né?

Porém, acessar esse painel de controle é um desafio a parte. No java oficial da SUN a opção deve estar em algum menu. Já o OpenSDK os certificados ficam mais escondidos. Para acessá-los digite num terminal:

javaws -viewer

Uma janela mostrando os certificados deve aparecer. Agora é só apagar.

Comparativo entre compactadores no Linux parte 2

Recentemente o liquuid fez uns testes de benchmark para testar a compressão de vários compactadores de arquivos. Como ele fez usando um computador single core, dessa vez usarei um processador dual core para testar a velocidade de compressão de cada formato. Para esse teste usarei um notebook acer com um processador Turion X2 1.9GHz e 2gb RAM DDR2 533 MHz.

O teste foi feito usando somente a mesma imagem ISO do ArchlinuxPPC.

Os resultados estão disponíveis aqui.

Eu fiquei decepcionado com todos os formatos com exceção do 7zip, pois foi o único que usou multi processadores.

btw, esse teste foi realizado a cerca de 1 ano, logo, hoje a coisa deve ser diferente.

Entrada OSS no PulseAudio

Existem alguns programas que somente suportam entrada de som via oss mesmo agora. Como a grande maioria das distros linux usa o pulseaudio, esses programas tendem a dar erros ou simplesmente ficarem mudos. É o caso do xvidcap, um programa de captura de tela que usa /dev/dsp (oss) como fonte do microfone. Para resolver essa incompatibilidade o pessoal do pulseaudio fez uma gambiarra usando um programa intermediário onde seu programa é aberto. Veja como funciona:

No terminal: padsp xvidcap

Agora o xvidcap consegue gravar sons do microfone normalmente. Legal né?

Gentoo redondo

Esse guia mostra a configuração de uma estacão de trabalho gentoo após a conclusão da instalação do stage 3. Ou seja, você já deve ter configurado a base do seu sistema, kernel e boot loader !

Uma referência sobre como instalar o gentoo pode ser encontrado nesse vídeo.

TimeZone


Inicialmente devemos configurar nosso fuso horário, verifique no diretório /usr/share/zoneinfo/ o arquivo com as informações regionais que melhor se aplicam ao seu caso.

cp /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime

Make.conf


Essa etapa é a mais importante da configuração de um sistema gentoo, ela estabelece como os programas e bibliotecas serão construídos, e quais serão as dependências usadas. Por exemplo, se eu não quiser usar a libqt devo usar a Flag "-qt" dentro da variável USE dentro do arquivo /etc/make.conf.

USE="X gtk gnome alsa bash-completion cairo consolekit cdr dvdr avahi networkmanager policykit automount gstreamer mp3 ogg dbus hal lame vorbis autoipd jpeg png zeroconf tiff jpg samba examples jpeg2k xinerama"

Para configurar as línguas suportadas por padrão em seu sistema você deve adicionar sua língua dentro da variável LINGUAS dentro do /etc/make.conf

LINGUAS="pt_BR pt-BR pt-br"

Para aceitar todas as licenças de software disponibilizados pelo gentoo use :

ACCEPT_LICENSE="*"

E claro, não esqueça de revisar as Flags relacionadas ao seu processador, elas vão influenciar bastante no desempenho do seu sistema.

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=i686 -O2 -pipe"
CXXFLAGS="${CFLAGS}"
PORTAGE_ELOG_CLASSES="log warn error"

VIM


Se você vai usar um editor completo em seu sistema , recomendo o VIM :

emerge vim

Misc tools


Algumas ferramentas que sempre uso em meus sistemas :

emerge screen dstat htop tree

Avahi


Avahi permite que sistemas e serviços de sua rede sejam localizados com facilidade pelo seu SO.

USE="mdnsresponder-compat" emerge avahi

GNOME


O Gnome é um desktop muito amigavel mas que exige alguns cuidados durante a instalação, a linha de comando que uso para compilar meu sistema é a seguinte :

emerge gnome gconf gdm gnome gnome-applets gnome-common gnome-control-center gnome-desktop gnome-menus gnome-panel gnome-session gnome-settings-daemon gnome-vfs gnome-volume-manager gvfs libbonobo libbonoboui libglade libgnome libgnomekbd libgnomecanvas libgnomeprint libgnomeprintui libgnomeui nautilus eog gtk+ evolution-data-server fast-user-switch-applet file-browser-applet gconf-editor gnome-audio gnome-power-manager gnome-system-monitor gnome-utils music-applet mousetweaks nautilus-cd-burner nautilus-open-terminal nm-applet policykit-gnome

Para configurar o GDM como gerenciador de entrada do seu sistema faça :

sed -i 's/DISPLAYMANAGER="xdm"/DISPLAYMANAGER="gdm"/' /etc/conf.d/xdm

Para habilitar no boot de os comandos :

rc-update add hald default
rc-update add dbus defaults
rc-update add xdm

Rhythmbox


Por incrivel que pareça, um dos players de áudio mais completos disponíveis para o linux. A falg daap serve para conectar o player com as bibliotecas de outras jukebox como o iTunes.

USE="daap ipod libnotify " emerge rhythmbox

Temas do GNOME


Eu gosto muito dos temas do ubuntu feitos para o gnome.

emerge -pv gtk-engines gtk-engines-ubuntulooks gnome-backgrounds

Mplayer


Mplayer é um player multi-utilidades que toca formatos insanos de formas ainda mais insanas.

USE="X a52 aac alsa ass cddb cdio dirac dts dv dvd dvdnav enca encode faac faad iconv ipv6 jpeg live mmx mp3 network opengl osdmenu png quicktime rar real rtc samba schroedinger shm speex theora toolame tremor truetype twolame unicode vorbis x264 xinerama xscreensaver xv xvid" emerge mplayer

Língua


Para configurar o sistema para funcionar com a língua portuguesa por padrão faça :

echo 'export LC_ALL="pt_BR"' > /etc/profile.d/pt_BR.sh
chmod +x /etc/profile.d/pt_BR.sh

SSH


O sempre útil SSH server

emerge -av openssh

Para habilitar durante o boot

rc-update add sshd defaults

VirtualBox-bin


Instalar o Virtualbox não é trivial no gentoo, mas sempre existe a possibilidade de se instalar o binário , primeiro devemos liberar o pacote para nosso sistema :

echo "app-emulation/virtualbox-modules ~x86" >> /etc/portage/package.keywords
echo "app-emulation/virtualbox-bin ~x86" >> /etc/portage/package.keywords

Finalmente o merge :

emerge -av virtualbox-bin

É fundamental carregar os drivers no carregamento do sistema :

echo "vboxdrv" >> /etc/modules.autoload.d/kernel-2.6
echo "vboxnetadp" >> /etc/modules.autoload.d/kernel-2.6
echo "vboxnetflt" >> /etc/modules.autoload.d/kernel-2.6

Adobe-Flash


Pra quem gosta, flash :

emerge adobe-flash

Compactadores


Alguns compactadores e ferramentas tanto de linha de comando como gráfico :

USE="nautilus" emerge -av cpio deb2targz fastjar file-roller lha lzip lzop mscompress p7zip pbzip2 rar rpm2targz unace unzip zip

Bluetooth


Ferramentas para bluetooth
USE="usb" emerge -av net-wireless/bluez-libs net-wireless/bluez-utils
rc-update add bluetooth default

JAVA


Para desenvolvimento e execução do JAVA :
emerge sun-java

Skype + audacity + gnote + blender + gimp + inkscape + firefox + chromium


Mais uma miscelânia de aplicativos que gosto de usar :

USE="tk" emerge python
USE="plotutils cpudetection dirac faac faad ieee1394 network sdl theora threads v4l v4l2 x264 xvid aalib curl pdf smp svg webkit ffmpeg twolame applet postscript blender-game" emerge skype audacity gnote blender gimp inkscape mozilla-firefox www-client/chromium

Depois desse guia seu sistema vai estar praticamente completo para o uso no dia a dia :) E depois dizem que o gentoo da trabalho....

Divulgar conteúdo