Archive for the ‘Dicas e truques’ Category
Um (ascii)aquário no seu terminal…
É uma prática que me acompanha há anos: aproveitar meu pouco tempo livre para procurar por "inutilidades engraçadas e divertidas". Fã confesso da linha de comandos e defensor do poder de um bom terminal como uma ferramenta poderosa para o dia-a-dia de qualquer administrador de sistemas Unix ou qualquer outro tipo de profissional que necessite interações mais avançadas com esse tipo de sistema operacional, dediquei parte desse período de decanso para, exatamente, encontrar "futilidades" voltadas o terminal que possui, frequentemente, fama de "carrancudo" e "pouco divertido".

Tema de um post recente aqui do meu site, o "sl" (Steam Locomotive) provê uma forma, no mínimo engraçada, para lidar com um dos erros mais comuns dentre aqueles que utilizam o terminal de comandos: trocar as letras do popular comando "ls" por "sl", foi. Nesse caso, ao invés de receber um frio "comando não encontrado" (ou "command not found" nos sistemas instalados em inglês), uma locomotiva em formato texto atravessa sua janela de comandos.
O período de busca ainda me permitiu conhecer o Asciiquarium, um verdadeiro aquário dinâmico que exibe a vida marinha em seu terminal. Peixes dos mais variados formatos e tamanhos, baleias e barcos fazem parte do cenário. E, como não poderia deixar de ser, regido pelas leis naturais, até o tubarão faz uma aparição repentina, devorando os peixes menores que encontra pela frente… De vez em quando, um barco a velas também passa pela superfície, alheio a toda a movimentação marinha submersa nos mares dos caracteres.
Quer instalar o Asciiquarium? Dá uma olhada no restante do post, então…
Cuidado com o “ls”!

