blank blank

Mais dicas do Debian Lenny

Aqui vai um follow-up do post anterior, com mais dicas de uso do Debian Lenny em desktops:

Configuração de Rede:

O Debian não utiliza o NetworkManager por padrão, o que é na verdade uma boa coisa dentro da idéia de um sistema simples e leve, pois permite que você simplesmente configure a rede manualmente através do arquivo “/etc/network/interfaces”, sem precisar se preocupar com o applet do NetworkManager, como no Ubuntu.

Por default, o sistema simplesmente configura a rede via DHCP, o que atende à maior parte dos usuários, que simplesmente acessam através de uma conexão compartilhada. A configuração default no arquivo “/etc/network/interfaces” é similar a:

auto lo eth0
iface lo inet loopback

iface eth0 inet dhcp

Para configurar a rede manualmente, basta substituir o “inet dhcp” por “inet static”, especificando os endereços manualmente, como em:

auto lo eth0
iface lo inet loopback

iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

Ao configurar a rede manualmente, você deve especificar também os endereços dos servidores DNS que serão usados no arquivo “/etc/resolv.conf“, com em:

nameserver 208.67.222.222
nameserver 208.67.220.220

Se você usa uma placa wireless, deve fazer a configuração em dois passos que vimos no post sobre o NetworkManager, gerando a configuração do wpa_supplicant e adicionando as duas linhas extras no final do arquivo “/etc/network/interfaces”. Se a placa é vista pelo sistema como “wlan0” (use o comando “cat /proc/net/wireless” em caso de dúvida) o SSID da rede é “gdhn” e a chave de acesso é “gdh12345”, o comando seria:

# wpa_passphrase gdhn gdh12345 > /etc/wpa_supplicant.conf

E a configuração no arquivo “/etc/network/interfaces” para DHCP seria:

auto lo wlan0
iface lo inet loopback

iface wlan0 inet dhcp
wpa-driver wext
wpa-conf /etc/wpa_supplicant.conf

Você pode também configurar a rede usando meu script de configuração.

Se você precisa se conectar a várias redes wireless diferentes, existe a opção de usar os comandos manuais, que permitem conectar e desconectar conforme necessário. Nesse caso, o primeiro passo é gerar arquivos de configuração diferentes para cada rede usando o wpa_passphrase.

A partir daí, use os comandos a seguir para se conectar, especificando o arquivo de configuração apropriado para a rede que quer se conectar:

# killall wpa_supplicant
# wpa_supplicant -i wlan0 -c /etc/rede1.conf -B -D wext
# dhclient wlan0

O “killall wpa_supplicant” é necessário para finalizar instâncias anteriores do wpa_supplicant que estejam ativas, já que, uma vez ativado, ele fica ativo background até que o micro seja desligado. É preciso também esperar dois ou três segundos antes de usar o “dhclient wlan0”, para que wpa_supplicant tenha tempo de estabelecer a conexão.

Para facilitar, você pode transformar estes comandos em um pequeno script, que pode usar de maneira mais prática:

#!/bin/sh
killall wpa_supplicant
wpa_supplicant -i wlan0 -c /etc/$1.conf -B -D wext
dhclient wlan0

Nesse exemplo, bastaria indicar o arquivo de configuração que seria usado ao executar o script, como em:

# ./meu-script rede1

Outra observação é que, os firmwares necessários para ativar placas wireless com chipset Intel ou Ralink foram movidos para o repositório “non-free” e precisam ser instalados manualmente, através de um destes três pacotes:

firmware-iwlwifi : Firmware para placas Intel Wireless 3945 e 4965
firmware-ipw2×00 : Firmware para placas Intel Pro Wireless 2100, 2200 e 2915
firmware-ralink : Firmware para placas Ralink RT2561, RT2571, RT2661 e RT2671

Basta reiniciar o PC (ou descarregar e recarregar os módulos manualmente) depois de instalar o pacote referente à placa para que os firmwares passem a ser carregados e ela passe a ser ativada automaticamente durante o boot. Como pode imaginar, estes pacotes fazem parte do repositório “non-free”, que deve ter sido previamente ativado.

Sudo:

Diferente do Ubuntu, o Debian não utiliza o sudo para permitir que usuários normais do sistema executem aplicativos como root. Apesar disso, o pacote “sudo” vem pré-instalado e você pode alterar a configuração do sistema para que ele se comporte da mesma maneira que o Ubuntu fazendo apenas uma modificação simples no arquivo “/etc/sudoers“, que, como de praxe, deve ser editado usando o root.

Para criar uma configuração similar à do Ubuntu, onde os usuários adicionados ao grupo “sudo” podem executar comandos como root depois de confirmar a senha de usuário, adicione a linha:

%sudo ALL=(ALL) ALL

Se preferir que os comandos sejam executados diretamente, sem precisar fornecer senha, a linha fica:

%sudo ALL=NOPASSWD: ALL

Em ambos os casos, é necessário que você cadastre seu login de usuário (e outros em que quiser usar o sudo) no grupo “sudo”, como em:

# adduser gdh sudo

Instalando drivers adicionais

Embora o Debian não inclua o gerenciador de drivers restritos disponível no Ubuntu, a instalação dos drivers da nVidia, ATI, assim como outros drivers e aplicativos proprietários (como o VMware) não é nenhum bicho de sete cabeças.

O primeiro passo é instalar os compiladores básicos e os headers do kernel, usando o:

# apt-get install build-essential linux-headers-`uname -r`

O “build-essential” é o mesmo pacote de compiladores e bibliotecas que está disponível no Ubuntu. Ele instalar o GCC, G++ e os demais integrantes do kit básico de compilação.

