Instalando um sistema Debian GNU/Linux completo em 20 minutos

Já teve que instalar ou reinstalar um parque de máquinas completos com Linux? Aposto que encheu o saco fazer o mesmo trabalho, instalar os mesmos pacotes, fazer as mesmas configurações... Você vai ver aqui uma série de dicas que vão acelerar incrivelmente o tempo de instalação, agilizando essa tarefa muitas vezes árdua.

[ Hits: 119.741 ]

Por: Davidson Rodrigues Paulo em 25/11/2004 | Blog: http://davidsonpaulo.com/


Configurando a máquina principal para a exportação



Agora começavam os preparativos para que a instalação das próximas máquinas fosse bem rápido. Vou colocar os procedimentos que fiz e vou explicá-los para que você possa entender e modificar para adaptar às suas necessidades:

A primeira coisa que fiz foi analisar os arquivos de algumas máquinas, e verifiquei que vários deles tinham o mesmo conteúdo. Então, eu poderia, ao invés de editá-los em cada instalação, simplesmente copiar a partir de um modelo que ficaria armazenado na máquina principal. O que fiz então: criei uma pasta /home/configs e, dentro dela, copiei esses tais arquivos. Veja todos na seqüência os comandos que usei, os arquivos copiados e uma ligeira explicação de cada um:

$ su
# mkdir /home/configs
# cd /home/configs
# mkdir -p etc etc/vim usr/lib usr/lib/java usr/lib/mozilla/plugins usr/share/fonts usr/bin
# cp -rp /home ./
# cp /etc/fstab /etc/inittab /etc/hosts /etc/exports etc
# cp /etc/vim/vimrc etc/vim
# cp /usr/lib/mozilla/plugins/libjavaplugin_oji.so /usr/lib/mozilla/plugins/*flash* usr/lib/mozilla/plugins
# cp -r /usr/lib/java/jre usr/lib/java
# cp /usr/bin/opendisk /usr/bin/netreset usr/bin
# cp -r /usr/share/fonts/TrueType usr/share/fonts/
# cp -r /mnt ./


Arquivos e diretórios copiados:

/home/
   |--configs/
       |--etc/
       |      |--vim/
       |      |       |--vimrc
       |      |
       |      |--fstab
       |      |--inittab
       |      |--hosts
       |      |--exports
       |      
       |--usr/
       |      |--bin/
       |      |      |--opendisk
       |      |      |--netreset
       |      |
       |      |--lib/
       |      |      |--java/
       |      |      |     |--jre/
       |      |      |
       |      |      |--mozilla/
       |      |            |--plugins/
       |      |               |--libjavaplugin_oji.so
       |      |               |--flashplayer.xpt
       |      |               |--libflashplayer.so
       |      |
       |      |--share/
       |             |--fonts/
       |                  |--TrueType/
       |
       |--mnt/
       |--home/

Como vocês podem ver, com a cópia desses arquivos, a gente já economiza um trabalho muito grande. Agora a gente não vai mais precisar digitar o /etc/hosts, nem o /etc/fstab, nem criar os scripts opendisk e netreset, nem executar o instalador do Flash, do Java e das fontes TrueType. E o melhor de tudo, não precisaremos mais configurar o Mozilla, o XMMS, o GIMP, etc, pois as configurações estão todas dentro da pasta /home/<usuário>.

Falar nisso, temos que fazer algumas alterações nessa pasta. Vejamos:

# cd /home/configs/home/aluno/
# ls -a
.              Desktop        .inkscape  .recently-used
..             Disquete       .java      .sversionrc
.bash_history  .dmrc          .kde       .thumbnails
.bash_profile  downloads      .kderc     .Xauthority
.bashrc        .fonts.conf    .local     .xine
.blender       .gimp-2.0      .mcop      .xmms
.config        .ICEauthority  .mozilla   .xsession-errors
.DCOP_server_aquario4__0      img        .openoffice
.DCOP_server_aquario4_:0      imprimir   .qt

Analisei esses arquivos, fiz alguns testes e constatei que alguns deles não podiam ser copiados para outras máquina porque causavam problemas, enquanto outros arquivos não eram necessários. Eles foram então apagados.

