Índice das dicas

Entendendo o Puppy Linux

Por Carlos E. Morimoto em 9 de fevereiro de 2009 às 21h09

39

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.

39 comentáriosPor Carlos E. Morimoto. Revisado 23 de março de 2011 às 11h18

Comentários

Utilize ao de platforms em php android
por Zahir amirali (anônimo) em 16 de maio de 2011 às 09h52
Boa tarde !
Venho por este wm
 
por Walter Ice (anônimo) em 4 de março de 2011 às 23h13
O Puppy é ótimo. Uso o 4.2 que é mais simples porém eficiente. Já o KURUMIN 7 (que também uso direto há 2 anos e NUNCA DEU DEFEITO NENHUM) - DEUS U LIVRI! Kurumin é o melhor SO do mundo, sem contestaçao!
 
por INDIGNADO 26 (anônimo) em 22 de setembro de 2010 às 00h41
e sem falar na porcaria da rtl8187...no tempo do kurumin, tinha os softmodens...mas o paizao Morimoto dava seu jeito...hoje é essa encrenca da rtl8187...esses dias instalei o ubuntu...por incrivel que pareça, tudo ok...navegava que era uma beleza, dei apt-get install de uma monte de coisas...parecia milagre!!! mas de uma hora pra outra, sei la o que aconteceu! parou tudo ficou lento, nao instalava mais nada...vai entender...to louco por uma atheros pci...que dizem ser a melhor pra linux...alguma sugestao ?

lembro que naveguei na net pelo cdrom, usando opensuse, ubuntu, mint, slitaz, varios linux...mas de repente nao consigo mais nada...alguem tem uma sugestao? pq de repente o rtl 8187 parou de funcionar no linux ? no XP ela ta ok...e to usando agora pra escrever isto... Poltergeist ?
 
por INDIGNADO 26 (anônimo) em 22 de setembro de 2010 às 00h32
o que nao consigo entender...porque projetos tão bons quanto o knoppix, kanotix e kurumin, nao trouxeram progressos no mundo linux...sei la...pra mim ta tudo na mesma...o ubuntu é bom, ok...mint, fedora, opensuse...todos tem la seus progressos...mas nao consegui utilizar nenhum deles como eu utilizava o kurumin, ou kanotix...esses dias baixei o kanotix 2005.04...e achei muito bom e rapido...mas parece que todo mundo foi "enfeitiçado" pelo efeito ubuntu, e esqueceram seus projetos pra imitar o ubuntu,...tentei utilizar o kanotix 2010, sidux, aptosid, mas parece que nao é a mesma coisa da epoca do Kurumin...até criei uma certa simpatia pelo Zenwalk...mas ainda nao preenche o vazio do kurumin...Biglinux, dreamlinux, brlix...to nem ai...nao uso...tentei o knoppix...e ele adotou o lxde...ate prefiro o gnome depois do pesadissimo kde4...e sem saber o motivo, nao reconhece meu teclado...tentei o kanotix 2010, e da mensagem out of sync, e tenho que usar ctrl alt - pra poder ver alguma coisa...assim nao da...parece que as distros estao andando pra tras...
 
por mgmanes (anônimo) em 30 de maio de 2010 às 20h18
OLa amigos como faço para configurar o som e maquinas que não o detectaram ?
 
por Lyncoln Napoleão (anônimo) em 22 de abril de 2009 às 01h50
Queria saber como assistir rmvb no Puppy, instalei o pupeee no meu eeepc e queria o w32codecs. Alguém sabe?
 
por Alekssandro (anônimo) em 1 de abril de 2009 às 22h19
legal a materia mas só falta um tuto de como instalar no hd(em fim um tuto geral de como instalar no hd, pendrive, etc) porque depois que instalo tem uma serie de confirmações, não sei se porque usei o xorg, mas depois ela não carrega o sistema(pelo hd) em Pentium 2 333, 128 de ram(será que está faltando ram?)
 
por Bambumusico (anônimo) em 13 de março de 2009 às 11h07
Desde que conheci o linux adoro testar distribuições, mas sem dúvida nenhuma a melhor e mesmo o bom e velho kurumin, dei uma atualizada para um repositorio mais atual e ele está aqui firme e forte, como tudo que é bom e acadaba vira lenda, o kuruma já é lenda, parabéns Morimoto!
 
por Fausto (anônimo) em 12 de março de 2009 às 12h21
Esse Puppy realmente é um achado. Ele é surpreendentemente leve. Eu inclusive o instalei num pendrive USB de 1GB, o que já me ajudou a resolver um problema de copiar arquivos pela rede num PC com senha. Bastou dar boot pelo Puppy do meu pendrive e pronto, consegui ter acesso à partição e copiar pela rede o que eu precisava.
 
por fernandonet (anônimo) em 11 de março de 2009 às 20h59
tenho um companheiro de trabalho que tem um pentium 120
com 1,3 g sem internet com win98, será que o puppy retro funcionaria legal para ele?