2 de nov de 2008

Apt-build!!! Optimizando seu Ubuntu!

Desde a chegada das primeiras versões da distribuição Gentoo, algumas pessoas tem dito que "O Debian é bom, mas não é otimizado" (como as distribuições que você roda make o tempo todo). Isto é errado, você é livre para recompilar software que você usa no Debian, usando o apt. Baixar o source, descompactar, rodar os scripts de configuração (configure) e instalar (make install) é uma tarefa fácil para todo usuário Linux, mas esta forma de instalação não é integrada ao sistema de pacotes do Debian. Stow era uma maneira de compilar os softwares sem muito esforço, mas o software compilado não era realmente integrado nas dependencias do apt, ou seja, ficava fora da árvore de pacotes. A solução é usar o apt-build para recompilar um software que já foi empacotado (.deb) para o Debian.

Para instalar:

$sudo apt-get install apt-build

Durante a instalação ele irá te perguntar qual a arquitetura de seu micro e a forma de optimização. Eu sempre escolho medio.
Para mudar as configurações basta ir em e
/etc/apt/apt-build.conf e alterar.

grajagan@debian:~$ cat /etc/apt/apt-build.conf
build-dir = /var/cache/apt-build/build
repository-dir = /var/cache/apt-build/repository
Olevel = -O3
march = -march=athlon-xp
mcpu = -mcpu=athlon-xp
options = " athlon-xp
"


Depois de instalado, o primeiro passo é um $sudo apt-build update. Assim ele atualizará os pacotes e estará pronto para as compilações.

Um exemplo: $sudo apt-build install amsn

Ele compilará o AMSN, optimizando-a para sua máquina.

Construindo o mundo com o apt-build:

O último comando que vou falar é o world, ele deve lembrar algo para as pessoas que adoram o BSD. Nos sistemas BSD, você pode recompilar todos os ports, simplesmente mudando o diretório para /usr/ports e digitando make world. Este conceito está sendo usado pelo autor do apt-build, e isso é o que acontece quando você "reconstrói o mundo":

grajagan@debian:~#apt-build world
-----> Rebuilding the world ! -----
You should read README.Debian first

A leitura deste README parece ser obrigatória, e ensina que devemos criar uma lista de pacotes que queremos recompilar e instalar no lugar dos pacotes atuais, lista na qual devemos remover pacotes como gcc, libc6, entre outros. Vamos criar a lista:

grajagan@debian:~#dpkg --get-selections | awk '{if ($2 == "install") print $1}' > /etc/apt/apt-build.list

Editada a lista, é possível usar o apt-build world para recompilar e otimizar todo o seu sistema.

“O autor do apt-build cuidadosamente avisa você a não compilar o gcc e outros softwares.”

Bom, eu senti a diferença. Os pacotes recompilados tem maior performance. Experimente recompilar o firefox.

*Artigo inspirado nesta publicação: http://www.debian-rs.org/sites/www.debian-rs.org/artigos/apt-build-pt-br.html

Um abraço e até a próxima.