Archive for abril 2006

Reconfigurações do Debian

Existem alguns comandos úteis que permitem reconfigurar alguns componentes do Debian ou até a distro inteira (como no primeiro boot). Segue abaixo uma pequena lista:

  • apt-setup: Permite reconfigurar os repositórios APT, é a mesma interface carregada no primeiro boot;
  • dpkg-reconfigure pacote: Efetua a reconfiguração de um pacote já instalado. Para isso, ele utiliza a mesma interface de configuração que é exibida quando um pacote é instalado (e se for aplicável ao pacote);
  • base-config: Permite efetuar a configuração do sistema base do Debian com opções como Linguagem, Timezone, usuários e senhas, hostname, apt (o mesmo do apt-setup), instalar pacotes (necessita do pacote base-config instalado).

Bem, pra quem já teve problemas no Xwindow e não sabia exatamente o que executar para reconfigura-lo (eu gostava do Xconfigurator do RedHat :) ), pode executar o comando:
# dpkg-reconfigure xserver-xfree86

Desmontando um dispositivo ocupado

Hoje tive um problema ao desmontar um compartilhamento montado via samba, onde o servidor que estava sendo acessado (windows 2003) não possuia mais tal compartilhamento. Ao tentar desmontá-lo utilizando somente o comando umount, recebia uma mensagem informando que o dispositivo estava ocupado (Device is busy).

Ao tentar achar o processo que estava usando este compartilhamento (via fuser), recebia uma mensagem de permissão negada (access denied).
Decidi dar uma olhada na manpage do umount, e descobri que desde a versão 2.4.11 do kernel, existe uma opção (-l) chamada Lazy unmount cujo objetivo é forçar a o processo de desmontagem removendo todas as referências tão logo ele não esteja mais ocupado.

Um exemplo:

# umount -l /media/smb

Executando um comando periodicamente e exibindo seu resultado

As vezes é necessário executarmos um comando a cada n segundos para acompanhar algum processo que esteja rodando ou para analisarmos algum valor como por exemplo o uso de memória.

Para resolver este problema, existe um comando específico para isso, o Watch. Com ele podemos definir o tempo de atualização da exibição com a opção -n, e destacar os valores diferentes entre as exibições com a opção -d. O resultado é exibido em tela cheia no console.

Por exemplo, digamos que precisaremos acompanhar o uso de memória com o comando free a cada 1 segundo destacando as diferenças:

# watch -n 1 -d free -h

Para sair do modo de execução, basta pressionar [Ctrl]+c

Lembrando que caso o objeto de análise seja um arquivo texto como por exemplo um arquivo de Logs, você pode utilizar o comando tail com a opção -f. Com ele toda linha adicionada ao arquivo em análise será prontamente exibida na tela.

Por exemplo, para acompanharmos os logs gerados pelo sistema, podemos usar o comando:

# tail -f /var/log/messages

Uma dica importante, em alguns casos, como nos logs gerados pelo serviço de e-mail ou durante um processo de compilação (quando muitas mensagens são apresentadas na tela) se você quiser “parar” o scroll das mensagens, basta pressionar [Ctrl]+s. Para voltar a exibição normal, pressione a seqüência [Ctrl]+q.