Baixando pacotes pré-compilados no FreeBSD

Após instalar o FreeBSD 8.0 no meu modesto computador para tarefas rotineiras, veio a necessidade de instalar alguns pacotes. O FreeBSD tem duas modalidades de instalação de pacotes:

  • O sistema de ports, que automatiza a tarefa de baixar código-fonte e compilá-lo, além de adaptar alguns pacotes ao seu gosto: o sistema ajuda você a habilitar ou desabilitar opções de vários pacotes, como suporte a Unicode, X11, bibliotecas adicionais etc.
  • Pacotes binários pré-compilados, familiares pra quem vem do Linux (como eu).

O FreeBSD possui uma ferramenta simpática chamada pkg_add que lembra o apt-get, pacman ou yum do Linux, baixando pacotes nos repositórios do FreeBSD. Porém, ao pedir pro pkg_add instalar alguns pacotes, como o Transmission, ele instalou versões mais antigas. Fuçando no FTP do FreeBSD, achei pacotes mais recentes dos pacotes. A próxima briga foi pra fazer o pkg_add usar apenas esses pacotes mais novos (dum diretório amigavelmente chamado Latest).

O truque é simples: quando você executa pkg_add -r nomedopacote, o pkg_add busca por $PACKAGESITE/nomedopacote.tbz. Se você fuçar pelos diretórios dos mirrors do FreeBSD vai perceber que os pacotes normalmente se chamam nomedopacote-versão.tbz, exceto os do diretório Latest, que instalam automaticamente a última versão disponível. Nos comandos abaixo, reparem que usei o sistema para arquitetura 64 bits (amd64), se sua instalação for para x86 32 bits, troque amd64 por i386.

Assim, pra instalar o vim, usei o seguinte comando no bash:

[root@tinhoso /home/esdras]# export PACKAGESITE="ftp://ftp4.freebsd.org/pub/FreeBSD/ports/amd64/packages-8-stable/Latest/"
[root@tinhoso /home/esdras]# pkg_add -r vim

Você pode, ainda, acrescentar o comando do export no seu arquivo ~/.profile, o que fará o comando ser executado automaticamente a cada login:

[root@tinhoso ~]# echo export PACKAGESITE=\"ftp://ftp4.freebsd.org/pub/FreeBSD/ports/amd64/packages-8-stable/Latest/\" >> ~/.profile

Caso você use csh (shell padrão no FreeBSD!), o comando muda:

tinhoso# setenv PACKAGESITE ftp://ftp4.freebsd.org/pub/FreeBSD/ports/amd64/packages-8-stable/Latest/
tinhoso# pkg_add -r nano
Para tornar a variável permanente, acrescente esse comando no arquivo ~/.cshrc:

tinhoso# echo setenv PACKAGESITE ftp://ftp4.freebsd.org/pub/FreeBSD/ports/amd64/packages-8-stable/Latest/ >> ~/.cshrc

Fontes

Leave a Reply

Your email address will not be published. Required fields are marked *