sexta-feira, junho 13, 2008

apt-build: optimizar a instalação para o nosso ferro.

Para quem utiliza o Ubuntu os repositórios de binários pré-compilados são uma maravilha. Mas estes binários tem que correr em qualquer máquina x86, seja um 386 ou novíssimo Quad Core. Ora, como é que podemos acelerar as nossas máquinas para tirar partido daquilo que verdadeiramente temos?

A solução mais prática é compilar a partir do código fonte. Se o Nuno já referiu aqui algumas aventuras com a compilação de código quando não há binários nos repositórios, o que eu estou a sugerir é mesmo para os pacotes que já estão instalados. Chama-se apt-build e vai revolucionar a velocidade do seu Ubuntu (para acabar de vez com o gozo que o pessoal do Gentoo faz aos restantes)


Primeiro que tudo é preciso instalar o apt-build com o normal:

$ sudo aptitude install apt-build


Durante o processo de instalação e configuração vai ser perguntado ao utilizador onde quer guardar os pacotes .deb compilados (o seu repositório local) assim como qual o nível de optimizações (-O0 -O1 -O2 ou -O3: se é para ser rápido não faz sentido outra que não o -O3) e ainda qual o target para o qual está a optimizar o código. Por exemplo na minha máquina trata-se de um athlon-xp. Deve escolher o mais apropriado para o seu caso.

Se por acaso precisar de reconfigurar isto por se ter enganado pode fazer:

$ sudo dpkg-reconfigure apt-build


A partir daqui pode utilizar o apt-build em vez do aptitude ou do apt-get para instalar os pacotes a partir do código fonte e desta forma garantir um desempenho superior do seu Ubuntu. Os comandos mais utilizados serão:

$ sudo apt-build install nome-pacote


para instalar um programa

$ sudo apt-build update


para fazer a actualização dos repositórios das sources

$ sudo apt-build upgrade


para realizar um upgrade

e para quem quiser optimizar todo o sistema e conseguir um desempenho ainda melhor....

$ sudo apt-build world


que vai tentar compilar e instalar todos os pacotes que tem presentemente instalados no seu sistema. (prepare-se para esperar e já agora convém passar o parâmetro --force-yes e --yes para que o apt-build não se ponha com perguntas parvas a meio do processo. ) Ah, este processo para corajosos é bom que se lembrem que alguma coisa pode não funcionar muito bem... e o vosso sistema pode rebentar. Estão avisados... hehehehe Eu por exemplo só faço isto na primeira instalação clean... e quando não é clean... o primeira coisa a levar com um apt-build é ... o firefox!

Por fim, é preciso ter em atenção o seguinte. O que acontece quando se faz um dist-upgrade com o apt-get ou com o aptitude? Como o nosso repositório é menos prioritário que os online o sistema avisará que há pacotes novos para instalar e vai tentar instalar a partir dos binários existentes online. Assim é preciso editar / criar um ficheiro /etc/apt/preferences

Neste ficheiro vamos aumentar a prioridade do nosso repositório local colocando:

Package: *
Pin: release o=apt-build
Pin-Priority: 990


Desta forma garantimos que quando houver versões com o mesmo número as do nosso repositório local terão prioridade e portanto não serão sobrepostas.

Agora é ... boas compilações... e vamos lá acelerar esses sistemas.

Sem comentários: