2007-11-20

CPMF

Baal Segue uma lista dos filhas-da-puta políticos que votaram a favor da prorrogação da falta de vergonha na cara que é a CMPF:

  1. Almeida Lima (PMDB-SE)
  2. Aloizio Mercadante (PT-SP)
  3. Antônio Carlos Valadares (PSB-SE)
  4. Eduardo Suplicy (PT-SP)
  5. Epitácio Cafeteira (PTB-MA)
  6. Ideli Salvatti (PT-SC)
  7. Romero Jucá (PMDB-RR)
  8. Serys Slhessarenko (PT-MT)
  9. Sibá Machado (PT-AC)
  10. Valdir Raupp (PMDB-RO)
  11. Valter Pereira (PMDB-MS)
  12. Wellington Salgado (PMDB-MG)


Por favor guarde bem esses nomes e nunca mais vote nesses canalhas corruptos neles.

[]'s
Cacilhas La Batalema

2007-11-19

Che Guevara segundo Veja, Veja segundo Jon Lee Anderson

Oscar Niemeyer Resposta de Jon Lee Anderson à matéria de Diogo Schelp sobre Che Guevara na Veja:

Caro Diogo,

Fiquei intrigado quando você não me procurou após eu responder seu email. Aí me passaram sua reportagem em Veja, que foi a mais parcial análise de uma figura política contemporânea que li em muito tempo.

Foi justamente este tipo de reportagem hiper-editorializada, uma hagiografia ou – como é o seu caso – uma demonização, que me fizeram escrever a biografia de Che. Tentei pôr pele e osso na figura super-mitificada de Che para compreender que tipo de pessoa ele foi.

O que você escreveu foi um texto opinativo camuflado de jornalismo imparcial, coisa que evidentemente não é.

Jornalismo honesto, pelos meus critérios, envolve fontes variadas e perspectivas múltiplas, uma tentativa de compreender a pessoa sobre quem se escreve no contexto em que viveu com o objetivo de educar seus leitores com ao menos um esforço de objetividade.

O que você fez com Che é o equivalente a escrever sobre George W. Bush utilizando apenas o que lhe disseram Hugo Chávez e Mahmoud Ahmadinejad para sustentar seu ponto de vista.

No fim das contas, estou feliz que você não tenha me entrevistado. Eu teria falado em boa fé imaginando, equivocadamente, que você se tratava de um jornalista sério, um companheiro de profissão honesto. Ao presumir isto, eu estaria errado.

Esteja à vontade para publicar esta carta em Veja, se for seu desejo.

Cordialmente,
Jon Lee Anderson


[]'s
Cacilhas La Batalema

2007-11-17

autofs

Tux O autofs é um serviço de montagem automática de sistemas de arquivo locais ou remotos que já vem habilitado por padrão em algumas distro GNU/Linux, como SuSE e Kurumin.

O Slackware possui autofs, mas não vem habilitado por padrão. Vou demonstrar como habilitar esse serviço.

Observação: todos os procedimentos devem ser executados como superusuário (root).

Inicialização


Os scripts de inicialização no Slackware ficam em /etc/rc.d/, mas não há um script pronto para o autofs.

Salve o seguinte código como /etc/rc.d/rc.autofs e torne o arquivo executável:
#!/bin/bash

DAEMON=/usr/sbin/automount
DELAY=5
localoptions=

getmounts() {
#
# Check for local maps to be loaded
#
#

if [[ -f /etc/auto.master ]]
then
sed -re 's/^#.*$//g; /^\s*$/d' /etc/auto.master | while read dir map options
do
if [[ ! -z "$dir" && ! -z "$map" && x`echo "$map" | cut -c1` != 'x-' ]]
then
map=`echo "/etc/$map" | sed -e 's:^/etc//:/:'`
options=`echo "$options" | sed -e 's/\(^\|[ \t]\)-/\1/g'`
if [[ -x $map ]]
then
echo "$DAEMON -t $DELAY $dir program $map $options $localoptions"
elif [[ -f $map ]]
then
echo "$DAEMON -t $DELAY $dir file $map $options $localoptions"
else
echo "$DAEMON -t $DELAY $dir `basename $map` $options $localoptions"
fi
fi
done
fi

#
# Check for YellowPage maps to be loaded
#
if [[ -e /usr/bin/ypcat && `ypcat -k auto.master 2>/dev/null | wc -l` > 0 ]]
then
ypcat -k auto.master | while read dir map options
do
if [[ ! -z "$dir" && ! -z "$map" && x`echo "$map" | cut -c1` != 'x-' ]]
then
map=`echo "$map" | sed -re 's/^auto_/auto./'`
if echo $options | grep -- '-t' >/dev/null 2>&1
then
mountoptions="--timeout $(echo $options | sed 's/^.*-t\(imeout\)*[ \t]*\([0-9][0-9]*\).*$/\2/g')"
fi
options=`echo "$options" | sed -re 's/--*t(imeout)*[ \t]*[0-9][0-9]*//g; s/^(\s*)-/\1/g'`
echo "$DAEMON $dir yp $map $options $localoptions"
fi
done
fi
}

#
# Status lister.
#
status_autofs() {
echo "Configured Mount Points:"
echo "------------------------"
getmounts
echo
echo "Active Mount Points:"
echo "--------------------"
mount | grep '^automount'
#ps ax | egrep "[0-9]:[0-9]{2} $DAEMON " | while read pid tt stat time command
#do
# echo $command
#done
echo
}

start_autofs() {
# Check if the automounter is already running?
if [[ ! -f /var/lock/subsys/autofs ]]
then
echo 'Starting automounter: '
getmounts | sh
touch /var/lock/subsys/autofs
fi
}

stop_autofs() {
echo 'Stopping automounter: '
kill -TERM $(/sbin/pidof /usr/sbin/automount)
rm -f /var/lock/subsys/autofs
}

reload_autofs() {
if [[ ! -f /var/lock/subsys/autofs ]]
then
echo "Automounter not running"
exit 1
fi
echo "Checking for changes to /etc/auto.master ...."
TMP1=`mktemp /tmp/autofs.XXXXXX` || { echo "could not make temp file" >&2; exit 1; }
TMP2=`mktemp /tmp/autofs.XXXXXX` || { echo "could not make temp file" >&2; exit 1; }
getmounts > $TMP1
ps ax | egrep "[0-9]:[0-9]{2} $DAEMON " | while read pid tt stat time command
do
echo "$command" >> $TMP2
if ! grep -q "^$command" $TMP1
then
kill -USR2 $pid
echo "Stop $command"
fi
done
cat $TMP1 | while read x
do
if ! grep -q "^$x" $TMP2
then
$x
echo "Start $x"
fi
done
rm -f $TMP1 $TMP2
}

case "$1" in
start)
start_autofs
;;
stop)
stop_autofs
;;
restart)
stop_autofs
sleep 2
start_autofs
;;
reload)
reload_autofs
;;
force_start)
stop_autofs &>/dev/null
sleep 2
start_autofs
;;
status)
status_autofs
;;
*)
echo "Usage: /etc/rc.d/rc.autofs {start|stop|restart|reload|status}"
exit 1
;;
esac


Execute então o seguinte comando:
echo '[ -x /etc/rc.d/rc.autofs ] && /etc/rc.d/rc.autofs force_start' >> /etc/rc.d/rc.local


Configurações


O principal arquivo de configuração do autofs é /etc/auto.master.

Cada linha do arquivo indica um diretório para os pontos de montagem. A primeira coluna é o nome do diretório – que não precisa existir no sistema de arquivos, pois será gerenciado dinamicamente pelo autofs – a segunda coluna é o caminho para o arquivo de configuração específico apra gerenciar as montagens nesse diretório e a terceira coluna são as opções.

Por exemplo:
/auto   /etc/auto.misc  --timeout=30


Vai criar o diretório /auto/ e usar o arquivo /etc/auto.misc para as configurações, com um timeout de trinta (30) segundos.

Digamos que queremos usar o diretório /auto/ para montar disquete, CD-ROM e USB, e queremos que o autofs gerencie o /home/ para montar os homedirs remotos via NFS. Usaremos /etc/auto.misc para o /auto/ e o /etc/auto.home para configurar o NFS:
/auto   /etc/auto.misc  --timeout=30
/home /etc/auto.home --timeout=30


Configuração dos pontos de montagem de recursos locais


Os pontos de montagem locais estarão em /auto/ e serão gerenciados pelo arquivo /etc/auto.misc.

Cada linha é um ponto de montagem. A primeira coluna é o nome do ponto de montagem dentro de /auto/, a segunda coluna são as opções e a terceira é o dispositivo a ser montado.

As opções são as mesmas do comando mount. A única exceção é a opção -fstype, para indicar o sistema de arquivo.

Por exemplo, pra montar o disquete em /auto/floppy/ identificando o sistema de arquivo automaticamente, de modo síncrono, com máscara 0000 e modo 0777:
floppy  -fstype=auto,rw,sync,umask=0,mode=0777  :/dev/fd0


Vamos ao arquivo completo: CDROM, disquete e USB (meu USB é reconhecido como /dev/sda):
cd      -fstype=iso9660,exec,ro                 :/dev/cdrom
floppy -fstype=auto,rw,sync,umask=0,mode=0777 :/dev/fd0
usb -fstype=auto,rw,sync,umask=0,mode=0777 :/dev/sda


