Pessoal, Eu uso dois métodos para duplicar um SO FreeBSD para qualquer tamanho de HD, podendo inclusive alterar os tamanhos de partição, e depois faço cópia "na mão grande".
Este script faz tudo: zera o HD, torna o MBR bootável, particiona com FS UFS, cria as partições /, /var, /usr, /home, formata e copia todo o HD onde ele está rodando no novo HD. Adaptem como acharem melhor. Acho que falta também um mtree por aqui pra ficar 100%... Ah, usando o FreeSBIE com este script criei CD de restauração para todos os meus servidores. Abraços! #!/bin/sh . /etc/profile # Inicia disco inteiro TITLE="Instalacao" disc=ad2 #Disco para onde o sistema será duplicado. disc_after_install=ad0 #Poderá ser ad4, dependendo da conf. SATA da BIOS rm /tmp/part* dialog --title "$TITLE" --yesno "\nBem vindo ao sistema de instalacao automatica\ndo sistema operacional Freebsd. Este insta lador\ndispoe da versao `uname -r`. Deseja instalar o\nservidor?" 10 60 || exit 0 (dd count=128 < /dev/zero > /dev/${disc} ) fdisk -I $disc disklabel -rw ${disc}s1 auto setores=`disklabel -r ${disc}s1 | tr -s ' ' | \ sed 's/^ //g' | grep '^c: ' | \ cut -f2 -d' '` tamanho=`expr $setores \/ 2 \/ 1024` mkdir /var/tmp # Tamanho das partições. part_root=512 part_swap=512 part_var=2048 part_usr=5000 disklabel -r ${disc}s1 > /var/modelo # Define numero de setores do disco: b_raiz=`expr ${part_root} \* 1024 \* 2` b_swap=`expr ${part_swap} \* 1024 \* 2` b_var=`expr ${part_var} \* 1024 \* 2` b_usr=`expr ${part_usr} \* 1024 \* 2` b_home=`expr $setores \- $b_raiz \- $b_swap \- $b_var \- $b_usr` off_var=`expr $b_raiz \+ $b_swap` off_usr=`expr $b_raiz \+ $b_swap \+ $b_var` off_home=`expr $b_raiz \+ $b_swap \+ $b_var \+ $b_usr` cat <<% >> /var/modelo a: $b_raiz 0 4.2BSD 0 0 0 b: $b_swap $b_raiz swap d: $b_var $off_var 4.2BSD 0 0 0 e: $b_usr $off_usr 4.2BSD 0 0 0 f: $b_home $off_home 4.2BSD 0 0 0 % # Cria as particoes no disco e seta o mesmo como bootavel disklabel -R -B ${disc}s1 /var/modelo sleep 1 # Gera os sistemas de arquivos... for i in a d e f do newfs /dev/${disc}s1${i} done tunefs -n enable /dev/${disc}s1d tunefs -n enable /dev/${disc}s1e tunefs -n enable /dev/${disc}s1f # Monta o disco for i in root var usr do if ! [ -d /tmp/${i} ] then mkdir /tmp/${i} fi done mount /dev/${disc}s1a /tmp/root mount /dev/${disc}s1d /tmp/var mount /dev/${disc}s1e /tmp/usr cd / for i in `ls | grep -v rescue | grep -v var | grep -v usr | grep -v dev | grep -v proc | grep -v tmp | grep -v home` do cp -Rvp $i /tmp/root done for i in usr var dev tmp proc home do if ! [ -d /tmp/root/${i} ] then mkdir /tmp/root/${i} fi done chmod 755 /tmp/root/usr chmod 755 /tmp/root/var chmod 755 /tmp/root/dev chmod 755 /tmp/root/home chmod 555 /tmp/root/proc chmod 777 /tmp/root/tmp chmod +t /tmp/root/tmp cd /var cp -Rvp * /tmp/var cd /usr cp -Rvp * /tmp/usr echo "/dev/${disc_after_install}s1b none swap sw 0 0" > /tmp/root/etc/fstab echo "/dev/${disc_after_install}s1a / ufs rw 1 1" >> /tmp/root/etc/fstab echo "/dev/${disc_after_install}s1f /home ufs rw 2 2" >> /tmp/root/etc/fstab echo "/dev/${disc_after_install}s1e /usr ufs rw 2 2" >> /tmp/root/etc/fstab echo "/dev/${disc_after_install}s1d /var ufs rw 2 2" >> /tmp/root/etc/fstab echo "/dev/acd0 /cdrom cd9660 ro,noauto 0 0" >> /tmp/root/etc/fstab rm /tmp/usr/local/etc/rc.d/makeserver.sh chmod 700 /tmp/usr/local/etc/rc.d/first.sh dialog --title "$TITLE" --msgbox "Instalacao concluida!" 5 50 dialog --title "$TITLE" --msgbox "Pressione OK para reiniciar." 5 60 cd / umount /tmp/root umount /tmp/var umount /tmp/usr fastboot -- Rafael Mentz Aquino LK6 Soluções em TI [EMAIL PROTECTED] 51 - 4063 - 6269 51 - 9999 - 7030 ---------- Original Message ----------- From: "Jean Duarte - Cabral Sistemas" <[EMAIL PROTECTED]> To: "Lista Brasileira de Discussão sobre FreeBSD \(FUG-BR\)" <freebsd@fug.com.br> Sent: Mon, 4 Aug 2008 22:43:44 -0300 Subject: Re: [FUG-BR] RES: Replicar Instalação... > Para evitar ficar muito grande, também podem tirar do tar o /usr/src > e /usr/ports > > Eu aqui criei um tar separado do /usr/ports e mais do /usr/src. > Assim eu utilizo posteriormente caso necessário.... > > Atenciosamente > Jean Duarte > ----- Original Message ----- > From: "Alex Moura" <[EMAIL PROTECTED]> > To: " Lista Brasileira de Discussão sobre FreeBSD (FUG-BR) " > <freebsd@fug.com.br> > Sent: Monday, August 04, 2008 10:38 PM > Subject: Re: [FUG-BR] RES: Replicar Instalação... > > tar --exclude "dir1" --exclude "dir2" -cvyf arq.tar.bz / > > Se preferir compactar com gzip, basta trocar o "y" acima por "z". > > On 04/08/2008, at 21:36, "Flávio Barros" <[EMAIL PROTECTED]> > wrote: > > > Coloca ai a linha de comando do tar para compactar e excluir esses > > diretórios. > > > > Abraços, > > > > > > 2008/8/4 Jean Duarte - Cabral Sistemas <[EMAIL PROTECTED]>: > >> Pessoal, > >> > >> Minha solução foi criando uma compactação tar de todo o > >> servidor, excluindo > >> apenas os diretórios, > >> /dev /sys /tmp da compactação... > >> > >> Depois eu efetuo na própria maquina que vai receber o server uma i > >> nstalação > >> mínima do FreeBSD, com as partições corretas... > >> > >> Após a instalação Ok e revisão de todos drivers, etc. > >> > >> Fazer uma cópia do /etc/fstab original para um backup. > >> > >> Movo o arquivo tar de um server para o outro por FTP ou seja lá o > >> que > >> for.... > >> > >> Efetuar um Boot em Single user, montar as partições... > >> > >> Descompactar o arquivo a partir da raiz... > >> > >> Copiar o /etc/fstab novamente para o local original ! > >> > >> Reiniciar a maquina e tudo deve estar ok.... > >> > >> Atenciosamente > >> Jean Duarte > >> ----- Original Message ----- > >> From: "Jean Everson Martina" <[EMAIL PROTECTED]> > >> To: ""Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)"" > >> <freebsd@fug.com.br> > >> Sent: Friday, August 01, 2008 1:02 PM > >> Subject: Re: [FUG-BR] RES: Replicar Instalação... > >> > >> > >> Jean Duarte - Cabral Sistemas escreveu: > >>> Jean Everson.... > >>> > >>> Eu crio apenas uma única Partição no novo HD como /backup? > >> > >> Não necessariamente, voce pode fazer do jeito que quiser, so tem q > >> lebrar de colocar as coisas coerentes no fstab > >> > >>> > >>> Então ele vai copiar tudo para o /backup e depois como eu faço p > >>> ara o > >>> Fstab > >>> do outro HD montar corretamente? > >> > >> Dependendo da estratégia nada. Se voce criar as partições na mesma > >> orde > >> no disco novo voce não faz nada. > >> > >>> Como vou particionar posteriormente o disco e fazer o fstab achar os > >>> /dev/a4s1a ... etc.... > >>> > >>> o mkdir é: > >>> mkdir /backup/dev > >>> mkdir /backup/sys > >> > >> > >> ------------------------- > >> Histórico: http://www.fug.com.br/historico/html/freebsd/ > >> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > >> > > > > > > > > -- > > Desde já agradeço, > > +++ > > Flávio de Oliveira Barros > > Manaus - Amazonas - Brasil > > > > Copiar é bom! > > Seja Legal > > Use Software Livre > > ------------------------- > > Histórico: http://www.fug.com.br/historico/html/freebsd/ > > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > ------------------------- > Histórico: http://www.fug.com.br/historico/html/freebsd/ > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > > Esta mensagem foi verificada pelo E-mail Protegido Terra. > Atualizado em 04/08/2008 > > -------------------------------------------------------------------------------- > > Internal Virus Database is out of date. > Checked by AVG. > Version: 8.0.100 / Virus Database: 270.5.7/1580 - Release Date: > 29/7/2008 > 17:26 > > ------------------------- > Histórico: http://www.fug.com.br/historico/html/freebsd/ > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > > -- > Esta mensagem foi verificada pelo sistema de antivírus e > acredita-se estar livre de perigo. ------- End of Original Message ------- -- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo. ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd