# Transferindo o Gentoo de um HD para outro

## viniciusxp

Olá pessoal!

Tenho instalado Gentoo em um HD de 80GB, vivendo harmoniosamente com o RH 9 e o WinXp. Um amigo me deu um HD de 20GB e eu gostaria de instalar Gentoo neste HD, mantendo-o separado do HD de 80 GB. Decidi também apagar o RH, e o espaço que me sobrará pretendo criar um grande partição FAT32 onde deixar meus arquivos MP3 e Filmes, para que eu possa acessá-los com facilidade dos 2 sistemas operacionais(XP e Gentoo).

Gostaria de saber qual a melhor maneira de migrar...Eu não gostaria de ter que reinstalar tudo de novo, pois demoro dois dias só para compilar o X... Imaginem o sistema todo...

Obrigado,

viniciusxp

----------

## AngusYoung

2 dias só para compilar o X???? Meu deus, que máquina você tem?

Eu faria essa tarefa da seguinte maneira:

1. Editaria os arquivos com referências diretas ao HD. Isso inclui:

/boot/grub/grub.conf (se vc usa grub)

/etc/lilo.conf (se vc usa lilo)

/etc/fstab

2. Faria um tar.bz2 do conteúdo do HD com Gentoo ... e o descompactaria no  novo HD.

É, acho que só isso já daria certo ...

----------

## fernandotcl

Eu acho mais fácil construir pacotes à partir dos já instalados. Por exemplo:

```
quickpkg xfree kde gnome gentoo-dev-sources
```

Ele vai criar pacotes binários, prontos pra serem instalados no outro sistema. Os pacotes binários vão ficar na pasta que a variável PKG_DIR apontar.

Passe esses arquivos para um CD, por exemplo. Então você pode instalar o outro sistema normalmente, à partir do stage 3, é bem rápido. Na hora de compilar o kernel, copie o seu antigo .config pra pasta do kernel. Acho que se você fez um pacote binário do seu kernel também não é necessário copiar o .config; ele já vai estar lá. Agora aponte a variável PKG_DIR pro CD e use "emerge -K xfree kde gnome..." (note o "K" maiúsculo).

Não sei se o quickpkg calcula dependências, acho que não. Nesse caso, determine os pacotes que você quer emergir usando "etcat -d xfree" para ver as dependências do xfree e incluí-las na lista de pacotes binários à serem feitos. Faça isso com todos os outros.

Dê preferência aos programas maiores (xfree, kde, gnome). Os outros compilam bem rápido.

 *Angus Young wrote:*   

> 2. Faria um tar.bz2 do conteúdo do HD com Gentoo ... e o descompactaria no novo HD.

 

Eu acho que iria demorar muito fazer um tar.bz2. Ainda mais um tar.bz2 de no mínimo 1,2GB  :Smile: . Se for seguir esse caminho, usar somente tar, sem compressão, deve ir bem mais rápido, mas você vai gastar mais CD's (ou seja qual for o meio de transmissão).

----------

## To

Se não tiveres espaço em disco para fazeres uma tarball das partições um cp -pR também pode ser uma ajuda.

 *Quote:*   

>        -p, --preserve
> 
>               Preserve the original files' owner, group, permissions, and timestamps.
> 
>        -R, --recursive
> ...

 

Tó

----------

## trbecker

me diz uma coisa:

um

```
mount /dev/hdb1 /mnt/hdb

mv / /mnt/hdb 

```

não resolveria os problemas?

ou ia criar um erro recursivo ao tentar copiar /mnt/hdb para /mnt/hdb/mnt/hdb?

----------

## AngusYoung

 *sasquati wrote:*   

> me diz uma coisa:
> 
> um
> 
> ```
> ...

 

Iria dar erro sobre a recursividade ... Ae viniciusxp, depois que você fizer isso, poderia postar aqui no tópico se deu certo? Valeu.

----------

## fernandotcl

 *AngusYoung wrote:*   

> Iria dar erro sobre a recursividade ...

 

Então, ao invés de copiar todo o diretório /, ele poderia copiar pasta por pasta. Ex:

```
mkdir /mnt/hdb/bin/

