sexta-feira, 6 de fevereiro de 2009

Pacotes indispensáveis após a instalação do linux

Logo quando acabamos de instalar o linux, seja ele Debian, ubuntu ou outro, ele já nos trás vários aplicativos interessantes, porém não todos, então aqui segue uma lista de aplicativos que recomendo serem instalados após uma instalação comum:

ccsm (compiz) - Pacote que fornece uma interface muito amigável e interessante com tela em cubo, cilindro ou esfera giratória, janelas emborrachadas, efeito de água e fogo na tela e muito mais.
mc (mcedit) - Editor de texto para o shell. Ideal para arquivos de até 1MB de tamanho.
tilda ou yakuake (shell gráfico) - Conforme post anterior.
w32codecs - Conforme post anterior. (RMVB)
googleearth - Software conhecidíssimo por exibir a terra em detalhes e muito mais.
deskbar-applet (barra do google) - Barra de pesquisa anexada ao firefox muito útil.
manpages-pt - Instala páginas de manual (Man) em português.
openoffice.org-l10n-pt-br - Idioma português para o openoffice.
skype - Software Voip. Converse com o mundo inteiro com voz, vídeo e texto de graça.
amsn - Semelhante ao messenger da microsoft.
amule - Semelhante ao emule.
libdvdcss2 - Conforme post anterior. (RMVB)
gparted - Semelhante ao Partition Magic.
myspell-pt-br - Dicionário em português.
vlc - Player para músicas e filmes.
mplayer - Player para músicas e filmes em shell.
cheese,camorama - Softwares para exibição de imagens de webcam ou dispositivos de imagens.
iptraf - Exibe o tráfego de rede detalhado nas interfaces.
nero - Software para gravação de cds e dvds.
stardict-gnome - Ótimo dicionário tradutor para gnome.

Em breve adicionarei outros que julgar interessante também.
Para instalar basta executar como root:
#apt-get install nome-do-pacote

ou

#aptitude install nome-do-pacote

Aceito sugestões...

quarta-feira, 4 de fevereiro de 2009

ROUTE - Por onde os pacotes saem

Falamos de rotas externas que os pacotes utilizam para fazer a comunicação entre hosts e redes, porém, existem as rotas internas, que são manipuladas pelo comando route que veremos a seguir.

Nome: route
Definição: Exibe e manipula a tabela de rotas IP. A sua principal utilização é a criação de rotas estáticas para hosts específicos ou redes através de uma interface, após ter sido configurado com o comando 'ifconfig' que será visto a seguir. Quando as opções add ou del são utilizadas, o route modifica a tabela de rotas. Sem essas opções, exibe a o conteúdo da tabela de rotas corrente.
Sintaxe: route [opções] add/dell [-net|-host] [endereço] [máscara] [opções]
Opções:
-v Modo verboso. Com exibição de mais detalhes na saída do comando.
-n Exibe resultados numéricos, sem resolver nomes.
-C Exibe todas as rotas que estão armazenadas em cache.
-e Usa o formato do comando netstat para exibir a tabela de rotas. Usando a opção -ee será gerada uma linha longa com mais informações.
del Deleta uma rota.
add Adiciona uma rota.
Alvo Pode ser escrito na forma decimal ou nome de host ou rede.
-net O alvo é uma rede.
-host O alvo é um host.
Netmask NM Ao adicionar uma rota de rede, a máscara de rede NM a ser usada.

Exemplos:
#route add -net 127.0.0.0 netmask 255.0.0.0 dev lo (adiciona a entrada normal de loopback, usando a máscara de rede 255.0.0.0 e associando com a interface “lo”).

#route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0 (adiciona uma rota para a rede local 192.56.76.x via “eth0”. A palavra 'dev' pode ser omitida).

#route del default (Apaga a rota padrão corrente, que esteja nomeada com o nome default ou 0.0.0.0 no campo de destino na tabela de rota corrente).

segunda-feira, 2 de fevereiro de 2009

Lixo no GRUB

Para você que já usa o linux, deve ter se deparado com várias opções de inicialização após uma atualização que o próprio sistema oferece. Pois bem, isso acontece quando você autoriza uma atualização de kernel. O ubuntu bem como outras distribuições baseadas no debian, usando de sua inteligência não apaga o kernel antigo, apenas adiciona o kernel novo como uma opção. Isso por um lado é bom, pois, pode ser que alguma aplicação ainda não funcione corretamente com o novo kernel então caso isso ocorra, basta reiniciar o sistema operacional e selecionar o kernel antigo. Porém, depois de testar o novo kernel e verificar que está tudo em ordem, as várias opções no menu inicial do GRUB acabam incomodando, principalmente quando se tem um dual boot (linux x windows) e você tem que descer a setinha até chegar no windows para inicializar por ele. Para eliminar essas várias opções desnecessárias após a fase de testes temos duas maneiras:

1ª: Desinstalar as versões anteriores do kernel;

2ª: Simplesmente apagar as linhas referentes às informações exibidas no menu de inicialização;



Soluções:
1ª:
Para desinstalar as versões anteriores do kernel temos diversas maneiras, vou explicar aqui apenas uma, se você tiver alguma dúvida ou quiser saber uma das outras, pergunte-me como.

No shell:

$ sudo -s (Para se tornar root) (digite a sua senha (do seu próprio usuário))
# dpkg -l |grep linux-image|cut -d" " -f 1-3 (para exibir a lista de pacotes de kernels instalados). Note que no início de cada linha irão aparecer duas letras (ii-instalado ou rc-removido)
# apt-get remove nome-do-pacote ex:# apt-get remove linux-image-2.6.27-11-generic
Confirme a remoção e pronto, as duas linhas (normal e recovery mode) referentes a cada pacote que você desinstalar com o comando acima irão sumir do menu inicial do grub.

2ª: O arquivo onde estão as opções de inicialização de kernel está no seguinte caminho:
# /boot/grub/menu.lst
Então basta editar esse arquivo e remover ou preferencialmente comentar as linhas referentes a cada versão de kernel. Ex:

Antes:

title Ubuntu 8.10, kernel 2.6.27-9-generic
uuid 838318f5-1962-41bf-b9d9-9f45c3c1647b
kernel /boot/vmlinuz-2.6.27-9-generic root=UUID=838318f5-1962-41bf-b9d9-9f45c3c1647b ro locale=pt_BR quiet splash
initrd /boot/initrd.img-2.6.27-9-generic
quiet

title Ubuntu 8.10, kernel 2.6.27-9-generic (recovery mode)
uuid 838318f5-1962-41bf-b9d9-9f45c3c1647b
kernel /boot/vmlinuz-2.6.27-9-generic root=UUID=838318f5-1962-41bf-b9d9-9f45c3c1647b ro locale=pt_BR single
initrd /boot/initrd.img-2.6.27-9-generic

Depois:


#title Ubuntu 8.10, kernel 2.6.27-9-generic
#uuid 838318f5-1962-41bf-b9d9-9f45c3c1647b
#kernel /boot/vmlinuz-2.6.27-9-generic root=UUID=838318f5-1962-41bf-b9d9-9f45c3c1647b ro locale=pt_BR quiet splash
#initrd /boot/initrd.img-2.6.27-9-generic
#quiet

#title Ubuntu 8.10, kernel 2.6.27-9-generic (recovery mode)
#uuid 838318f5-1962-41bf-b9d9-9f45c3c1647b
#kernel /boot/vmlinuz-2.6.27-9-generic root=UUID=838318f5-1962-41bf-b9d9-9f45c3c1647b ro locale=pt_BR single
#initrd /boot/initrd.img-2.6.27-9-generic

Tome cuidado para não comentar o kernel de sua preferência, pois assim ele não aparecerá no menu de inicialização.

TRACEROUTE - Por onde passam os pacotes...

