sábado, 5 de fevereiro de 2011

Entendendo o instalador do Slackware

O processo de instalação do Slackware, assim como o de qualquer outra distribuição, segue um processo relativamente simples, que consiste em coletar informações sobre as partições que serão utilizadas, as configurações desejadas e os pacotes que serão instalados, copiar os arquivos do sistema para a partição de instalação, instalar o gerenciador de boot e gerar os arquivos de configuração necessários, de foma que o sistema possa funcionar sozinho depois de concluída a instalação.

Imagine que você queria construir uma casa usando materiais pré-fabricados por exemplo. A empresa contratada começaria coletando informações sobre que tipo de casa você quer, o terreno que será utilizado e assim por diante e criaria um projeto para a obra, com base nos componentes disponíveis. Os materiais seriam então transportados até o local e a casa montada. Depois de feito o acabamento e os últimos ajustes, o projeto é finalizado e você pode fazer a mudança.

No caso de uma distribuição Linux, o sistema é originalmente distribuído na forma de um conjunto de pacotes, cada um contendo um determinado aplicativo, biblioteca ou outro componente do sistema, como se fossem lajes e paredes pré-fabricadas. O instalador faz então o trabalho do empreiteiro, coletando informações, elaborando um projeto e combinando os pacotes disponíveis para obter o resultado desejado.

Por estranho que possa parecer, o instalador do Slackware é na verdade um shell-script bastante simples (no Slackware 12.1 ele tem apenas 384 linhas), que coleta algumas informações, monta as partições onde o sistema será instalado, faz a cópia dos arquivos e executa alguns passos adicionais para que ele seja capaz de dar boot sozinho.

Ao dar boot através do CD ou DVD de boot, é carregada uma versão minimalista do sistema, sobre a qual roda o instalador. Os instaladores de outras distribuições seguem esta mesma idéia, carregando primeiro uma versão simplificada do sistema, usada para rodar o instalador. Ou seja, usamos o próprio Linux para instalar o Linux.

Se você acessar os arquivos dentro do DVD ou do primeiro CD de instalação, vai encontrar, dentro da pasta "isolinux/", o arquivo "initrd.img", que contém justamente a imagem binária dessa distribuição minimalista.

Caso esteja curioso, é possível ver o conteúdo desse arquivo e fuçar no código do instalador, desde que você tenha acesso a alguma outra distribuição já instalada (um live-CD também serve). Copie o arquivo initrd.img para uma pasta qualquer do sistema, e (dentro dela) use os comandos abaixo para descompactá-lo e poder ver seu conteúdo:

$ mkdir slackboot
$ cd slackboot
$ gzip -dc ../initrd.img | cpio -i -d -H newc --no-absolute-filenames

Isso faz com que o arquivo seja descompactado e o conteúdo fique disponível dentro da pasta "slackboot" que foi criada:

Esta é justamente uma mini-distribuição, contendo um conjunto de executáveis, módulos e scripts que ao usados para criar o ambiente inicial, onde você loga e roda o cfdisk. O script do instalador vai dentro da "usr/lib/setup/". Basta acessá-la e abrir o arquivo "setup" usando o editor de textos. Este é o tão famoso instalador do Slackware, que continua sendo usado desde 1993, com poucas alterações:

0 comentários:

Postar um comentário

 
Design by Eddy Oliveira