OBS: para os comandos abaixo, considere que estou dentro do diretório /home/configs/home/aluno, ok?

# rm -rf .bash* .DCOP* .ICE* .openoffice .recently-used .sversionrc .thumbnails .Xauthority .xsession-errors

Os demais arquivos podiam ser copiados para os outros computadores sem problemas.

O último passo da instalação era, portanto, criar scripts para automatizar o processo de instalação e configuração das máquinas. Criei então o script sistema-instalar, dentro da pasta /home/configs/usr/bin, e depois dei permissão para execução.

# vim /home/configs/usr/bin/sistema-instalar
# chmod a+x /home/configs/usr/bin/sistema-instalar


Veja agora como ficou esse script. Leia-o com atenção e você vai perceber o que ele faz (considere que esse script está rodando nas outras máquinas que não a máquina principal).

#!/bin/sh
# sistema-instalar
# Script de automação da instalação do sistema básico Debian GNU/Linux
# do Aquário/ICET/UFMT
#
# by Davidson Rodrigues Paulo <davidsonpaulo@pop.com.br>
#
# Primeiro passo: acessa a máquina principal via NFS e copia os pacotes
# do apt:
#

echo
echo "Sistema de automação do sistema básico Debian GNU/Linux"
echo "do Aquário/ICET/UFMT"
echo
echo "1ª Parte: copiar os pacotes da máquina principal"
echo
echo "Pressione Enter quando estiver pronto..."
read cont < /dev/tty
mount -t nfs aquario1:/var /mnt
cp -v /mnt/cache/apt/archives/* /var/cache/apt/archives
cp -v /mnt/lib/apt/lists/* /var/lib/apt/lists
umount /mnt
echo
echo "Arquivos copiados!"
#
# Segundo passo: atualiza o sistema
#

echo
echo "2ª Parte: atualizar o sistema"
echo
echo "Pressione Enter quando estiver pronto..."
read cont < /dev/tty
apt-get dist-upgrade
echo
echo "Sistema atualizado!"
#
# Terceiro passo: instala os pacotes
#

echo
echo "3ª Parte: instalar os pacotes"
echo
echo "Pressione Enter quando estiver pronto..."
read cont < /dev/tty
apt-get install x-window-system kdebase kde-i18n-ptbr kdm openoffice.org openoffice.org-l10n-pt-br openoffice.org-mimelnk myspell-pt-br mozilla mozilla-locale-ptbr xmms xmms-volnorm xine-ui kaffeine kaffeine-mozilla gimp inkscape blender xpdf ark zip unzip unrar bzip2 kscreensaver xscreensaver ntpdate hdparm vim
echo
echo "Pacotes instalados!"
#
# Quarto Passo: configurar o sistema
#

echo
echo "4ª parte: configurar o sistema"
echo
echo "1 - GRUB"
echo
echo "Será exibida pra você uma janela do VIM para editar o arquivo"
echo "/boot/grub/menu.lst. Procure nesse arquivo a linha"
echo
echo "timeout 5"
echo
echo "mude-a para"
echo
echo "timeout 0"
echo
echo "salve o arquivo e feche-o"
echo
echo "Pressione Enter quando estiver pronto..."
read cont < /dev/tty
vim /boot/grub/menu.lst
grub-install /dev/hda
echo
echo "GRUB atualizado!"
echo
echo "2 - hdparm"
echo
echo "Será exibida uma janela do VIM para editar o arquivo"
echo "/etc/hdparm.conf. Dirija-se ao final desse arquivo,"
echo "descomente as últimas 3 linhas e coloque os parâmetros"
echo "que você deseja utilizar no hdparm na antepenúltima linha"
echo
echo "Pressione Enter quando estiver pronto..."
read cont < /dev/tty
vim /etc/hdparm.conf
/etc/init.d/hdparm restart
echo
echo "3 - Servidor X"
echo
echo "Será iniciado agora a tela do debconf para configurar o"
echo "servidor X. Selecione as opções desejadas e, se depois"
echo "houver algum problema ao levantar o modo gráfico, tente"
echo "reconfigurá-lo através do comando"
echo "#dpkg-reconfigure xserver-xfree86"
echo
echo "Pressione Enter quando estiver pronto..."
read cont < /dev/tty
dpkg-reconfigure xserver-xfree86
echo
echo "Agora será exibida uma janela do VIM para você editar o"
echo "arquivo /etc/X11/XF86Config-4, onde você irá adicionar o"
echo "diretório das fontes TrueType do Windows.
echo "Procure pela seção Fonts e adicione a linha"
echo
echo "FontPath /usr/share/fonts/TrueType"
echo
echo "salve o arquivo e feche-o"
echo
echo "Pressione Enter quando estiver pronto..."
read cont < /dev/tty
vim /etc/X11/XF86Config-4
echo
echo "Servidor X configurado!"
echo
echo "4 - alsamixer (controle de volume)"
echo
echo "Será exibido pra você agora o alsamixer, para você fazer"
echo "o ajuste do volume dos dispositivos de som. Mova-se entre"
echo "os controles com a teclas <- e ->. Os canais que estiverem"
echo "aparecendo com 'MM' no topo estão mudos, bastando"
echo "pressionar a tecla 'M' para liberar o som para este canal."
echo "Ajuste o volume com a teclas para cima e para baixo, e"
echo "pressione 'ESC' para sair."
echo
echo "Pressione Enter quando estiver pronto..."
read cont < /dev/tty
alsamixer
echo
echo "Pronto!"
echo
echo "Seu sistema está instalado e configurado, e agora o KDE"
echo "será iniciado."
echo
echo "Pressione Enter quando estiver pronto..."
read cont < /dev/tty
kdm

Pronto. Quando esse script terminar de ser executado, praticamente tudo estará configurado. Você vai entender na próxima parte, onde veremos como fica o processo de instalação nas máquinas.

Página anterior     Próxima página

Páginas do artigo
   1. Da necessidade surge a solução
   2. Apresentando o sistema
   3. Instalando a primeira máquina - O sistema
   4. Instalando a primeira máquina - O ambiente gráfico
   5. Instalando a primeira máquina - Configurando os programas
   6. Instalando a primeira máquina - Plugins do Mozilla e as fontes TrueType do Windows
   7. Configurando a máquina principal para a exportação
   8. O momento esperado: instalando as outras máquinas
   9. Considerações finais
Outros artigos deste autor

Resolvendo dependências no Slackware com slackpkg

Fundamentos do sistema Linux - Gerenciadores de inicialização

Debian-BR CDD: Mais um excelente trabalho brazuca

Compilando o Squid e criando o pacote para Slackware

Fundamentos do sistema Linux: discos e partições

Leitura recomendada

Semantic Forms no MediaWiki

Invadiram o kernel.org?!

Software Livre... e um passo além

Escrevendo em arquivos PDF

Pequena solução para backup em redes mistas

  
Comentários
[1] Comentário enviado por felipebalbi em 25/11/2004 - 11:50h

Com o comando dpkg --get-selections e um pequeno redirecionamento vc faz isso em menos passos:

Na maquina principal:
1) dpkg --get-selections > pacotes.txt
2) cp pacotes.txt /floppy; cp /etc/apt/sources.list /floppy

Nas maquinas cliente:
3) cp /floppy/* /etc/apt/
4) cd /etc/apt; apt-get update; dpkg --set-selections < pacotes.txt; dselect install

Pronto.
Os pacotes da outra maquina serão todos instalados.
A diferença é que eu somente disse quais pacotes instalar. Não copiei nada, então será necessário baixar tudo de novo. Para quem tem uma boa banda larga, isso não será problema =)

[]'s
Felipe Balbi

[2] Comentário enviado por pop_lamen em 25/11/2004 - 15:54h

Amigo, você falou dum tal script para as fontes truetype, que script seria esse...
Achei meio remoto o artigo, mas valeu a intenção.

[3] Comentário enviado por davidsonpaulo em 25/11/2004 - 16:55h

Caros,

Gostaria da compreensão de todos no sentido de que quando eu desenvolvi essa solução os meus conhecimentos em Shell Scripts eram bem crus. Os procedimentos acima podem ser melhorados e aperfeiçoados, e o que estiver escrito errado poderá ser corrigido.
Caso alguém queira adaptar esse procedimento, estou inteiramente à disposição para ajudar no que for preciso.
pop_lamen, com tanta coisa acabei esquecendo de colocar o link para o script do Lordello, então, segue aí:

http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=1140&pagina=3

Abraços a todos

Davidson Paulo

[4] Comentário enviado por davidsonpaulo em 25/11/2004 - 17:03h

pop_lamen

Desculpe, eu não entendi a sua pergunta e te passei um link para o script do Lordello, mas não foi isso que você queria ver X)...

O script sistema-instalar está no capítulo http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=1613&pagina=7

Você não prestou muita atenção. Na página 8, eu disse que o script sistema-instalar estava na página 7... Infelizmente acabei não fazendo um bom esquema de referências cruzadas... acho que pra entender bem o artigo é preciso lê-lo mais de uma vez :(... deculpem a nossa falha...

Abraços

Davidson Paulo

[5] Comentário enviado por franklinbr em 25/11/2004 - 21:32h

bozo !

QUEEEEMMMM MATOU O BOZOOOOO !!!


.
.
.
.
.
.
BOZOOOO TO SAUDADE DE VOCÊÊÊÊÊÊEEEEE

[6] Comentário enviado por dudu_away em 26/11/2004 - 01:43h

Soh uma sugestão: Que tal fazer oq vc quiser em uma máquina apenas, deixar ela prontinha, mesmo que demore um dia inteiro e depois apenas fazer um clone para o HD das outras máquinas?

# dd if=/dev/hda of=/dev/hdc

Lembrando que os HD's devem ser do mesmo tamanho ou o if deve ser menor que o of. outra coisa... Os HD's devem estar posicionados da mesma maneira quanto à BIOS: Se o original é Primary Master, a cópia também tem q ser.... Quanto ao resto do hardware não acredito que tenha muitos problemas, já que o Kernel detecta a maioria no boot....

[]'s
Eduardo

[7] Comentário enviado por dudu_away em 26/11/2004 - 01:45h

So mais uma coisa.... Utilize um LiveCD de preferência para efetuar a operação, para que nenhum dos HD's estejam sendo utilizados...

[8] Comentário enviado por gresslerbwg em 26/11/2004 - 08:51h

Não é necessário reinstalar o Grub após alterar o arquivo /boot/grub/menu.lst (reinstalar só é necessário no LILO). O grub é um gerenciador de inicialização muito flexivel e prático. Todas as alterações no menu.lst já estarão ativadas assim q vc salvar o arquivo e poderão ser notadas no próx boot.

[9] Comentário enviado por davidsonpaulo em 26/11/2004 - 09:48h

dudu_away,

A clonagem não é uma opção mais prática para o caso em que o sistema foi aplicado, porque além de os HDDs não terem o mesmo tamanho e os demais componentes de hardware não serem os mesmos em todas as máquinas, o dd é um recurso demorado e exigiria alterações manuais em cada máquina ao fim do término da clonagem, e, além disso, eu teria que remover o HD de uma máquina para usar o dd. Nada prático e pouco seguro. E mesmo que eu usasse do udpcast, para clonar pela rede, o processo seria mais rápido, mas eu continuaria tendo o restante dos incômodos da clonagem e ainda teria que ligar as máquinas com um cabo crossover, para a cópia ser rápida.

Gresslerbwg,

Obrigado pela observação. Recentemente eu tinha visto que não era preciso reinstalar o GRUB, mas somente alterar o /boot/grub/menu.lst. Acabei nem lembrando de corrigir esse detalhe no artigo, que já estava na fila de espera. Ainda bem que é só uma redundância...

Não exitem em dar sugestões como o felipebalbi e o dudu_away nem de apontar erros como o gresslerbwg. São eles que aumentam a qualidade dos artigo publicados aqui no VOL.

Abraços,

Davidson Paulo

[10] Comentário enviado por accensi em 26/11/2004 - 12:14h

Para evitar baixarde novo, exitem algumas alternativas, copiar o arquivos, criar um mirror do debian, usar um proxy. No repositório do Debian aparecem apt-mirror, apt-cache, apt-proxy. Nenhum deles é um proxy verdadeiro e exigem alterações de certa monta na configuração do apt.

Depois de muitos testes, algumas frustrações, consegui um programa que é um proxy verdadeiro, com um cache permanente, que segue aestrutura de um mirror e só exige adefinição de um proxy no apt.conf ou variável http_proxy no environment. O importante é que simples de instalar e usar e funciona realmente!

Link: http://gertjan.freezope.org/replicator/


[11] Comentário enviado por mgm em 29/11/2004 - 09:03h

Uma dica para melhorar futuramente seu laboratório: você poderia também por para rolar o apache em alguma das maquinas, baixando todo o mirror do Debian (http://linux.iq.usp.br/debian/) sendo assim, no caso de atualização de pacotes, você teria que baixar pela net de todas as máquinas, apenas atualizar seu mirror local

;-)

Muito legal seu artigo,
Parabéns

----------------------------
Mateus Godoi Milanez
milaneza@gmail.com
http://mail.grad.icmc.usp.br/~mgm/

[12] Comentário enviado por xthiagox em 16/12/2004 - 21:15h

Tentei dar o boot pelo cdrom do debian-br para iniciar instalação, porém ao dar ENTER... é exibido erro de ACPI e o sistema para de iniciar...

Na placa mãe tem uma opção relacionada a ACPI.. mas não tem opção de desativar, como é comum.

PC Celeron 733 512 RAM
quem pode ajudar?

thiagox@linuxmail.org

[13] Comentário enviado por FelipeAbella em 26/12/2005 - 18:16h

Também pode copiar o sistema todo para um HD portatil, na instalacao do debian eu vi a opcao copiar HD, e repassar para todas as maquinas, e fazer as devidas configuracoes(grub, etc...)

Eu sou iniciante, se estiver errado, pro favor me corrijam!

[14] Comentário enviado por dony em 06/01/2006 - 01:20h

Complementando e expandindo o que felipebalbi disse la em cima, não é necessário ficar comendo banda de link externo e nem fazer repositórios (que da trabalho pacas!!!).
É muito simples... como você ja baixou os pacotes na primeira maquina via apt, todos eles inclusive as dependências dos pacotes estão no diretório cache do apt em /var/cache/archives , ai fica fica moleza... é só copiar o conteudo ou se você quiser montar ja via nfs o cache da primeira maquina e mandar um dpkg -i *.deb ou até mesmo um apt-get no ip da maq local (possibilidade a ser testada!) e ai está tudo prontinho rapidinho no quesito instalação de pacotes, pois a replicação é local e fica bom até mesmo pra quem vai instalar muito mais pacotes do que foi exemplificado.Valeu "Conhecer e compartilhar"

[15] Comentário enviado por nickmarinho em 22/05/2006 - 07:10h

Eu adorava o Bozo.
:(

www.lucianomarinho.com.br

[16] Comentário enviado por mbsalgueiro em 19/02/2007 - 01:15h

Cara mto bom o artigo esta de parabens!!! e vou usar a base de seu script para o Ubuntu,pq no meu trab tb tenho q instalar o ubuntu em varias maquinas e estava com preguica de escrever um!! Assim q tiver as auteracoes vou posta-las aqui, para que outras pessoas q tenhao a necessidade como tive e o nosso amigo dessa artigo tb teve possa COMECAR A MIGRACAO!!!!!!!!!!!!!!
Abraco fui

[17] Comentário enviado por lsilveira em 07/08/2007 - 10:58h

eu tenhu em um hd instalado o xp e o kubuntu so que preciso instala o debian para fazer uns testes e quando vou instalar ele da problema para instalar o ambiente desktop por causa da placa de video !!! alguem sabe oq fazer ???
obrigado

[18] Comentário enviado por nickmarinho em 07/08/2007 - 15:27h

Procure pelo seu driver correto de video que nao tem erro.

Se precisar compile um kernel, pois acho que isso pode resolver.

Abraços.


www.lucianomarinho.com.br
www.racaboxer.com.br


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts