Entendendo o Puppy Linux

Entendendo o Puppy Linux

O Puppy Linux é uma distribuição minimalista independente, que utiliza um sistema próprio de gerenciamento de pacotes, oferecendo um sistema bastante simples, onde você pode manipular diretamente os componentes e entender como as coisas funcionam.

Ele é também uma das distribuições Linux mais leves, o que o torna uma opção para uso em PCs antigos. O sistema é surpreendentemente compacto, incluindo um conjunto completo de softwares em uma imagem de apenas 95 MB. Ele está disponível no: http://puppylinux.com/

As versões são tipicamente disponibilizadas em pares, uma com uma versão atual do kernel e outra com uma versão mais antiga, compilada de maneira mais conservadora, destinada a máquinas antigas, onde a versão principal eventualmente apresente problemas. No caso da versão 4.1.2, por exemplo, a versão principal é a puppy-4.1.2-k2.6.25.16-seamonkey.iso” e a versão conservadora é a “puppy-4.1.2retro-k2.6.21.7-seamonkey.iso”.

O “2.6.25.16” indica a versão do kernel usada, enquanto o “seamonkey” indica que as imagens incluem o Seamonkey (a versão original do Mozilla, que inclui o cliente de e-mails, o livro de endereços e o editor HTML), usado como navegador. Está disponível também o “puppy-unleashed”, um conjunto de pacotes e scripts que permitem gerar uma versão personalizada do Puppy, com os pacotes desejados.

Durante o boot, ele pergunta sobre o mouse e sobre o layout do teclado. Em muitas máquinas, ele é capaz de detectar o vídeo automaticamente, assim como em outras distribuições atuais, mas em muitas máquinas ele exibe um wizard simples, perguntando qual resolução usar:

puppy_html_m7fa04c6e

A possibilidade de indicar a resolução manualmente ajuda bastante ao rodar o sistema em micros antigos, que muitas vezes usam placas de vídeo sem suporte adequado no Linux, ou monitores sem suporte a DDC (onde o sistema não tem como detectar a resolução automaticamente). Muitas distribuições atuais falham nessas condições, mas no Puppy basta indicar a resolução manualmente.

Outra opção que você talvez estranhe é a possibilidade de escolher entre dois servidores gráficos. Além do Xorg, que é o servidor padrão, usado em outras distribuições, o Puppy inclui também o “Xvesa”, que é um servidor gráfico mais simples e leve, que simplesmente utiliza o driver VESA para acesso à placa de vídeo. Ele é limitado com relação ao desempenho e às resoluções suportadas, mas oferece a vantagem de ser mais leve e funcionar em praticamente qualquer placa de vídeo.

O boot do Puppy é surpreendentemente rápido, muito diferente da maioria dos live-CDs, onde o boot demora de dois a três minutos. O segredo é justamente o tamanho reduzido do sistema, que faz com que o PC tenha menos dados a ler no CD e menos instruções a processar.

Outra vantagem do tamanho reduzido é que o sistema é capaz de rodar inteiramente a partir da memória RAM, o que representa um salto adicional em termos de desempenho. Na versões recentes, a cópia para memória RAM é feita automaticamente em PCs com a partir de 256 MB de RAM: o sistema fica uns 30 segundos no “copying to ram” no início do boot e a partir daí as coisas acontecem quase instantaneamente.

O gerenciador de janelas padrão do Puppy é o JWM, um gerenciador leve, que tem uma aparência similar à do antigo IceWM, mas é mais leve e oferece vários recursos adicionais. Examinando o menu você vai logo perceber que apesar do pequeno tamanho, o Puppy oferece um volume muito grande de aplicativos e opções:

puppy_html_197828c2

O visual espartano do Puppy não vai ganhar nenhum concurso de beleza, mas em termos de leveza e simplicidade ele é muito difícil de superar, rodando com desenvoltura mesmo em máquinas antigas com apenas 128 ou mesmo 64 MB de RAM.

Ele inclui um pequeno painel de configuração (o ícone “Setup” no desktop), que oferece as opções de configuração para o layout do teclado, som, vídeo, suporte a impressão, gravadores de CD/DVD, firewall e, o mais importante, a configuração de rede, que, diferente de outras distribuições, não é obtida automaticamente via DHCP durante o boot:

