Este artigo aborda dois métodos para criação de pacotes no Gentoo. Um deles é utilizando a memória RAM do computador para compilar mais rápido e outro é criando pacotes pré-compilados para aproveitamento em futuras instalações.
Já sabemos que a HD limita muito a capacidade do computador, mas como reduzir o problema do tempo de compilação de certos programas? Essa primeira dica aqui não é só para o Gentoo, como para qualquer distribuição se você precisar compilar algo. Acredito que já tenha sido postada, mas de qualquer jeito estarei reforçando aqui no Gentoo.
No Gentoo, todos os sources baixados pelo emerge são extraídos na pasta /var/tmp/portage/nome_do_programa. Exemplo:
# ls /var/tmp/portage/
gcube-0.4 imagemagick-6.2.5.5
Então vamos usar a memória RAM para compilar mais rápido os programas. Certifique-se que tenha pelo menos 512 Mb de RAM para compilar algo, senão não terá espaço para armazenar o source.
OBS: O KDE precisa de pelo menos 1Gb de RAM.
Bom, vamos montar o espaço na memória RAM:
# mount -t tmpfs -o size=800M tmpfs /var/tmp
Onde "-t tmpfs" é o tipo de sistema de arquivos (para algumas versões de kernel
é ramfs), size=800M é o tamanho (M para Mega e G para Giga), tmpfs é de onde ele
vai montar (qualquer coisa que você colocar ali ele vai montar, coloque tmpfs
porque fica mais fácil de se localizar depois para desmontar) e /var/tmp o destino.
Se tudo ocorrer bem, a saída do comando mount precisa estar algo assim:
# mount
/dev/sda3 on / type ext3 (rw,noatime)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
udev on /dev type tmpfs (rw,nosuid)
devpts on /dev/pts type devpts (rw)
/dev/sda2 on /mnt/I type ntfs (rw)
/dev/sda1 on /mnt/E type ntfs (rw)
/dev/hdc1 on /mnt/hdc1 type ext3 (rw)
/dev/hdc2 on /mnt/hdc2 type ext3 (rw)
shm on /dev/shm type tmpfs (rw,noexec,nosuid,nodev)
usbfs on /proc/bus/usb type usbfs (rw,devmode=0664,devgid=85)
tmpfs on /var/tmp type tmpfs (rw,size=800M)
Se o tmpfs estiver aparecendo, parabéns, você montou uma parte da sua memória RAM no HD. Se não, verifique se você tem memória suficiente para montar o tamanho que você escolheu (lembre-se, o Linux usa uma parte da memória RAM também, não é por que você tem 512Mb de RAM que no size poderá estar 512M).
Agora é só dar "emerge programa" e o programa será compilado até 10X mais rápido. O KDE na minha máquina, mudou de 17 horas e meia para 3 horas e meia de compilação.
[1] Comentário enviado por cesperanc@ em 21/09/2006 - 08:55h
Viva...
Gostei do artigo... Eu já conhecia o quickpkg (foi o que me safou à uns tempos quando o meu gcc começou a apresentar problemas, na actualização do gcc3 para o gcc4). Gostei particularmente da dica de montar a pasta temporária na ram. Isso resulta mesmo? É que eu tenho um disco de 7200RPM, e quando o emerge está a fazer a compilação o disco até nem é muito utilizado... Esse ganho de tempo acontece mesmo? Tenho de experimentar.
Agora vou ficar à espera do teu artigo sobre a criação de repositórios. Parabéns e obrigado.
[3] Comentário enviado por JefersonLopes em 21/09/2006 - 15:06h
Cara, muito boa dica. Pacotes pré-compilados no Gentoo. Isso é uma mão na roda, principalmente quando você precisa dar suporte em maquinas de mesma arquitetura, e isso ocorre muito em empresas.
[5] Comentário enviado por racerxdl em 21/09/2006 - 21:48h
cesperanc@
Realmente ajuda o tmpfs viu, o problema é você ter mais de 1GB de ram para compilar o KDE hehehe... Sobre o disco, não quer dizer nada ser 7200 hehe, precisa ver a taxa de acesso dele + buffer dele, aqui eu tenho uma HD Sata da Samsung com 16Mb de Buffer e a taxa é de 3Gb/s (Para um usuario...)
d34l3r
Eu tenho um Pentium D 2.66Ghz 1MB Cache + 1GB Ram + HD Sata 160GB Samsung 16Mb/Cache heheh :P
memphis
Realmente ajuda, principalmente se as maquinas são parecidas ou se você precisa reinstalar seu PC...
humbhenri
É realmente o gentoo acaba precisando de uma maquina boa para compilar as coisas, se não demora muito, você pode tentar a dica do tmpfs, que ajuda muito. Fora o Gentoo recomendo o Slackware, da quase a mesma velocidade do que o gentoo, só que não precisa compilar nada :)
Obrigado a todos pelos comentarios :) em breve estarei postando como montar repositorios Gentoo de pacotes pré-compilados, é que ando meio sem tempo.
[6] Comentário enviado por analfabeta em 22/09/2006 - 11:52h
Amigo, eu compilo o KDE normalmente, sem usar a ram e nunca passo de 3 dias compilando. . . com 512MB de ram!
Essa questão de compilação é somente para pacotes muito grandes! Depois de preparar o ambiente, vc nao vai precisar ficar compilando por dias, nem a maquina vai morrer. . .
Levei umas 2 semanas pra aprontar a maquina de trabalho (4h/dia) com fluxbox+kdelibs+programas essenciais e mta musica. . . Depois disso, é só curtir. . . Um programa que vc precisa, quase nunca passa de alguns minutos compilando... O povo que eh preguiçoso mesmo, isso eu até entendo. . .
[7] Comentário enviado por cbov em 25/09/2006 - 08:18h
uma outra dica ... que eu uso no meu make.conf
FEATURES="buildpkg getbinpkg"
que no final das contas acaba fazendo a mesma coisa que o proposto neste artigo, mas de forma automatica,
eu uso isso aqui em casa pois tenho duas maquinas com a mesma arquitetura logo não preciso compilar tudo 2x sempre que sai uma atualizaçao e com o ajuda do distcc tb consigo um resultado melhor ... mas essa do tmpfs eu nao cheguei a testar o que logo iriei fazer :)
há humbhenri, se voce tem uma maquina lenta, ai que eu te recomendo usar gentoo, mas o grande problema mesmo e o tempo para instalar, lembro que quando eu tinha meu p2 350 era quase 1 semana ate ter um gnome funcionando