O Sistema de Ports, também chamado de Coleção de Ports ou simplesmente Ports, é um “sistema de instalação” de pacotes prático e eficiente utilizado pelo FreeBSD.
É considerado o melhor esquema de instalação para Sistemas Operacionais, ele foi rapidamente adotado por outros BSDs: OpenBSD, NetBSD, … no Linux só o Gentoo que adotou com o nome de Portage, além do Arch tb, mas opcional.
A coleção fica no diretório
ls /usr/ports
Cada software está separado por categoria. Na categoria ports-mgmt , você verá diversos aplicativos da coleção: pkg, portmaster, portupgrade…entre outros.
Nota: No pkg os ‘ports’ são chamados de packages, ou seja, você não instala ports com o pkg e sim packages.
Antes de mais nada, pra você compilar um programa pelo Ports, é necessário atualizar o esquema do Ports. Para isso a gente vai usar o portsnap . Para baixar as atualizações é o comando portsnap fetch e para atualizar portsnap update . Combinando os dois comandos e economizando tempo, rode:
portsnap fetch update
Você também pode usar o svn (controle de versão, outra opção ao git ) para atualizar o ports. Cada subdiretório de aplicativos contém um conjunto de arquivos que informa o FreeBSD como compilar e instalar esse programa, chamado de esqueleto de portas . Cada esqueleto de porta inclui esses arquivos e diretórios:
Como exemplo vamos instalar o Vim que por padrão não vem instalado no FreeBSD
1° Procuramos a localização do vim e já entramos no diretório dele com o comando
cd `find /usr/ports -type d -name 'vim'`
Para instalar basta voce rodar o comando make installl e depois é bom rodar o make clean para limpar o conteúdo criado em /usr/ports/*/*/work, você ainda pode customizar esse diretório rodando o comando junto com a variavel WRKSRCPREFIX=/path-for-compile/ e PREFIX=/local-da-instalação/ , combinando os comandos, rode
make install clean
Se der erro:
Depois é só rodar de novo make install clean
E se você quiser desintalar, rode
make deinstall clean
Foi feito exemplo com o nano também!