Criando um ambiente de desenvolvimento Java em distribuições LiveCD

 

Introdução

Nos últimos anos vem crescendo a procura por sistemas mais compactos e com maiores funcionalidades, que possam ser facilmente adaptados as necessidades de cada um. Este é um dos motivos pelo qual os LiveCDs estão caindo no gosto popular. LiveCD é um sistema gravado em um dispositivo móvel (CD / DVD / pendrive ), que inicializa seu sistema sem nenhuma interferência nos dados gravados em disco, assim pode-se carregá-lo para qualquer parte e executá-lo da mesma forma em computadores diferentes, sem precisar reinstalar os programas que precisar.

 

Estes sistemas estão sendo utilizados em diversos ramos e propósitos como, por exemplo, na educação infantil, educação de crianças deficientes, apresentações de sistemas, divulgação de produtos de TI, aulas de treinamentos, dentre várias outras utilizações vamos citar, em especial, a criação de um ambiente de desenvolvimento moldado para suas necessidades. Com isso poderíamos ter um sistema padrão configurado de uma única maneira que seria distribuída e usada por diversas pessoas e em inúmeros lugares.

 

Com estes objetivos vamos criar um ambiente de desenvolvimento básico em que possamos desenvolver aplicações Java e ao mesmo tempo tirar todo proveito que um LiveCD nos fornece. Para isso vamos remasterizar um Kurumin LiveCD 5.1, ou seja, vamos alterar os programas e configurações deste LiveCD às nossas necessidades. Para este artigo precisaremos dos seguintes requisitos:

·         Uma partição Linux com 4 GB de espaço livre;

·         Uma partição Linux Swap (ou um arquivo swap) de 1 GB;

·         Conhecimento básico de linux.

 

Preparando o Sistema

O Kurumin inclui um script que automatiza o processo de remasterização do CD, o "remasterizar-kurumin", encontrado no Iniciar > Sistema.

 

Neste artigo vou explicar como o processo funciona, realizando os comandos para fazer tudo manualmente, de forma que você possa entender o que está acontecendo.

 

O primeiro passo para iniciar essa remasterização é iniciar o sistema linux LiveCD, de onde vamos tirar a imagem para refazer o sistema (neste artigo foi utilizado o Kurumin 5.1). Quando estiver dentro do ambiente Linux nossa primeira ação será trocar a senha do super usuário do sistema para que possamos trabalhar livremente sem restrições de privilégios, então abra um terminal (xterm ou Konsole) e digite os seguintes comandos:

 

# sudo passwd root ( digite a nova senha )

 

# su - (digite a nova senha)

 

Agora temos um terminal com login de super usuário. Para evitar futuras confusões entre os vários terminais usados durante este processo vamos chamar este terminal de “terminal 1” e, dessa forma, vamos prosseguir com o trabalho neste mesmo terminal.

 

Para preparar a partição Linux, precisamos formatá-la em ext2, ext3 ou reiserfs (formatos de sistemas de arquivo que os sistemas operacionais Linux utilizam). Para isso execute os seguintes comandos:

 

# mount /dev/hda2 /mnt/hda2

 

OBS--(hda2 é a partição utilizada)

 

Esse comando monta a partição hda2 em um diretório (/mnt/hda2), onde vamos trabalhar nosso sistema. Caso você não tenha um sistema de arquivo Linux ( apenas partição Windows ), será necessário formatar antes de montar a partição, utilizando os seguintes comandos:

 

# mkfs.ext3 /dev/hda2

# mount /dev/hda2 /mnt/hda2

 

Importante: onde houver hda2 deve ser substituída pela sua partição correspondente, que pode ser diferente.

 

Caso você tenha uma partição swap separada vamos ativá-la digitando os comandos no terminal 1:

 

# mkswap /dev/hda1
# swapon /dev/hda1

 

Importante: Substitua hda1 por sua partição swap

 

Porém se você não tem nenhuma outra partição disponível pode criar um arquivo temporário.

 

# dd if=/dev/zero of=/mnt/hda2/swap bs=1024 count 1000000