Configurações dos pontos de montagem de recursos remotos


Ainda é possível montar diretório remotos via NFS, bastando informar o IP ou nome da máquina antes do nome do dispositivo.

Por exemplo:
remote  -fstype=nfs,rw,async,soft,timeo=60,rsize=8192,wsize=8192    192.168.0.2:/shared


Vai montar o diretório exportado /shared/ de 192.168.0.2 em /auto/remote/. A opção timeo tem prioridade sobre a opção timeout de /etc/auto.master, alterando seu valor apenas para o ponto de montagem em questão.

Para recursos remotos é aconselhável usar blocos maiores que 4KB. No exemplo o bloco é de 8KB.

Mas há uma configuração mais interessante. Digamos que a máquina 192.168.0.2 seja um servidor de usuários e está exportando os homedirs via NFS.

É possível montar somente um ou alguns homedirs de cada vez, não o /home/ todo. Por exemplo, se o usuário blackstar logou, pra que montar também o homedir do usuário slack? Podemos montar apenas o homedir do usuário logado.

E o melhor de tudo: o autofs faz isso automaticamente!

Para tanto o conteúdo de /etc/auto.home será:
*       -fstype=nfs,rw,async,soft,timeo=60,rsize=8192,wsize=8192    192.168.0.2:/home/&


O /home/& indica que não será montado o /home/ todo, mas apenas os subdiretórios solicitados. O campo * na primeira coluna indica que será usado o nome representado por &.

Assim, como /etc/auto.home está gerenciando o diretório /home/, quando o usuário blackstar se conectar, seu diretório será montado como /home/blackstar/, vindo de 192.168.0.2, mas não existirá o diretório /home/slack/ – a menos que o usuário slack conecte.

Iniciando o serviço


Basta agora iniciar o serviço:
/etc/rc.d/rc.autofs start


Se tudo correu bem, você poderá ver os pontos de montagem com o comando:
/etc/rc.d/rc.autofs status


Insira um disquete na unidade /dev/fd0 (A:) e acesse seu conteúdo sem precisar montá-lo:
ls /auto/floppy/


Só um conselho: retire do fstab os pontos de montagem usados pelo autofs. Pode até deixar o fstab gerenciar os mesmos recursos – eles apenas serão montados também nos pontos de montagem do fstab –, mas normalmente não faz muito sentido.

[]'s
Cacilhas La Batalema

2007-11-15

Berimbau

Berimbau Quem é homem de bem não trai
O amor que lhe quer seu bem
Quem diz muito que vai, não vai
Assim como não vai, não vem

Quem de dentro de si não sai
Vai morrer sem amar ninguém
O dinheiro de quem não dá
É o trabalho de quem não tem

Capoeira que é bom não cai
Mas se um dia ele cai, cai bem

Capoeira me mandou dizer que já chegou
Chegou para lutar
Berimbau me confirmou vai ter briga de amor
Tristeza, camará

Se não tivesse o amor
Se não tivesse essa dor
E se não tivesse o sofrer
E se não tivesse o chorar
Melhor era tudo se acabar

Eu amei, amei demais
O que eu sofri por causa de amor ninguém sofreu
Eu chorei, perdi a paz
Mas o que eu sei é que ninguém nunca teve mais
Mais do que eu

(Vinícius de Moraes e Baden Powell)

Intransitivo?

Coração partido O Amor Verdadeiro é abnegado. Como diz Camões, é «não querer mais que bem querer». Na verdade é querer bem, não a alguém, mas a todos, e sem querer nada em troca, intransitivo.

Mas somos humanos, não é? Sujeitos a falhas. Então nosso amor não é puro.

Nós queremos bem a algumas pessoas. Não que não queiramos bem a todo mundo, mas mesmo quando alguém chega a esse grau, ainda se preocupa mais com algumas pessoas do que com outras.

São nossos amigos, irmãos, pais, esposo(a)/namorado(a)… sempre selecionamos algumas pessoas a quem amamos. Não há mal nisso, é humano.

Também não somos totalmente abnegados, sempre queremos algo em troca: carinho, compreensão, entrega. Também não há nada de errado: é humano.

Não estou falando só do amor que sentimos pela pessoa que escolhemos para nosso par, mas num sentido geral. Sempre esperamos ser amados tanto quanto amamos, ou ao menos alguma entrega.

Ou pelo menos queremos que a pessoa amada confie em nós, mas nem sempre isso acontece. E quando não acontece, doi, e doi muito.

Não sou de desistir das pessoas, mas me faz muito mal quando alguém parece desistir de mim.

Esses desabafos são sempre estranhos, não? Mas são as Reflexões de Monte Gasppa e Giulia C.…

[]'s
Cacilhas La Batalema