Não é raro, principalmente para aqueles que tem certa habilidade com o teclado, digitar comandos no terminal de um sistema GNU/Linux trocando ou invertendo as letras. Atire a primeira pedra aquele que interage com o sistema do pinguim diariamente e nunca cometeu esse tipo de erro. Comandos com nome pequeno são as maiores vítimas desses enganos e nessa lista o "ls", seja pela frequência com que é utilizado, seja pelo seu nome composto de apenas duas letras, certamente disputa as primeiras colocações.
De tão comum é o engano em trocar o "ls" por "sl" que o último acabou se tornando um pacote de software de verdade somente para fazer com que algo diferente de um "command not found" apareça em seu terminal quando você cometer o engano de trocar as letras do comando "ls". Nesse caso, uma vez instalado o pacote "sl" (Steam Locomotive), todas as vezes que o clássico erro acontecer, uma locomotiva, desenhada apenas com caracteres, atravessa todo o seu terminal!
Em sistemas baseados no sistema de gerenciamento de pacotes APT (Debian GNU/Linux, Ubuntu Linux, etc), basta executar o seguinte comando (como super-usuário) para instalar o sl:
# apt-get -y install sl
Útil? Nem tanto. Ao menos é divertido…
Reiniciando um servidor Linux a partir do diretório /proc – PARTE II
Uma vez que esse recurso esteja habilitado em seu kernel, a primeira saída para reiniciar um sistema GNU/Linux que já não tenha à disposição comandos como o reboot, o shutdown ou o init, consiste em executar o seguinte comando:
root@scadufax:~# echo "b" > /proc/sysrq-trigger
Esse comando irá reiniciar o seu sistema imediatamente, sem qualquer preocupação com o sincronismo e a desmontagem dos sistemas de arquivos presentes em seus discos. Isso, evidentemente, pode provocar problemas e provocar algumas outras instalabilidades no seu sistema que, a essas alturas, já deve estar bastante "sacrificado". O que fazer, então?
Read the rest of this entry »
“cat”, tudo bem. Mas e o “tac”?
Dia desses, tive que recorrer, como é de rotina na vida de um administrador de sistemas, à memória, para lembrar de alguns comandos que você, pode até não utilizar com muita frequência no seu dia-a-dia, mas que, por sua utilidade, você sabe que é bom aprender porque um dia ele poderá lhe ser muito útil.
Lidando com um ambiente no qual um determinado pacote e todas as suas dependências foram instaladas por meio da orientação de um arquivo que continha o nome desses pacotes listados na ordem exata de instalação, a tarefa era fazer exatamente o inverso: remover o pacote e suas dependências. Simples, não? Bastava seguir a ordem inversa do arquivo que continha a sequência de instalação. Essa lista, entretanto, não era tão pequena e seria, no mínimo, pouco desafiador, invertê-la manualmente. O que fazer, então?
Obviamente que qualquer usuário iniciante da linha de comando conhece o comando cat, utilizado, dentre outras coisas, para exibir o conteúdo de arquivos texto. Entretanto, quem conhece o tac? Como o próprio nome sugere, o tac produz o resultado inverso do cat, mostrando o conteúdo de arquivos em ordem inversa. Isso resolveria o problema de desistalar o pacote e suas dependências na ordem correta, certo? Nesse caso, com o uso do pipe e do poderoso xargs (assunto para outras oportunidaes) sequer foi necessário criar um novo arquivo contendo a lista inversa dos pacotes:
$ tac install_order | xargs -t -i pkgrm -n {}
Pronto, tudo desinstalado corretamente!
O tac está presente em muitas distribuições GNU/Linux e em outros tipos de sistemas Unix, apesar de ser desconhecido de muitos. Guarde-o em bom lugar!
Reiniciando um servidor Linux a partir do diretório /proc.
Dia desses, procurando por informações a respeito de métodos de reinicialização de um servidor para casos de emergência, encontrei um pequeno e interessante artigo publicado no site da Linux Journal, a respeito de uma maneira simples, entretanto, útil, de reiniciar um sistema GNU/Linux a partir do diretório /proc. Reproduzo, então, alguns comentários a respeito desse que pode ser um interessante recurso para um sysadmin GNU/Linux guardar nas mangas!
Read the rest of this entry »
Problema com screen lock no Ubuntu-eee 8.04.1.
Depois de instalar o Ubuntu 8.04.1 em meu Asus EeePC, não demorou muito para encontrar um problema: após o lock screen travar a tela do ambiente gráfico depois de passar alguns minutos longe do computador, não era possível autenticar meu usuário novamente e retormar o uso normal do sistema. A mensagem de falha na autenticação era apresentada como se a senha que estava sendo inserida estivesse errada.
A explicação para esse problema está no fato de que utilitário unix_chkpasswd, capaz de verificar a senha do usuário atualmente logado no sistema, vem com as permissões e o grupo incorretos. Caso você esteja passando pelo mesmo problema, basta verificar as permissões e o grupo atual do arquivo em seu sistema. Para tanto, abra um terminal de comandos e execute um "ls -l":
root@aragorn:~# ls -l /sbin/unix_chkpwd
-rwxr-xr-x 1 root root 19584 2008-08-22 17:03 /sbin/unix_chkpwd
Note que o grupo do arquivo é "root" ao invés de "shadow" e, dentre os modos de permissão, não existe o SGID habilitado, indicado por meio de uma letra "s" ao invës do "x" que indica a permissão de execução para o grupo. Se você detectou o mesmo resultado em seu sistema, a correção pode ser feita por meio de dois comandos executados com privilégios de root.
ubuntu-eee instalado (mesmo com a Lei de Murphy)!
Sem sombra de dúvida, uma das grandes atrações do EeePC para os linuxers de plantão, além do fato de ele vir, originalmente, com Linux (Xandros), é a possibilidade de "tunar" o pequeno equipamento, trocando o sistema original por sua distribuição preferida. Diante disso, tão logo o mini-notebook apareceu no mercado, já começaram a aparecer páginas na Internet mostrando os truques e os casos de sucesso para instalação das mais variadas distribuições Linux. Resolvi, então, tentar instalar o Ubuntu-eee, uma customização do Ubuntu, específica para o EeePC. A foto é um screenshot da área de trabalho de meu EeePC, mas nada foi alcançado sem sacrifício e algumas (imprevisíveis) surpresas.Tudo isso porque a Lei de Murphy, fantasma sempre presente em meio aos profissionais de computação, resolveu dar o ar de sua graça.
A documentação encontrada na Internet é bastante rica e bem detalhada, mais do que suficiente para proceder com a instalação (No final seguem alguns links para quem quiser obter mais informações técnicas). Um dos primeiros passos consiste, simplesmente, em transferir a imagem do Ubuntu-eee para um pen drive, uma vez que o EeePC não possui unidade de CD/DVD. Feito com sucesso, a próxima etapa é iniciar o pequeno computador pela imagem de instalação transferida ao pen drive. Após ver o processo de boot completo, deve-se prosseguir com a instalação normal. Até aí, tudo bem. Já feliz com o sucesso inicial, resolvi desligar o computador e prosseguir com a instalação de fato, em um outro momento. E foi aí que os problemas começaram.
EeePC + Ubuntu = ubuntu-eee.
Não é novidade que o EeePC, o sub-notebook da Asus, desde o seu lançamento, caiu no gosto de muitos usuários. Presença cada vez mais constante no dia-a-dia daqueles que precisam mobilidade para lidar com emails, acesso a Internet e outras facilidades que um computador portátil pode proporcionar, o pequeno computador já foi tema de materias em muitas publicações especializadas exatamente pela combinação de mobilidade e baixo custo. Possui interfaces de rede com e sem fio, um leitor de cartões de memória, três entradas USB, uma saída de vídeo, um monitor de 7 polegadas e ainda pesa menos de um quilo. Sua capa original confunde-se com uma agenda, um livro ou algo do tipo.
Cada vez mais popular nos ambientes universitários, o EeePC é uma alternativa muito interessante para quem costuma ministrar aulas, palestras e treinamentos. Da mesma maneira, para alunos, o sub-notebook é um excelente substituto para cadernos e fichários. Para outros tipos de usuários, o "pequeno da Asus" é, da mesma maneira, bastante versátil para o dia-a-dia pelos recursos para navegar na Internet, acessar emails e comunicar-se com clientes e parceiros por meio de aplicativos de bate-papo ou VoIP. Para quem viaja constantemente de avião, por exemplo, o EeePC é portátil o suficiente para quem deseja abrir um computador a bordo entre as poltronas cada vez mais espremidas e estreitas das companhias aéreas.
Como gerar números (pseudo)aletórios em um shell script?
Apesar de, na maioria dos casos, os shell scripts serem utilizados para manipular arquivos, agrupar logicamente utilitários comuns do sistema operacional e editar textos (de configuração de aplicativos, por exemplo), é inerente à vida de um administrador de sistemas passar por novos desafios e surpresas.
Dia desses, estava precisando implementar uma nova funcionalidade em um shell script e, seguindo a lógica que havia estabelecido, seria necessária a geração de alguns números aleatórios (ou pseudo-aleatórios, na verdade, já que falar de aleatoriedade em computação não é um assunto tão trivial). Após alguma investigação e depois de conhecer soluções mais "ortodoxas", que comento a seguir, encontrei uma maneira rápida e simples. O mais interessante é que essa alternativa não está amplamente comentada em livros e referências sobre o assunto. Daí o motivo de estar compartilhando essa dica por aqui.
Trata-se de uma variável especial, $RANDOM, existente na bash, que, uma vez acessada, gera como saída um número aleatório. Veja só isso:
$ echo $RANDOM
28214
Ubuntu 8.04 sem som ?!
Uma das razões pela qual o Ubuntu Linux vem conquistando cada vez mais usuários está no fato de ser uma distribuição bastante voltada ao usuário final. A instalação é simples, o ambiente desktop é intuitivo e simplificado, e o reconhecimento de hardware é automático para uma grande variedade de dispositivos.
Curioso para conferir as novidades da versão 8.04 (Hardy Heron), finalmente, consegui algum tempo para atualizar meu computador. A instalação, como sempre, foi rápida e bem simples. Entretanto, terminado o processo e reiniciado o computador com o novo sistema operacional, tive uma surpresa: meu notebook estava mudo, sem som.
O primeiro passo consistiu em consultar o modelo da placa de som:
# lspci | grep -i audio
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
Read the rest of this entry »