O pacote “linux-headers” inclui os headers do kernel, que inclui o conjunto de arquivos e ponteiros necessários para que o compilador seja capaz de gerar módulos adequados ao kernel em uso. Existem várias versões do pacote, uma para cada versão do kernel disponíveis nos repositórios, como em “linux-headers-2.6.26-1-686” por isso, para facilitar, usamos o “linux-headers-`uname -r`” (o ` é o símbolo de craze) que faz com que o apt descubra sozinho qual versão deve instalar a partir do comando “uname -r”. Com isso, a casa fica pronta para a instalação dos drivers.

No caso da nVidia, existem duas maneiras de instalar o driver. O primeiro é fazer o procedimento manual, baixando o pacote no site da nVidia e executando em um terminal de texto.

Nesse caso, o primeiro passo é parar o KDM ou GDM, de maneira a finalizar o ambiente gráfico (uma exigência do instalador da nVidia):

# /etc/init.d/kdm stop
(ou “/etc/init.d/gdm stop”)

De volta ao terminal de texto, logue-se como root e execute o arquivo a partir da pasta onde ele foi baixado, como em:

# cd /tmp
# chmod +x NVIDIA-Linux-x86-180.29.pkg1.run
# ./NVIDIA-Linux-x86-180.29.pkg1.run

A partir daí, é só aceitar o contrato de licença e deixar que o instalador compile os módulos necessários e atualize a configuração do X.

O Debian oferece também pacotes semi-prontos do driver do repositório non-free, que podem ser instalados diretamente através do apt-get. A vantagem de usá-los é que o sistema passa a ser capaz de atualizar o driver automaticamente quando você atualiza para uma versão mais recente do kernel, evitando que você precise reinstalar o driver manualmente depois de perceber que o X deixou de abrir.

O primeiro passo é instalar o module-assistant e, caso não tenha instalado anteriormente, os pacotes “build-essential” e “linux-headers”:

# apt-get install module-assistant build-essential linux-headers-`uname -r`

O module-assistant (ou simplesmente “m-a”) é um gerador de módulos para o kernel, que é capaz de baixar os pacotes com o código-fonte, compilar, instalar e atualizar os módulos, tudo de forma automatizada.

Para que ele funcione, é necessário que o arquivo “/etc/apt/sources.list” inclua a linha com os repositórios deb-src, como em:

deb-src http://ftp.br.debian.org/debian/ lenny main contrib non-free

… já que o module-assistant precisa ter acesso aos pacotes com o código-fonte dos módulos para poder compilá-los e instalá-los.

No caso do driver da nVidia, o primeiro passo é instalar os pacotes “nvidia-glx”, “nvidia-settings” e “nvidia-xconfig”, que incluem as bibliotecas e os utilitários utilizados pelo driver:

# apt-get install nvidia-glx nvidia-settings nvidia-xconfig

O passo seguinte é usar o module-assistant para compilar e instalar o módulo de kernel. Ele gerará uma versão do pacote “nvidia-kernel” com o mesmo número de versão do kernel em uso, que será instalada automaticamente no final do processo:

# m-a a-i nvidia-kernel-source

Terminado o processo, fica faltando apenas atualizar a configuração do vídeo, utilizando o “nvidia-xconfig”:

# nvidia-xconfig

Antes de reiniciar o X para testar o driver, abra o arquivo “/etc/X11/xorg.conf” e verifique a seção de configuração do teclado. Se ela tiver ficado apenas com as linhas “Generic Keyboard” e “kbd”, como em:

Section “InputDevice”
Identifier “Generic Keyboard”
Driver “kbd”
EndSection

… adicione manualmente as linhas Option “XkbModel” “abnt2” e Option “XkbLayout” “br”, que especificam o layout do teclado:

Section “InputDevice”
Identifier “Generic Keyboard”
Driver “kbd”
Option “XkbModel” “abnt2”
Option “XkbLayout” “br”

EndSection

Esse problema da remoção da configuração do teclado é um problema antigo, que afeta também as instalações feitas usando o instalador oficial da nVidia, tornando necessário o retoque manual.

Ao ser usado, o nvidia-xconfig salva uma cópia de backup da configuração anterior do vídeo no arquivo “/etc/X11/xorg.conf.backup”, que você pode restaurar em caso de problemas.

O Debian inclui também pacotes pacotes para dos drivers 3D da ATI, que são instalados de maneira praticamente automática pelo apt e pelo module-assistant.

Desde que você tenha instalado os compiladores, os headers do kernel e o module-assistant nos passos anteriores, você pode instalar o driver usando o comando:

# m-a a-i fglrx

No final da instalação, o dpkg irá reclamar que o “fglrx-kernel” (o pacote com o módulo de kernel, compilado pelo module-assistant) depende os pacotes “fglrx-driver” e “fglrx-glx ” (que incluem os demais componentes do driver), mas o apt se encarrega de baixá-los e concluir a instalação automaticamente, um bom exemplo da capacidade de correção automática de problemas do gerenciador de pacotes.

Com isso, a instalação do driver está concluída. Falta apenas carregar o módulo e chamar o “aticonfig –initial ” para que ele ajuste a configuração do X:

# modprobe fglrx

# aticonfig –initial

No protocol specified
Uninitialised file found, configuring.
Using /etc/X11/xorg.conf
Saved back-up to /etc/X11/xorg.conf.original-0

Como pode ver pela saída do comando, ele ajusta a configuração do X, salvando uma cópia do arquivo original no arquivo “/etc/X11/xorg.conf.original-0 “.

Para testar a configuração, reinicie o ambiente gráfico pressionando Ctrl+Alt+Backspace e rode o comando “fglrxinfo | grep render” (como usuário). Ele deverá responder algo similar a “OpenGL renderer string: ATI Radeon Xpress Series”. Aproveite para rodar também o “fgl_glxgears” (ou algum jogo 3D, como o chromium) para testar o desempenho do vídeo.

Se por acaso algo der errado, basta recuperar o backup do arquivo de configuração do X:

# cp /etc/X11/xorg.conf.original-0 /etc/X11/xorg.conf

Em caso de problemas mais sérios com a configuração, você pode também começar de novo, fazendo com que o sistema reconstrua a configuração do X usando o comando:

# dpkg-reconfigure -phigh xserver-xorg

Além dos drivers da nVidia e da ATI, o module-assistant pode ser usado para instalar outros drivers proprietários, ou drivers que não venham instalados por padrão no sistema. Em versões anteriores, por exemplo, era comum que ele fosse usado para instalar o fuse, que é usado por diversos sistemas de montagem, mas que não vinha instalado por padrão no Sarge.

Migrando para a próxima versão

Seguindo a tradição de manter o desenvolvimento simultâneo das versões Stable, Testing e Unstable, juntamente com o lançamento do Lenny, foi iniciado o desenvolvimento do Squeeze (6.0), a atual versão Testing, cujo lançamento está inicialmente previsto para o segundo semestre de 2010.

Embora, por definição, a versão Testing seja uma versão de desenvolvimento, que possui diversos bugs (é normal que você passe a ter pequenos problemas ao atualizar o sistema, que um ou outro programa deixe de funcionar corretamente depois de atualizado e assim por diante), ela acaba sendo a melhor maneira de ter acesso a um sistema atualizado, sem com isso precisar migrar para o Ubuntu ou outra distribuição.

Você pode migrar do Lenny para o Squeeze a qualquer momento e a partir daí passar a ter acesso às novas versões dos pacotes. Se continuar a atualizar o sistema até o final do ciclo, vai eventualmente acabar com uma instalação da próxima versão estável, com a opção de repetir o ciclo indefinidamente, atualizando do Lenny para o Squeeze e dele para a próxima versão estável. Não é incomum encontrar usuários antigos do Debian que atualizaram do Sarge para o Etch, do Etch para o Lenny e que agora estão utilizando o Squeeze, sem nunca precisarem reinstalar o sistema.

Para fazer a alteração, substitua todas as referências ao “lenny” dentro do arquivo “/etc/apt/sources.list” por “squeezy”, que é a atual versão testing.

Comente a linha do “volatile.debian.org” (ele está disponível apenas para as versões estáveis) e adicione a linha que ativa o uso dos repositórios do unstable. Depois das alterações, o arquivo ficará assim:

deb http://ftp.br.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.br.debian.org/debian/ squeeze main contrib non-free

deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free

#deb http://volatile.debian.org/debian-volatile squeeze/volatile main
#deb-src http://volatile.debian.org/debian-volatile squeeze/volatile main

deb http://www.debian-multimedia.org squeeze main

deb http://ftp.br.debian.org/debian/ sid main contrib non-free

Os repositórios do security.debian.org ficarão sem uso enquanto estiver usando o testing, pois as atualizações de segurança ficam disponíveis apenas para as versões estáveis. Entretanto, não faz mal deixar as linhas no arquivo, já que elas passarão a ser usadas quando o Squeeze for declarado estável.

É recomendável usar os repositórios do Squeeze (Testing) junto com os repositórios do Sid (Unstable), pois em muitas situações o testing fica com dependências quebradas (pacotes que precisam de outros que ainda não foram atualizados) e o apt resolve o problema automaticamente, baixando a partir do Unstable.

Quando o Squeeze entrar em freeze (ou seja, for congelado), o que acontece cerca de 6 meses antes do lançamento da nova versão, você pode comentar a linha do sid e passar a usar apenas o Squeeze, que já estará praticamente completo.

Nesse caso, é importante que você crie (ou modifique) o arquivo “/etc/apt/apt.conf “, adicionando a linha:

APT::Default-Release “squeeze”;

Isso explica ao apt que ele deve utilizar os pacotes do Squeeze por padrão, recorrendo aos pacotes do Sid apenas em casos em que os pacotes solicitados ainda não estejam disponíveis. Isso faz com que o Sid seja usado apenas enquanto os repositórios do Squeeze estiverem incompletos, deixando de ser usado conforme a versão for finalizada.

Depois de alterar a configuração, utilize os tradicionais “apt-get update” e “apt-get dist-upgrade” para atualizar o sistema do Lenny para o Squeeze. A partir daí, você pode continuar atualizando o sistema periodicamente usando o “apt-get upgrade”, até que o Squeeze esteja finalmente pronto. Quando isso finalmente acontecer, você tem novamente a escolha de ficar com ele, ou de migrar para a próxima versão Testing, recomeçando o ciclo. 🙂

Uma nota importante é que os pacotes do Testing/Unstable são atualizados muito rapidamente (diferente dos pacotes do Stable que recebem apenas atualizações de segurança), por isso é perda de tempo tentar rodar o “apt-get upgrade” todos os dias para tentar manter o sistema atualizado. Todos os dias haverão 100 ou 200 MB de atualizações, contendo revisões menores dos pacotes, que você só precisa realmente atualizar se for um beta-tester. Uma boa dosagem nesse caso é atualizar o sistema a cada duas ou quatro semanas, mantendo-o atualizado, mas sem cair na paranóia de tentar testar cada nova versão de cada pacote.

Sobre o Autor

Redes Sociais:

Deixe seu comentário