Anúncios

DonkeyMails.com: No Minimum Payout

domingo, 27 de fevereiro de 2011

Migração Linux - parte 2: NetBoot

Olá pessoal!

Assim como disse em minha última postagem, agora irei tratar do netboot.

Bom, para ganhar tempo, o que eu precisava era de uma forma de dar boot no "CD de instalação" (na realidade, na imagem ISO do mesmo) através da rede e, a partir daí, instalar o sistema.

A fonte que usei como base foi:
Tópico "Servidor de Instalação Automático Ubuntu para Windows e Linux", no "Fórum Ubuntu Linux - PT", criado pelo usuário "Fernando Jonathan".

A própria documentação do Ubuntu tem informações sobre o assunto, mas da forma que lá estava não consegui ir muito adiante.

O que virá a seguir será basicamente uma "cópia" do conteúdo do tópico, da parte do boot pela rede, possuindo apenas algumas alterações pelo fato de eu utilizar o Ubuntu 10.04, não o 9.04. A parte (no tópico) que fala de preseed usando o KickStart não me foi útil, pois o mesmo, ao menos no aplicativo gráfico (que gera o arquivo "ks.cfg"), não oferecia tudo o que eu precisava.

Mãos à obra!!!

Primeiramente será necessário baixar a imagem do Ubuntu 10.04 alternate (a versão "desktop" comum não serve para preseed), que pode ser encontrada aqui, e instalar o dhcp3-server, o tftpd-hpa e o apache2.
 sudo apt-get install dhcp3-server tftpd-hpa apache2
Tendo sido terminado o download e a instalação, agora vamos configurá-los.

Começando pelo tftpd, vá até o arquivo /etc/default/tftpd-hpa e adicione as seguintes linhas:
 RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"
Já existem algumas opções no arquivo em questão, as quais não necessitam ser alteradas.

Crie, dentro de "/var/lib/tftpboot/" o diretório "ubuntu" (sem aspas), dentro deste último o diretório "lucid" (sem aspas), e dentro dele o "alternate" (sem aspas).
 /var/lib/tftpboot/ubuntu/lucid/alternate/
Jogue a imagem do Ubuntu 10.04 alternate dentro de "/var/lib/tftpboot/ubuntu/lucid" e monte-a na pasta "alternate".
 sudo mount -o loop /var/lib/tftpboot/ubuntu/lucid/[nome da imagem].iso /var/lib/tftpboot/ubuntu/lucid/alternate/

Vale ressaltar que não é necessário seguir essa estrutura de diretórios da forma que foi citada (/ubuntu/lucid/alternate/)! Você pode alterá-la como quiser, desde que as pastas estejam dentro de "/var/lib/tftpboot/" e você altere todas as referências para as mesmas.

Agora, com relação ao Apache, será necessário criar um atalho na pasta "/var/www/" (do apache) para "/var/lib/tftpboot/ubuntu/":
 sudo ln -s /var/lib/tftpboot/ubuntu/ /var/www

Para testar se está tudo certo, através do seu navegador, tente acessar "http://[meu ip]/ubuntu" (sem aspas). Se estiver aparecendo o diretório "lucid", até aqui tudo OK.


No caso do DHCP, é preciso alterar os seguintes itens do arquivo "/etc/dhcp3/dhcpd.conf" de modo a atender suas necessidades:
 ##Informação do dominio
option domain-name "meudominio.com";
option domain-name-servers 192.168.0.1;
##Informação da Rede
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.250;
option routers 192.168.0.1;
}

Não feche o editor ainda, pois será feita mais uma alteração! Caso tenha dúvidas sobre como configurar o dhcpd.conf, você pode dar uma olhada aqui e/ou aqui (especificamente sobre o dhcp3-server, que, pelo que pude ver, de diferente mesmo só tem a localização dos arquivos).

Agora, logo após os ítens citados anteriormente, ainda no dhcpd.conf, adicione a seguinte linha, que aponta para o arquivo "pxelinux.0" da imagem montada:
 filename="ubuntu/lucid/alternate/install/netboot/pxelinux.0";
Uma observação:
No tópico utilizado como base para este "passo-a-passo" é dito para trocar o ip do servidor para "192.168.0.1", por ser uma definição padrão, sendo o "1" dentro da subrede, mas não precisa ser isso. No meu caso, por exemplo, usei "192.168.[subrede local].[outro número]", até porque já existe um "192.168.[subrede local].1", que é "O" servidor DHCP da rede. O que uso para o netboot é apenas para tal função, sendo "ativado" só quando vou fazer uma instalação uma instalação automática, já que dois servidores DHCP em uma mesma rede, da forma que foi abordada, só resultaria em dor de cabeça.

Dando continuidade, agora é só reiniciar o servidor DHCP:
 sudo /etc/init.d/dhcp3-server restart

Se tudo estiver correto até aqui, provavelmente você já será capaz de dar boot pela rede! Faça o teste!
Se não conseguir, revise todos os pontos citados e veja se alguma coisa está incorreta. Caso tenha dúvidas, COMENTE! Se encontrar algum erro ou achar interessante adicionar algo a esta postagem, COMENTE!


