Criando um DVD de recuperação

Ao alterar os scripts de inicialização, você pode mudar radicalmente o comportamento do sistema, fazendo com que ele execute ações específicas durante o boot. Isso permite criar todo tipo de solução, como CDs de demonstração que rodam programas
específicos, CDs de diagnóstico, mini-distribuições com conjuntos personalizados de programas, e assim por diante.

Vamos a um exemplo de como criar um DVD de recuperação, que restaura automaticamente uma imagem previamente criada usando o Partimage, de forma a restaurar o sistema originalmente instalado na máquina, como nos micros de
grife. Este DVD de recuperação não se limita a restaurar instalações do Linux: você pode restaurar também instalações do Windows, ou instalações com dois ou mais sistemas em dual boot. A única limitação é a capacidade da mídia usada. Dependendo do tamanho
da imagem, o sistema de recuperação pode ser gravado num mini-DVD, ou até mesmo num CD-R.

Comece instalando e configurando o sistema normalmente no micro alvo. Depois de terminar, use o Partimage para gerar uma imagem de cada partição do HD, junto com o backup da MBR e da tabela de particionamento, como vimos no
capítulo 2.

Coloque todos os arquivos que serão usados dentro da pasta “knxmaster/” na sua partição de trabalho. Você pode colocar tudo dentro de uma sub-pasta para manter as coisas organizadas, como “knxmaster/image/”. Lembre-se de que
os arquivos colocados na “knxmaster/” não são compactados ao fechar a imagem. Por isso, não se esqueça de ativar a compactação do Partimage ao gerá-los.

O próximo passo é fazer com que o DVD passe a restaurar a imagem automaticamente durante o boot, sem intervenção do usuário. A idéia é que o sistema de recuperação seja o mais simples possível, de forma que seja
possível restaurar a imagem rapidamente em caso de problemas.

Uma dica é que, ao invés de fazer um DVD de recuperação que chega “chutando o balde”, formatando o HD e deletando todos os arquivos, você pode fornecer os micros com o HD dividido em duas partições: uma com o sistema e outra
para dados. O DVD de recuperação pode então restaurar apenas a partição do sistema, sem mexer na partição de dados, dando também a opção de fazer uma restauração completa.

Para que o DVD restaure a imagem durante o boot, precisamos alterar o conteúdo do script “knxsource/KNOPPIX/etc/init.d/knoppix-autoconfig, dentro da partição de trabalho.

Como vimos, este é o script responsável por toda a etapa inicial do boot, onde o hardware é detectado e o KDE carregado.

O que vamos fazer é colocar os comandos para gravar a imagem e reiniciar o micro no final deste arquivo. Isso fará com que o sistema entre em loop. Ele começa o boot, faz a gravação da imagem de recuperação e em seguida
reinicia a máquina, sem nem chegar a abrir o KDE. Você pode incrementar este script adicionando mais opções.

O comando que chama o partimage e regrava a imagem sem perguntar nada ao usuário é:

partimage -f action=2 -b restore /dev/hda1 /cdrom/image/sistema.img.000
shutdown -h now

O Partimage possui várias opções de linha de comando, que você pode estudar através do “man partimage”. O “-b” faz com que o processo todo seja feito automaticamente, sem pedir confirmação e o “-f
action=2
” reinicia o micro depois da gravação. O “/dev/hda1” é a partição onde a imagem será escrita, enquanto o “sistema.img.000” é o arquivo de imagem colocado dentro da pasta knxmaster. Note que ao dar boot via CD, todo o conteúdo da
pasta “knxmaster/” fica acessível através da pasta “/cdrom”, mantendo a mesma estrutura de diretórios.

O “shutdown -h now” abaixo da primeira linha é só pra garantir que o micro vai mesmo reiniciar depois de terminar a gravação. Na verdade ele nem chega a ser usado, pois o próprio comando do Partimage se encarrega de reiniciar
no final do processo.

Você pode adicionar as linhas próximo do final do arquivo, logo abaixo das linhas abaixo, que marcam o final da parte de detecção e configuração inicial do sistema:

echo “6” > /proc/sys/kernel/printk
# Re-enable signals
trap 2 3 11

O final do arquivo ficará assim:

echo “6” > /proc/sys/kernel/printk
# Re-enable signals
trap 2 3 11

partimage -f action=2 -b restore /dev/hda1 /cdrom/image/sistema.img.000
shutdown -h now

# … seguido pelo restante do script.

Para uma restauração completa do HD, incluindo a MBR e a tabela de particionamento, os comandos seriam:

dd if=/cdrom/image/hda.mbr of=/dev/hda
sfdisk –force /dev/hda < /cdrom/image/hda.sf
partimage -f action=2 -b restore /dev/hda1 /cdrom/image/sistema.img.000
shutdown -h now

… onde o “hda.mbr” é o arquivo com a cópia dos primeiros 512 bytes do HD, gerado usando o dd e o “hda.sf” é a tabela de particionamento, gerada pelo sfdisk; ambas as coisas incluídas na pasta “image/”, junto com a imagem
principal.

Note que esta restauração completa vai restaurar o particionamento original do HD, apagando todos os dados. É importante exibir um aviso e pedir duas ou mais confirmações antes de realmente começar o processo. Você pode
exibir as mensagens e confirmações usando o dialog, já que elas serão exibidas com o sistema em modo texto.

Caso o HD tenha mais de uma partição (mesmo que vazias), você deve gerar e restaurar a imagem de cada uma usando o partimage.

Depois da modificação, feche o novo ISO, grave o DVD e faça o teste dando boot no micro alvo. Você pode também testar dentro de uma máquina virtual do VMware.

No caso da idéia de oferecer a opção de restaurar apenas a partição do sistema ou fazer a restauração completa, você pode usar um script como o abaixo, que pergunta e executa os comandos apropriados:

dialog –msgbox “Bem vindo o DVD de recuperação do sistema.” 8 50

dialog –yes-label “Sistema” –no-label “Completa” –yesno “Você deseja apenas restaurar a instalação do sistema, ou fazer uma restauração completa, apagando todos os dados do HD? \n
Responda ‘Sistema’ para restaurar o sistema ou ‘Completa’ para fazer a restauração completa.” 10 50

if [ “$?” = “0” ]; then
partimage -f action=2 -b restore /dev/hda1 /cdrom/image/sistema.img.000
shutdown -h now
elif [ “$?” = “1” ]; then
dialog –yesno “Isto vai restaurar o particionamento original, apagando todos os
dados do HD! Tem certeza que quer continuar?”
if [ “$?” = “0” ]; then
dd if=/cdrom/image/hda.mbr of=/dev/hda
sfdisk –force /dev/hda < /cdrom/image/hda.sf
partimage -f action=2 -b restore /dev/hda1 /cdrom/image/sistema.img.000
shutdown -h now
else
shutdown -h now
fi
fi

O Partimage copia apenas os dados dentro da partição para a imagem e ainda compacta tudo. Isso faz com que seja possível colocar uma partição com cerca de 3 GB ocupados (suficiente para uma instalação completa do Ubuntu,
Fedora ou Mandriva, ou uma instalação do Windows XP, incluindo alguns programas extras e atualizações) dentro de uma imagem de pouco mais de 1 GB. Mesmo incluindo a imagem do Kurumin, você ainda fica com bastante espaço livre no DVD.

Outra possibilidade é deixar uma partição no final do HD reservada só para armazenar a imagem. As partições Linux não são enxergadas pelo Windows, de modo que o usuário em muitos casos nem vai perceber. Neste caso você
precisaria apenas fazer algumas modificações naquelas duas linhas que vão no arquivo /etc/init.d/knoppix-autoconfig. Se você estiver usando a partição “hda5” para armazenar o backup e ela estiver formatada em ReiserFS, as linhas ficariam:

mount -t reiserfs /dev/hda5 /mnt/hda5
partimage -f action=2 -b restore /dev/hda1 /mnt/hda5/winXP.img.000
reboot

Ao gerar versões especializadas, você pode reduzir o tamanho da imagem principal do sistema, deixando mais espaço livre ou tornando-o mais leve, removendo os pacotes e componentes que não serão utilizados, o que pode ser feito através do próprio
apt-get.

A forma mais rápida de remover grandes grupos de pacotes (todo o KDE, todas as bibliotecas do Gnome, todos os programas gráficos, etc.) é procurar por “pacotes âncora”, ou seja, pacotes que são dependências de grandes grupos de pacotes. Removendo o
pacote inicial, você remove de uma vez todos os pacotes que se apóiam sobre ele.

Para remover de uma vez quase todo o KDE e aplicativos, por exemplo, remova o pacote “kdelibs-data”:

# apt-get remove kdelibs-data

Para remover todos os aplicativos do Gnome e outros aplicativos baseados na biblioteca GTK2 (útil caso você queira fazer uma personalização com apenas programas do KDE), remova o pacote “libgtk2.0-0” (note que o número da versão varia), como em:

# apt-get remove libgtk2*

Muitos aplicativos aparentemente “independentes”, como o Firefox, Thunderbird, Acrobat Reader e Mplayer utilizam o GTK2 e são removidos juntamente com ele, por isso analise bem a lista de pacotes que serão removidos antes de continuar.

Para remover de uma vez todos os programas gráficos, remova o pacote “xlibs-data”. Esta medida extrema pode ser útil em casos específicos, onde é usado apenas algum utilitário de modo texto específico, como no nosso exemplo do DVD de recuperação com o
partimage.

# apt-get remove xlibs-data

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X