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.
Agora chega a hora do vamos ver. Depois de todo aquele trabalho para configurar a máquina principal (que nesse exemplo se chama aquario1), vamos ver como ficou o processo para instalar a máquina aquario2.
Primeiro instalei o sistema básico Debian-BR-CDD, lembrando de utilizar o mesmo esquema de particionamento e utilizando as mesmas opções gerais, além de, é claro, não instalar nenhum pacote do CD, tudo da mesma forma como foi feito na máquina principal.
Depois do sistema básico instalado, estava com a tela de login. Loguei como root, e a primeira coisa a ser feita foi editar o /etc/apt/sources.list, adicionando o endereço de um mirror:
# nano /etc/apt/sources.list
deb http://linux.iq.usp.br/debian unstable main
Depois, atualizando o apt e instalando os serviços de NFS:
E pronto. Agora, é só acompanhar o processo de instalação, responder às caixas de diálogo e editar os arquivos que forem sendo exibidos, e ao final estará tudo configurado e o X sendo iniciado.
Para você entender, vou explicar detalhadamente o que acontece em cada um desses 4 últimos comandos:
Nesse comando, o que fiz foi montar a pasta /home/configs da máquina principal (aquario1) na pasta /tmp. Se você estiver lembrado, dentro da pasta /home/configs foram colocados todos os arquivos de configurações que são comuns para todas as máquinas, inclusive os plugins do Java, do Flash e as fontes TrueType do Windows.
Comando 2 --> #cp -vrp /tmp/* /
Aqui, pedi para copiar todos os arquivos dentro de /tmp para o pasta raiz /, incluindo os subdiretório (-r) e respeitando as permissões de arquivos (-p). O que é feito aqui é o seguinte: todos os arquivos que estão dentro de /home/configs/etc na máquina principal, são copiados para a pasta /etc da máquina local, do mesmo modo que todos os arquivos da pasta /home/configs/usr/bin da máquina principal são copiados para dentro da pasta /usr/bin da máquina local. Se você voltar no capítulo anterior, verá todos os diretórios e arquivos que serão copiados para a máquina local. Veja inclusive que o diretório /mnt figura lá, e é por isso que não montei o compartilhamento NFS na pasta /mnt, e sim na /tmp, porque a /mnt precisa estar livre para receber o conteúdo do compartilhamento /tmp/mnt/*. (Caraca, vocês devem ter ficados perdidinhos agora :P)
Importante: repare o parâmetro 'p', que usei no comando 'cp' (cp -vrp). Esse parâmetro serve para respeitar as permissões e os donos dos arquivos, e é necessário para copiar os arquivos que estão em /home/configs/home, na máquina principal. Se você não usar o parâmetro -p, todos os arquivos copiados passarão a ter como dono o root (isso na máquina local, nada acontece com os arquivos da máquina principal, de onde os arquivos são copiados), e alguns programas simplesmente não poderão mais gravar nesses arquivos (que devem ter como dono o usuário comum), causando erro na execução de alguns programas, incluindo o KDE.
Comando 3 --> #umount /tmp
Aqui é fácil né? Eu só desmontei a pasta /tmp, onde estava montado o compartilhamento /home/configs, da máquina principal. Não se pode esquecer de desmontar essa pasta, pois o KDE vai precisar gravar nela, e se ela estiver montada com o compartilhamento NFS, isso não vai ser possível e o KDE não iniciará.
Comando 4 --> #sistema-instalar
Entre os arquivos que foram copiados da máquina principal para a máquina local, está o script sistema-instalar, que foi copiado para a pasta /usr/bin. O conteúdo desse script você já viu no capítulo anterior. Agora que você já viu os processos realizados antes de rodar esse script, fica mais fácil entender porque, ao final da execução do script, o sistema fica todo instalado e configurado.
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 =)
[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í:
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...
[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....
[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.
[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!
[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
[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"
[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