Observação adicional:
Para montar a imagem automaticamente ao iniciar o sistema, basta adicionar a seguinte linha ao arquivo "/etc/rc.local" (para saber como ele funciona, basta ler os comentários presentes no mesmo... ele é um script, não há mistério):
 mount -o loop /var/lib/tftpboot/ubuntu/lucid/[nome da imagem].iso /var/lib/tftpboot/ubuntu/lucid/alternate/


Bom, por enquanto é tudo. Logo aparecerei com o preseed!

Espero que tenham gostado e que as informações contidas neste post venham a ser úteis!

Migração Linux - parte 1 / Migração Linux - parte 3

As formatações efetuadas nos comandos e trechos de arquivos de configuração foram geradas utilizando a "ferramenta" Source Code Formatter, encontrada neste link.

sábado, 26 de fevereiro de 2011

Migração Linux - parte 1: A situação

Boa tarde a todos!

Aproveitando que acabei de criar este blog, irei começar postando uma de minhas mais relevantes experiências na área de TI até o momento: a migração de um laboratório de informática para o Linux.

Como já citei antes, faço estágio em uma escola particular do Rio de Janeiro, a qual desde o início da década de 90, quando inaugurou seu laboratório de Informática, sempre utilizou os sistemas operacionais Windows, contudo, no início do ano passado, por influência de um dos irmãos do diretor, começou-se a planejar uma possível migração para sistemas Linux, a começar pelo já citado laboratório.

Por já utilizar Linux desde 2009
(especificamente o Ubuntu), mesmo sendo apenas um "simples" usuário, em meados de 2010 (ano passado), aproveitando-se do recesso de Julho, me encarregaram de instalar, em Dual Boot com o Windows XP, o Ubuntu Linux (optei pelo 9.04, por já utilizar o mesmo em casa) para ver a reação dos alunos e a adaptação dos mesmos ao novo sistema.

Pois bem, como já era de se esperar, poucos se aventuravam no sistema do pinguim. A grande maioria simplesmente ignorava sua existência e continuava a apenas utilizar o Windows. Mesmo assim, dos que "experimentaram"
, a maior parte o recebeu bem (apesar de terem algumas dificuldades), enquanto o resto, simplesmente por não conseguir realizar alguma função, o odiou.

Tendo chegado o fim do ano e sido constatado de que seria viável uma migração completa, fui novamente encarregado da tarefa. Como estava tudo "em minhas mãos", escolhi o 10.04, já que é a última versão LTS que saiu (até o momento da publicação deste "post", é claro), e comecei a planejar como tudo seria feito.


O que seria necessário?

A nível funcional (aplicativos), precisaria "basicamente" de um pacote de ferramentas de escritório, um navegador web, uma IDE para desenvolvimento em Pascal e Object Pascal, um software de desenvolvimento web e alguns jogos educativos.
Para tais funções, escolhi, respectivamente, o BrOffice 3.2.1 (removi os componentes do OpenOffice já existentes -sei que poderia simplesmente tê-lo atualizado- e instalei "manualmente" o BrOffice), o FireFox (que já vem com o próprio Ubuntu), a IDE Lazarus, o Quanta+ e alguns pacotes de jogos educativos como o GCompris e o Childsplay (além de outros jogos).


Como iria fazê-lo?

Esta é que foi a grande questão. Poderia simplesmente pegar o CD e ir instalando de máquina em máquina não só o sistema operacional, como também todos os aplicativos que fosse utilizar, mas iria tomar muito tempo. Também seria possível fazer uma imagem do sistema já instalado e ir aplicando a mesma de máquina em máquina, mas não encontrei um software para tal que suportasse ext4 sem que fosse necessário fazer uma imagem completa da partição, incluindo espaços vazios. Além disso, eu ainda teria de resolver os problemas de compatibilidade, pois o "laboratório" é bastante heterogêneo.
Por fim, depois de muito procurar, veio a solução: netboot + pressed + script para instalar os aplicativos automaticamente.

Eu simplesmente daria boot em uma imagem da versão alternate do Ubuntu 10.04 pela rede e iria realizar a instalação baseada em um arquivo de preseed disponibilizado também através rede. Estando o sistema instalado, eu iria rodar o tal script para instalar os programas, mas, exatamente neste momento, eu teria um grande problema. Eu acabaria detonando a conexão do colégio, que é de apenas 2mb.
Como solução, decidi também fazer uso de um servidor apt-cacher.


Apesar "simples", quebrei bastante a cabeça até conseguir fazer com que tudo funcionasse da forma desejada, já que era a primeira vez que fazia algo do gênero.

Bom, acho que vou ficar por aqui! Nos próximos posts, darei sequência a este, descrevendo passo-a-passo como fiz a migração. O seguinte, creio eu, será sobre netboot + pressed!


Migração Linux - parte 2

Apresentação

Saudações a todos que estiverem lendo esta postagem!
Meu nome é Guilherme Caeiro e criei este blog com o objetivo de compartilhar minhas experiências na área de TI.
No momento (02.2011) estou cursando o 3º ano do Curso Técnico de Informática e fazendo estágio em uma escola particular do RJ, então, caso encontrem qualquer equívoco em meus "posts", por favor, corrijam-no (comentem avisando sobre)!

Enfim, espero poder contribuir com informações úteis!

Anúncios

DonkeyMails.com: No Minimum Payout