Índice das dicas

Distribuições Linux: Os LiveCDs

Por Carlos E. Morimoto em 23 de novembro de 2010 às 14h38

15

Embora o Debian "puro" seja bastante espartano em termos de ferramentas de configuração, ele oferece um repositório de pacotes incrivelmente completo, o Debian e é por isso usado como base para o desenvolvimento de inúmeras outras distribuições, que combinam os pacotes dos repositórios do Debian com personalizações, scripts e componentes adicionais, de forma a atingirem nichos específicos.

Um exemplo de destaque é o Knoppix, cuja versão 3.0 (a primeira a ganhar notoriedade) foi lançada em julho de 2002.

O Knoppix acabou se tornando um marco dentro da história do Linux por dois motivos. O primeiro é que ele foi a primeira distribuição Linux live-CD realmente utilizável, oferecendo um bom desempenho e um excelente script de autoconfiguração, que detectava o hardware da máquina durante o boot, gerando os arquivos de configuração de forma automática e entregando um sistema funcional no final do processo. Distribuições live-CD anteriores, como o DemoLinux eram muito mais lentas e impráticas de usar.

O segundo motivo e talvez o mais importante era a possibilidade de remasterizar o CD, gerando uma distribuição personalizada. Graças a isso, o Knoppix deu origem a um enorme número de novas distribuições, como o Kanotix (que deu origem ao atual Sidux), o Morphix (que, devido à sua arquitetura modular, ajudou a criar toda uma nova família de distribuições) e o Kurumin, que desenvolvi de 2003 a 2007.

Um live-CD é, em poucas palavras, uma versão pré-instalada do sistema, que utiliza um conjunto de truques para rodar diretamente a partir do CD-ROM. Tradicionalmente, qualquer sistema operacional precisa ser instalado no HD antes de ser usado. Você dá boot usando o CD ou DVD de instalação e é aberto um instalador (que, por sua vez, roda sobre algum sistema minimalista), que se encarrega de instalar e configurar o sistema principal. Depois de algum tempo respondendo perguntas e vendo a barra de progresso da cópia dos arquivos, você reinicia o micro e pode finalmente começar a usar o sistema. Isso é válido tanto para o Windows quanto para a maior parte das distribuições Linux.

Para quem já se acostumou com a idéia, pode parecer natural rodar o sistema a partir do CD e até mesmo instalar novos programas sem precisar modificar as informações salvas no HD, mas, em 2002, quando o Knoppix começou a ganhar popularidade, a idéia de rodar uma distribuição Linux completa a partir do CD-ROM era considerada uma idéia exótica. Muitas pessoas só acreditavam depois de desconectar o cabo flat do HD e ver que o sistema realmente dava boot apenas com o CD-ROM. :O

Apesar de receberam críticas por parte de alguns puristas, os live-CDs cresceram rapidamente em popularidade. O Ubuntu passou a ser um live-CD instalável a partir da versão 6.06, o Mandriva aderiu à idéia com o Mandriva Discovery (que foi sucedido pelo atual Mandriva One) e até mesmo o Fedora ganhou uma versão live-CD, o Fedora Live, sem contar o gigantesco volume de distribuições baseadas neles. Apesar do início tímido, os live-CDs dominaram o mundo.

A base de tudo é um módulo de Kernel chamado SquashFS (nas primeiras versões do Knoppix era usado o cloop, baseado no mesmo princípio), um hack que permite que o sistema rode a partir de um sistema de arquivos compactado, gravado no CD-ROM. Os dados são descompactados "on-the-fly", conforme são necessários.

O uso da compressão oferece duas vantagens: permitir que o sistema fique muito menor, colocando até 2 GB de dados em um CD-ROM de 700 MB, e melhorar o desempenho do sistema, aumentando a taxa de transferência efetiva do CD-ROM.

A idéia é que um CD-ROM de 52x é capaz de ler a, em média, 5.8 MB/s, pois como o CD gira sempre na mesma velocidade, as informações gravadas nas trilhas da parte externa do CD (mais longas) são lidas a mais ou menos o dobro da velocidade das do centro (que são mais curtas). Um CD-ROM de 52x lê a 7.8 MB/s nas trilhas externas mas a apenas 3.9 MB/s nas internas. Como o CD-ROM é gravado a partir do centro, na maior parte do tempo ele lê os dados a 5 ou 6 MB/s.

No entanto, ao ler 5 MB/s de dados compactados a uma razão de 3x, ele estará lendo, na prática, a quase 15 MB/s, um valor muito mais próximo do da taxa de transferência oferecida por um HD. Naturalmente ainda existem outros problemas, como o tempo de busca, que é muito mais alto em um CD-ROM, mas o problema principal é amenizado. Se não fosse o sistema de compressão, os live-CDs seriam três vezes maiores e três vezes mais lentos ao rodar do CD, o que os tornariam sistemas muito menos atrativos.

Em contrapartida, por causa da compressão o trabalho do processador passa a ser maior, pois, além de processar os dados referentes aos programas, ele tem que, ao mesmo tempo, descompactar os dados lidos pelo CD-ROM. Por isso, mais do que em distribuições instaladas, o desempenho aumenta de acordo com o poder de processamento da máquina.

A primeira etapa do boot é a tela de boas-vindas e uma linha onde você pode fornecer parâmetros para o boot. Logo depois é carregado o Kernel, que por sua vez inicializa o hardware, cria um ramdisk usando uma parte (pequena) da memória RAM onde são armazenados arquivos de configuração e outros dados que precisam ser alterados durante o uso. Depois disso entra em ação o hwsetup, o programa de detecção que, junto com um conjunto de outros scripts, se encarrega de detectar a placa de vídeo, som, rede, modem e outros periféricos suportados, exibindo mensagens que ajudam a identificar a configuração da máquina e já saber de antemão detalhes como o processador, quantidade de memória RAM e placa de vídeo instalada (imagine o caso de um técnico que instala o sistema em vários micros diferentes, por exemplo).

Nas primeiras distribuições live-CD, era utilizado um pequeno ramdisk (um disco virtual criado utilizando parte da memória RAM) para armazenar arquivos de configuração, o diretório home e outros arquivos do sistema que precisam ser alterados durante sua execução. Entretanto, a maior parte dos arquivos do sistema eram acessados diretamente a partir do CD-ROM, de forma que você não podia instalar novos programas nem fazer alterações em componentes do sistema enquanto ele estivesse rodando a partir do CD, devido à limitação óbvia de que o CD-ROM é uma mídia somente-leitura.

O solução para esta última barreira veio com o UnionFS, que passou a ser usado em larga escala a partir de 2005. O UnionFS funciona de uma forma bastante engenhosa, uma daquelas idéias aparentemente simples, que resolvem problemas complexos.

O UnionFS permite juntar dois (ou mais) diretórios em um, estabelecendo uma hierarquia entre eles. O "Union" vem justamente de "união". Temos então o arquivo compactado do CD em um nível hierárquico mais baixo, montado como somente leitura e um ramdisk, que originalmente está quase vazio, mas que vai armazenando todas as alterações. Os dois são montados em uma única pasta, que contém o conteúdo do arquivo compactado e do ramdisk.

Na hora de ler um arquivo, o sistema verifica se existe uma versão mais recente armazenada no ramdisk, caso contrário lê no arquivo principal. Na hora de gravar, as alterações são sempre armazenadas no ramdisk, de forma automática e transparente.

No final, você acaba podendo instalar programas via apt-get e fazer qualquer tipo de alteração no sistema, praticamente da mesma forma que se ele estivesse instalado. Naturalmente, todas as alterações são salva na memória RAM, de forma que, para realmente instalar um volume significativo de novos pacotes ou manipular grandes arquivos, você precisa ter um PC com pelo menos 1 GB de memória RAM. Em micros com pouca RAM você verá uma mensagem de "disco cheio" (quando na verdade o que acabou foi o espaço no ramdisk) ou até mesmo efeitos diversos por falta de memória RAM disponível.