cp /usr/* /mnt/hdb/bin/*
```

Eu aconselho usar o cp, e não o mv, pelo menos na pasta /bin, porque isso iria deletar alguns programas bastante importantes.

----------

## feiteira

Não sei se percebi bem o problema, mas tenta:

dd if=/dev/hda of=/dev/hdb 

onde X é o nº da partição de raiz, isto so funciona se o tamanho desta partição for menor ou igual ao do disco hdb.

isto vai copiar uma imagem do filesistyem da raiz para o outro disco.

mesmo assim podes ter problemas com a mbr, mas nesse caso podes tentar arrancar c\ o knoppix (por exemplo)  e reinstalar o lilo no hdb

cumprimentos  :Smile: 

----------

## NatuNobilis

Acho que eu faria em 2 etapas:

1º, copiaria todo o conteúdo do HD "origem" para o HD "destino". Pra isso, eu iniciaria o sistema com o LiveCD do Gentoo (um Kurumin, Knoppix ou qualquer LiveCD é suficiente), particionaria e formataria o HD de destino, e depois copiaria com o comando tar, preservando todas as permissões dos arquivos (dica do Alan Cox)

```
# (cd /source/directory && tar cf - . ) | (cd /dest/directory && tar xvfp -)
```

2º, eu adicionaria ao lilo.conf/grub.conf a linha referente ao kernel do novo HD.

3º, eu reiniciaria o sistema e esperaria que funcionasse  :Rolling Eyes: 

Abraço, e depois conta como foi, ok?

NatuNobilis

----------

## juliancoccia

Eu teve o mesmo problema. A instalacao (stages) demoro 4 dias no meu IBM Thinkpad Celeron 550Mhz 128Mb RAM. 

No meio da instalacao fiquei sem espaco no HD, entao teve que mudar o HD para poder continuar a instalacao. 

Fiz o seguinte:

rsync -v -a -e ssh / root@192.168.0.50:/gentoo

(sendo 192.168.0.50 um outro computador rodando linux e sshd)

Troquei o HD e fiz liguei o thinkpad com o CD gentoo. 

Criei as particoes (boot, swap e /) 

Montei as duas particoes do novo hd (mount)

fiz o chroot e rodei lilo (com isso fica o lilo instalado no MBR com a mesma configuracao do disco anterior. e muito importante fazer o chroot antes de lilo)

Fiz un reboot a tudo voltou a normalidade no novo disco.

De qualquer jeito, e bom fazer backups (eu uso rsync sob ssh) do sistema. Come vc falou, leva muito tempo a compilaca com micros velinhos come o meu.

[ ]s

Julian

----------

## nafre

aproveitando o tópico tem como eu criar uma imagem de instalação do meu sistema, para ser gravado em um CD, ou seja para que o meu Gentoo com os pacotes que eu instalei fique disponivel para ser instalado em outra máquina minha também  :Question: 

----------

## fernandotcl

Tem. Se eu não me engano, o emerge tem uma opção chamada --buildpackage. Ela constroi pacotes binários para serem instalados. Só que você tem que prestar muita atenção com a compatibilidade das máquinas. As flags de C e C++, além das USE flags, devem ser setadas de acordo com a máquina alvo.

----------

## nafre

 *fernandotcl wrote:*   

> Tem. Se eu não me engano, o emerge tem uma opção chamada --buildpackage. Ela constroi pacotes binários para serem instalados. Só que você tem que prestar muita atenção com a compatibilidade das máquinas. As flags de C e C++, além das USE flags, devem ser setadas de acordo com a máquina alvo.

 

caso eu queir criar para sistemas x86 é possivel e qual flag eu uso?

----------

## trbecker

CFLAG="-0x -pipe" constroi um sistema x86 generico.

fechando mais, minhas cflags para um athlon xp incluem -fomit-frame-pointer. não esqueça de substituir o x acima pelo grau de otimização que você deseja no sistema. e de uma olhada no CFLAGS central.

Já a variável USE deve3 ser setada de acordo com os softwares que você deseja instalar. Se vai usar a kernel 2.6, eu aconselho usar "alsa -oss". se vai usar gnome, defina "gtk2 gnome -qt -kde" (ou inverta se for usar kde; eu sou apenas um gnome addict). Mais USE flags podem ser obtidas na documentação do site.

----------

## fernandotcl

Eu aconselho sempre usar a flag <i>--fomit-frame-pointer</i>, já que geralmente não estamos fazendo debug nos programas que instalamos.

----------

## nafre

```

CFLAGS="-march=i686 -O3 -pipe -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-loop-opt -frerun-cse-after-loop -falign-functions=4" 

```

Opa o que acharam destas otimizações alguma modificação?

----------

## fernandotcl

Eu pessoalmente prefiro "-O2", porque o cache do meu processador é relativamente pequeno. Além disso, flags agressivas são muitas vezes não só perigosas, mas também ineficazes. "-fomit-frame-pointer" parece ser a única que realmente dá resultados.

----------

## Demoniac_LL

Epah eu compilo o X em 1h   :Shocked: 

Mais uma vez mete o gentoo como realmente gostares e dps faz uma IMG com o Norton Ghost assim nunca mais terás que fazer tudo de novo

----------

## xef

 *To wrote:*   

> Se não tiveres espaço em disco para fazeres uma tarball das partições um cp -pR também pode ser uma ajuda.
> 
>  *Quote:*          -p, --preserve
> 
>               Preserve the original files' owner, group, permissions, and timestamps.
> ...

 

Concordo, mas adicionaria aí um parametro

cp - Rdp

       -d, --no-dereference

              Copy symbolic links as symbolic links rather  than  copying  the

              files that they point to, and preserve hard links between source

              files in the copies.

Isto é importante, já tive uma experiencia a fazer copias de uma partição para outra e sem o -d simplesmente era colocado uma copia do ficheiro no local de um link simbólico.

----------

## Mythos

e fazer rsync, já alguém fez com sucesso ?

----------