puppy_html_m110f6f99

O sistema inclui também suporte a placas wireless, incluindo um conjunto moderadamente completo de drivers, juntamente com um script de configuração. A principal dificuldade é que muitas placas não são detectadas automaticamente, mas sim através da opção “Load Module” no script de configuração de rede, que permite que você indique o módulo usado pela placa e verifique se a placa foi ou não ativada. Está disponível também um script de configuração do ndiswrapper, que permite ativar placas incompatíveis usando os drivers do Windows.

O Puppy inclui também suporte a diversos modelos de softmodems e também suporte a conexões ADSL PPPoE. Nenhuma das conexões é ativada automaticamente, mas basta usar as opções no menu. O sistema também não detecta automaticamente a placa de som, para ativá-la use a opção “Setup Alsa Sound”, que dispara o alsaconf.

O grande segredo do Puppy, em conseguir incluir tantas funções em tão pouco espaço é juntamente o uso extensivo de scripts e aplicativos próprios para desempenhar funções que em outras distribuições são executadas por aplicativos mais complexos. O visual pode não ser dos melhores, mas eles oferecem a vantagem de serem muito rápidos e de praticamente não ocuparem espaço.

Um bom exemplo é o suporte a VoIP. Em distribuições maiores, essa função é cumprida pelo Ekiga, que possui um grande volume de dependências (incluindo a biblioteca GTK e diversos componentes do Gnome), que juntos consumem quase tanto espaço quanto o Puppy propriamente dito, tornando inviável a inclusão dentro da distribuição.

Os desenvolvedores criaram então “Psip VOIP”, um pequeno aplicativo de VoIP, disponível a partir da versão 4.1. Ele é na verdade uma interface gráfica para um aplicativo de linha de comando, o “pjsua”, que é extraordinariamente leve e ocupa muito pouco espaço em disco. Com isso, conseguiram solucionar o problema, incluindo um aplicativo de VoIP sem aumentar muito o tamanho da distribuição. Se você tiver em mente que soluções similares são usadas em diversas outras partes do sistema, fica fácil entender como ele pode ser tão compacto. Alguns exemplos são:

ROX-Filer: É um gerenciador de arquivos bastante simples e rápido, usado por padrão no Puppy e em diversas outras distribuições minimalistas. Um dos destaques no Puppy são as associações de arquivos pré-configuradas, que tornam o uso bem mais prático.

Pmount: É o script responsável por criar os ícones para acesso às partições no desktop, detectando os sistemas de arquivos usados e oferecendo as opções de montar e desmontar.

Pfind: Um script de localização de arquivos que oferece várias opções. Ele é útil para localizar arquivos dentro de partições de dados ao usar o Puppy como sistema de recuperação.

puppyPDF: Mais um script, que permite converter arquivos em formatos diversos para PDF.

PupDial: Um discador simples, que complementa o suporte a softmodems, permitindo estabelecer a conexão.

Pwireless: Em outras distribuições, as redes wireless disponíveis são mostradas pelo applet do NetworkManager, disponível ao lado do relógio. Entretanto, ele é pesado demais para ser incluído no Puppy, o que levou os criadores a desenvolverem um script simples para localizar as redes disponíveis. Ele é complementado pelo Xautoconnect, que permite se conectar a redes abertas automaticamente.

Pctorrent: Uma interface simples para baixar arquivos .torrent, baseada no ctorrent, um aplicativo de linha de comando.

Pburn: Este é um pequeno aplicativo de gravação de CDs, que além de CDs de dados, permite gravar também CDs de música e VCDs.

O trabalho de redução e otimização se estende também aos aplicativos, escolhidos com base no tamanho e no volume de dependências externas. Em vez do Firefox, temos o Seamonkey, em vez do OpenOffice temos o Abiword e o Gnumeric, em vez do Totem ou do Kaffeine temos o Gxine, em vez do Acrobat Reader temos o ePDFView e assim por diante. Estes mesmos aplicativos podem ser usados também em outras distribuições, para casos em que você procura alternativas leves para usar em PCs com poucos recursos.

Devido ao tamanho, o Puppy não utiliza o apt, o yun ou outro gerenciador de pacotes tradicional, (que demandariam grandes mudanças na estrutura do sistema e representariam um aumento de algumas dezenas de megabytes no tamanho da imagem). Em vez disso, ele utiliza o “PETget“, um gerenciador de pacotes próprio, disponível através do menu ou do ícone “Instalar” no desktop:

puppy_html_2cdfa9cf

Os pacotes do Putty são na verdade arquivos compactados, que são extraídos no diretório raiz do sistema quando instalado, muito similar ao que temos no Slackware. Como o Puppy não utiliza nem o KDE, nem o Gnome, a lista de pacotes disponíveis é bastante limitada, mas em compensação os pacotes são bastante otimizados. O pacote do Gimp, por exemplo (que é um dos maiores), tem apenas 5 MB, sem dependências externas.

O Puppy é também parcialmente compatível com pacotes do Slackware. Basta salvá-los em alguma pasta e convertê-los para o formato do Puppy usando o “tgz2pet”, como em:

# tgz2pet bittorrent-4.4.0-noarch-2.tgz

Ele gera um arquivo com a extensão “.pet”, que é instalado ao clicar sobre ele no gerenciador de arquivos.

Embora não exista nenhuma garantia de compatibilidade, a maioria dos pacotes “simples”, que não precisam de componentes do KDE ou do Gnome funcionam bem. É possível até mesmo instalar programas mais complexos, desde que você consiga instalar junto todos os pacotes com dependências.

Graças ao uso do UnionFS, a instalação de programas adicionais funciona perfeitamente com o sistema rodando a partir do CD. Como de praxe, tudo é instalado na memória RAM, mas como os pacotes são muito pequenos, dificilmente você terá problemas de falta de memória.

Existem também diversas opções para salvar as modificações e os programas instalados, de forma que eles possam ser usados nos boots seguintes. Isso permite que você tenha um sistema persistente, salvando todas as configurações, arquivos e programas, mesmo com o sistema rodando a partir do CD-ROM.

Entre as possibilidades estão as tradicionais opções de usar um pendrive, ou criar um arquivo em uma das partições do HD. Entretanto, a mais engenhosa delas é a possibilidade de criar um CD multisessão, onde o sistema carrega as configurações durante o boot e grava as alterações ao desligar criando uma nova sessão no CD. Como pode imaginar, isso só é possível por que o sistema roda a partir da memória RAM, se ele rodasse a partir do CD-ROM, a unidade ficaria ocupada e seria impossível salvar as alterações de volta antes de desligar.

Para usar esta opção, basta usar a opção de criar um CD multisessão ao gravar as imagem ISO, sem finalizar o CD depois da gravação. Os CDs multisessão estão fora de moda hoje em dia, mas a opção continua disponível nos programas de gravação.

As opções de salvar as configurações são exibidas sempre que você finaliza o sistema usando a opção “Shutdown” no menu:

puppy_html_m56c17510

Outra opção é simplesmente instalar o Puppy em um pendrive ou em uma pequena partição do HD. Como o sistema é muito compacto, uma partição de 1 GB é mais do que suficiente. A menos que você esteja instalando em um PC com menos de 256 MB, também não é necessário criar uma partição de memória swap, já que o uso de memória RAM do sistema é muito baixo:

puppy_html_m167c1ac

O instalador é um shell-script bastante comentado, que oferece várias opções de instalação. Ao instalar em um pendrive, use a “USB Flash Drive” e ao instalar em uma partição no HD use a “Internal (IDE or SATA) hard drive”. Embora seja possível instalar o Puppy em uma partição FAT, o ideal é criar uma partição EXT3, usando o Gparted que é aberto durante a instalação. Ao instalar em um pendrive, é necessário marcar a flash “Boot”, no “Partition > Manage Flags” e, naturalmente, configurar o Setup do micro para dar boot através da porta USB.

Outra observação é que durante a instalação são feitas várias confirmações, onde você precisa pressionar qualquer tecla e depois Enter. É importante prestar atenção nas mensagens, pois pressionar apenas Enter faz com que ele aborte a operação.

Não seria muito recomendável tentar usar o Puppy como distribuição principal, já que ele é muito espartano, mas ele é uma excelente opção de distribuição para carregar na carteira, ou para instalar no pendrive e usar como sistema rápido do de boot ou para ressuscitar máquinas antigas.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X