O UnionFS é usado por padrão em quase todas as distribuições live-CD atuais, incluindo o Ubuntu Desktop. Isso permite que você teste novos programas, ou até mesmo configure servidores como o Samba e o Squid com o sistema rodando a partir do CD-ROM, sem qualquer alteração nos arquivos do HD. Isso permite uma liberdade muito grande para fuçar e brincar com o sistema, já que, em caso de problemas, basta reiniciar o micro e começar de novo.

15 comentáriosPor Carlos E. Morimoto. Revisado 23 de novembro de 2010 às 14h38

Comentários

linux para cursos
por ale (anônimo) em 6 de dezembro de 2010 às 10h38
Bom dia, eu gostaria de remasterizar uma distro, inserindo alguns programas que uso no curso de Linguagem e Tecnica de programação:

Interpretadores de algoritimo(portugol):

=>Hall(fernando paim)
=>ambap
=>portugolDE

Banco de Dados:

MySql

Tratamento de Imagens:

Gimp

Office:

BrOffice

java:

SE2jdk
Netbeans
Eclipse

python:

python

3.3
ericIDE(ide para python, mas o netbeans tambem dá pra usar)

Html:
bluefish

Este é meu sonho de consumo, ter o material de estudo rodando direto do cd...
alguém conhece uma distro com estes aplicativos?
Move
por TigerRobocop (anônimo) em 1 de dezembro de 2010 às 19h31
A primeira distribuição Linux de experimentei foi o live CD Mandriva Move que veio com a revista Command.com. Depois disso já usei outras distros e nunca mais parei. =]
Distros Linux
por Wellington Spock (anônimo) em 27 de novembro de 2010 às 15h55
A primeira distro que usei foi um live cd do Famelix, depois passei pro Kurumin, já instalando na máquina que usava. Isso em 2007. Hoje eu utilizo o Gentoo, e compilo tudo na mão, e não troco por Ruindou$ nenhum :D
Kurumin 7
por Paulo (anônimo) em 23 de novembro de 2010 às 22h57
Ainda utilizo o kurumin 7, até como servidor web de arquivos. Instalo nelo o BrOffice 3.2 e firefox e em algumas máquinas atualizo o sistema para o lenny. O kurumin 7 é um sistema simples para utulizar, mas muito poderoso.
ISOs live-cds.
por fernet (anônimo) em 23 de novembro de 2010 às 20h13
uma evolução interessante que poderia ocorrer é a possibilidade de gravar vários ISOs live-cd em DVDs
e poder escolher qual delas carregar
Live CD
por Renê M. M. (anônimo) em 23 de novembro de 2010 às 18h53
Comecei a utilizar o Live CD do Kurumin 1.2, o meu HD tinha queimado e não tinha grana para comprar outro. A solução foi utilizar o Linux para acessar a internet e fazer pequenos trabalhos. Foi muito bom. Até hoje hoje tenho alguns Live CD aqui comigo para as emergências e aprendi a gostar do Linux que tenho instalado em minha máquina.
evolução
por luizlmarins (anônimo) em 23 de novembro de 2010 às 18h33
A evolução é a ordem natural da coisas ...

O primeiro linux que eu usei foi o Kurumin Cacique, comprei na banca de jornal.
Rodei em um Pentium 166 ... e fiquei surpreso.
Fiz exatamente o que falou o Morimoto ... tirei o cabo do Hd ... hahaha!
Serve como pega espertinho
por MAQUIAVELHO em 23 de novembro de 2010 às 18h12
Toda pessoa, mesma aquelas que não pretendem usar um "Linux", deveriam ter um live-cd em casa para poder ter um meio de fazer uma análise se o pc realmente tem problema de hardware ou no sistema operacional. Dessa forma, muito "técnicos" mal-intencionados seriam descobertos quando falassem que é um problema de hardware, quando na verdade, poderia ser no sistema.
Live cds
por yurichelsea em 23 de novembro de 2010 às 15h08
os lives cds foram uma verdadeira revolução dos sistemas operacionais qnd foram lançados. Meu primeiro live cd foi do Famelix
 
por Alax Ricard (anônimo) em 20 de fevereiro de 2010 às 18h18
Muito bom mesmo Morimoto a sua explicação.