# mkswap /mnt/hda2/swap

# swapon /mnt/hda2/swap

 

Importante: Substitua hda2 pela sua partição Linux, caso esta seja diferente.

 

Agora que já formatamos a partição do sistema e ativamos a swap, vamos criar a estrutura de diretório inicial necessária: (digite no terminal 1)

 

# mkdir /mnt/hda2/nbmaster

# mkdri /mnt/hda2/nbsource

# mkdir /mnt/hda2/nbsource/KNOPPIX

 

Importante: Substituindo hda2 por sua partição linux, caso seja diferente.

 

Depois de criado os diretórios vamos copiar os arquivos do CD-ROM para as pastas criadas acima: (digite no terminal 1):

 

# mount /mnt/cdrom

# cp -a -v /mnt/cdrom/* /mnt/hda2/nbmaster

 

Assim estamos copiando o conteúdo do CD-ROM para a pasta nbmaster, é aqui que se encontram os arquivos de inicialização do sistema.

 

nblivecdfig01.jpg 

Figura 1. Mostrando os arquivos do diretório.

 

index.html - Que é aquela página que abre assim que você entra no Linux, no nosso caso alteramos esta página para que abra http://www.nobugs.com.br/ .

 

autorun.bat e autorun.inf - São os arquivos que garantem o AutoRun do Windows que também abre a mesma página que o index.htm.

 

background.gif - Este é o papel de parede que o sistema utiliza, mas pode ser mudado dentro do ambiente nos próximos passos.

 

boot.img e boot.cat - São arquivos de imagem de boot, estes arquivos que garantem a inicialização do CD.

 

Nosso próximo passo é descompactar a imagem do sistema dentro da pasta /mnt/hda2/nbsource/KNOPPIX, para isto digite o seguinte comando no terminal 1:

 

# cp -Rp -v /KNOPIX/* /mnt/hda2/nbsource/KNOPPIX

 

Neste passo estamos extraindo a árvore de diretórios do sistema para nossa pasta nbsource/KNOPPIX - é nela em que vamos alterar os programas e configurações para gerar nosso futuro sistema. Os dois processos de copia dos arquivos demora por volta de 10 minutos em um Athlon XP 2000+.

 

Criando novo Ambiente

Agora que nosso sistema está com todos os arquivos nos seus devidos lugares, vamos alterar as configurações. Isto seria possível de ser feito no próprio terminal, mas para tornar este processo mais fácil e agradável vamos criar um outro ambiente gráfico. Para isto vamos primeiro utilizar o comando chroot, execute o seguinte comando no terminal 1:

 

# chroot /mnt/hda2/nbsource/KNOPPIX

 

Este comando faz com que o diretório /mnt/hda2/nbsource/KNOPPIX se torne um diretório raiz. Assim, qualquer programa que instalar através deste terminal vai ser instalado na árvore de diretórios que está em /mnt/hda2/nbsource/KNOPPIX, que é exatamente nosso novo sistema.

 

Para podermos interagir melhor com o nosso novo ambiente vamos criar um novo terminal gráfico. Para isso, primeiro abra um novo terminal (xterm ou Konsole) e logue como super usuário como segue os comandos abaixo: (digite no terminal 2)

 

# su - (digite a senha criada no início deste artigo)

 

este terminal chamaremos de “terminal 2”, e é neste terminal que vamos executar o seguinte comando:

 

# X -ac :1

 

Importante: Este comando irá abrir uma nova tela cinza com um X no meio, esta é a interface gráfica na qual vamos rodar nosso novo ambiente. Vamos chamar esta nova interface de “interface 2”, logo a interface antiga em que estávamos antes de executar o comando de “interface 1”. Assim sendo vamos voltar para a interface 1, pressionando os botões :

 

Ctrl + Alt + F7

 

OBS: Os botões Ctrl + Alt + F7 acessam a interface 1, e Ctrl + Alt + F3 acessam a interface 2.

 

Agora que estamos de volta a interface 1 temos aberto dois terminais, terminal 1 (com o ambiente chroot) e o terminal 2 ( travado com a execução do comando X -ac :1). Não feche o terminal 2, pois isto acarretará no fechamento da interface 2, apenas minimize-o para não atrapalhar.

 

Vamos então abrir nosso novo ambiente na sua interface gráfica correspondente, para isso execute no terminal 1 os seguintes comandos:

 

# mount -t proc /proc proc

 

Este comando monta o proc para que não fique com suas funcionalidades limitadas. Logo em seguida execute o seguinte comando (no terminal 1), que copia as configurações padrões do usuário para sua pasta correspondente (/home/kurumin) e muda o login de root para o usuário kurumin (usuário padrão do sistema).

 

# k-home1

 

Agora sim vamos iniciar nosso novo ambiente na interface 2. O seguinte comando, executado no terminal 1, vai iniciar automaticamente a tela para a interface 2, e iniciar o ambiente em que vamos fazer as alterações. Todos os programas instalados e removidos neste ambiente serão gravados na imagem final do sistema.

 

# k-home2

 

nblivecdfig02.jpg 

Figura 2. Mostra o novo ambiente iniciado pelo comando k-home2.

 

Dentro do nosso novo ambiente vamos trabalhar um pouco no seu conteúdo, instalando e configurando nosso ambiente de desenvolvimento Java com algumas das ferramentas mais usadas pela No Bugs. O primeiro passo é conhecer o synaptic, gerenciador de pacotes do Kurumin, no qual é possível gerenciar todos os programas que estão instalados no sistema. Para abri-lo vá em menu -> Sistema -> Gerenciador de Pacotes Synaptic, ou digite “synapitic” em um terminal (desconsidere as aspas). Este gerenciador de pacotes é bastante intuitivo, a primeira vez que o executar ele vai perguntar se quer atualizar os repositórios de pacotes. Aceite, pois assim ele procura e atualiza a lista de programas que podem ser baixados dos servidores já cadastrados nele.

 

Em nosso caso vamos exemplificar um conjunto básico de ferramentas: Java5 + Eclipse 3.2 + Mysql 5.x.

 

Vale ressaltar que devemos ser racionais na escolha de nossos aplicativos, pois estamos criando um LiveCD que tem espaço limitado.

 

Para instalar um programa utilizando o synaptic, você precisa clicar em procurar, procure pelo nome do programa, depois o synaptic vai retornar todos os pacotes que encontrou com aquele nome. Em nosso caso, procuramos por java e selecionamos o “sun-java5-jdk”, marcamos para instalar e aplicar.

 

nblivecdfig03.jpg 

Figura 3. Mostrando o synaptic (gerenciador de pacotes)

 

Façam o mesmo para o Mysql 5, que ao final da instalação solicitará a senha do administrador do banco de dados. Para o Eclipse 3.2 faça o download da página http://www.eclipse.org/downloads/ , descompacte o arquivo em uma pasta e depois rode-o.

 

Quando falamos em LiveCD pensamos muito em suas facilidades mas esquecemos que ele por si só não consegue gravar os dados, precisa de um dispositivo como HD, pen-drive, CDROM, etc. Por este motivo não podemos criar uma aplicação, pois quando reiniciarmos o computador perderemos tudo. Para resolvermos este problema criamos uma pasta DiretorioMovel que armazenará todos os dados que precisam ser guardados. Podemos então copiar este diretório após o uso ou deixá-lo montado em um pen drive. Para guardar os dados do banco criei scripts de importação e exportação dos dados para um arquivo chamado Export.sql, seguem as descrições:

 

s

cripts:

ExportMysqlData.sh:

m

ysqldump –all-databases > /home/kurumin/Desktop/DiretorioMovel/Export.sql -u root -psenha

 

ImportToMysqlData.sh

mysql < /home/kurumin/Desktop/DiretorioMovel/Export.sql -u root -psenha

 

Importante: Substitua a palavra senha pela senha de administrador do mysql que você criou na instalação.

 

nblivecdfig04.jpg 

Figura 4. Mostra os scripts e o diretório de armazenagem do dados.

 