Outro programa muito utilizado pelo adminstrador de rede é o traceroute. Muitas vezes o acesso à rede ou à internet para e não se sabe onde está o problema. O comando traceroute, como o próprio nome diz traça uma rota por onde os pacotes de dados passam até o host de destino. Com ele é possível saber por quais roteadores(gateways) os pacotes estão passando antes de chegar ao destino.

Nome: traceroute
Definição: exibe a rota que os pacotes traçam para um host de rede. Ele utiliza o campo time to live (TTL) do protocolo IP com tentativas de obter uma resposta ICMP TIME_EXCEEDED de cada gateway ao longo do caminho para o host.
Sintaxe: traceroute [opções] [host] [tamanho do pacote]
Opções:
-I Usa o ICMP ECHO para a sondagem.
-T Usa TCP SYN para a sondagem.
-F Seta o bit de “não fragmentação”.
-i Especifica por qual interface o traceroute irá enviar os pacotes. Por padrão, a interface é selecionada de acordo com a tabela de rotas.
-m Especifica o número máximo de hops (TTL). O padrão é 30.
-n Não resolve nomes, mostra apenas endereços IP.
-p port Se utilizada no rastreio por UDP especifica qual porta será utilizada. No rastreio por ICMP além de especificar a porta de destino a ser utilizada incrementa-a a cada hop. Para TCP especifica a porta (constante) de destino para conectar.
-w tempo Seta o tempo em segundos de espera de uma resposta para o hop. O padrão é 5 segundos.
-s endereço Especifica qual endereço de origem será usado. Note que o endereço deve existir e está configurado em uma das placas de rede.
-U Usa o UDP para a sondagem. Porta padrão é a 53.
-UL Usa UDPLITE para a sondagem. Porta padrão é a 53.

Exemplos:
#traceroute -I -F -i eth2 -m 50 -n www.google.com 500 (Traça a rota para o endereço do servidor www.google.com não resolvendo os nomes de cada gateway por onde passa saindo pela interface eth2 com no máximo 50 hops utilizando ICMP ECHO para a sondagem e não fragmentando o pacote que é de 500 bytes).

#traceroute -p 57 -w 10 -UL 200.20.20.20 (Executa o traceroute para o endereço 200.20.20.20 pela porta 57 com o protocolo UDPLITE aguardando no máximo 10 segundos para cada hop).

domingo, 1 de fevereiro de 2009

TAIL - Visualizando o final dos arquivos

Falando em logs segue abaixo a definição de um comando extremamente útil para visualização de logs, inclusive em tempo real, o tail.

Nome: tail
Definição: Mostra a última parte dos arquivos. Por padrão imprime as últimas 10 linhas de cada arquivo na saída padrão.
Sintaxe:tail [opções] [arquivos]
Opções:
--retry Tenta intermitentemente acessar o arquivo quando este não está disponível no momento. É normalmente utilizado junto com a opção --follow que significa perseguir por nome.
-c N Exibe na saída padrão os últimos N bytes. Mesmo que --bytes=N.
-F A mesma coisa que --follow=name –retry.
-n N Exibe na saída padrão as últimas N linhas no lugar das 10 últimas. Se utilizado o símbolo de + antes do N exibe a partir da enésima linha ex: tail -n +10 /var/log/syslog exibe a partir da décima linha até o final do arquivo.
--pid=PID Com a opção -f, termina após o processo PID terminar.
-s S Com a opção -f espera por aproximadamente S segundos entre as iterações. O padrão é 1)
-q Não exibe os cabeçalhos com o nome dos arquivos.
-v Sempre exibe os cabeçalhos com os nomes dos arquivos.

Exemplos:
#tail -f -s 3 /var/log/syslog –pid=3342 -v (Exibe em tempo real de 3 em 3 segundos as últimas linhas do arquivo /var/log/syslog inclusive com o nome do arquivo enquanto o processo 3342 estiver executando.

#tail -F $HOME/.xsession-erros /var/log/messages -n 30 (Faz várias tentativas para exibir as últimas 30 linhas dos arquivos '/home/”usuário corrente”/.xsession-erros' e '/var/log/messages' caso estes estejam inacessíveis no momento.