Limpando a sujeira

Depois de ter instalado e configurado tudo o que precisa, devemos fazer uma limpeza, tirando todos os arquivos que em muitas vezes nem sabemos que estão lá como, por exemplo, os pacotes que o synaptic baixa da internet para instalar, e que permanecem até que você os retire. Para retirá-los você precisa executar em um novo terminal (terminal 3) em modo super usuário, como descrito anteriormente.

 

#

apt-get clean

#

k-clean-apt-get

 

Ao remover muitos pacotes do sistema é normal que surjam muitos pacotes "órfãos" - bibliotecas e arquivos que não são mais usados por nenhum programa - que servem apenas para ocupar espaço. Você pode localizar estas sobras facilmente usando o comando: (executar no terminal 3)

 

# deborphan

 

Remova também o histórico do root para que ninguém que rode seu LiveCD veja os seus últimos comandos , assim digite: (no terminal 3)

 

# rm -f /home/root/.bash_history

 

Agora que nosso sistema está pronto devemos então gerar a imagem. Para isso saia do novo ambiente normalmente utilizando o Menu -> finalizar sessão -> finalizar sessão, assim sairemos do novo ambiente e voltaremos àquela tela cinza com um X no meio. Volte à interface 1 (pressionando Crtl + Alt + F7) e feche o “terminal 2” (aquele que utilizamos para abrir a interface 2). Neste momento temos apenas o terminal 1 ativo, então nele pressione Ctrl + D para sair do usuário kurumin e voltar a ser o super usuário, agora é hora de executar o comando

 

# k-home3

 

Este comando vai finalizar as configurações dos usuários. Os últimos comandos podem parecer um pouco confusos então a figura 5 mostra desde o momento em que fechamos a interface 2.

 

nblivecdfig05.jpg 

Figura 5. Mostra os passos após o fechamento da interface 2.

 

O próximo passo é gerar a imagem do nosso novo ambiente, isso faremos de fora do chroot, lembrando que até agora o terminal 1 ainda esta em chroot, então pressione Ctrl + D para deixar o ambiente chroot e voltar a árvore de diretórios antiga. ( tenha a certeza de que deixou o ambiente chroot, caso não tenha feche o terminal 1 e abra um novo terminal como super usuário).

 

Gerando a imagem e o ISO

Neste ponto temos apenas um terminal logado como super usuário, então digite o primeiro comando, onde “NoBugsLinux” é o nome do arquivo a ser gerado, e hda2 é a partição linux utilizada neste processo.

 

# mkisofs -R -v -V “NoBugsLinux” -hide-rr-moved -pad /mnt/hda2/nbsource/KNOPPIX | /usr/bin/create_compressed_fs - 65536 > /mnt/hda2/nbmaster/KNOPPIX/KNOPPIX

 

Repare as duas linhas formam um único comando e existe espaço as quebras de linhas. Este é um processo bastante demorado.

 

Agora vamos gerar o arquivo ISO propriamente dito, executando os seguintes comandos no único terminal aberto.

 

# cd /mnt/hda2/nbmaster

# mkisofs -pad -l -r -J -v -V “NoBugsLinux” -no-emul-boot-load-size 4 -boot-ingo-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -hide-rr-moved -o /mnt/hda2/NoBugsLinux.iso /mnt/hda2/nbmaster

 

Lembrando que hda2 deve ser substituído pela sua partição e que o arquivo gerado será /mnt/hda2/NoBugsLinux.iso, agora é só gravar em um CD ou DVD e você terá um ambiente de desenvolvimento que atenda a sua necessidade.

 

nblivecdfig06.jpg 

Figura 6. Mostra o resultado da customização do LiveCD.

 

Conclusão

Neste material você aprendeu como “criar” (remasterizar) um LiveCD segundo a sua necessidade, e suas inúmeras utilidades.

 

Rafael Barros Navarro

Membro Conselho Administrativo

NoBugs - Empresa Jr. de Informática

www.nobugs.com.br

rbnavarro@nobugs.com.br