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 o adotou com o nome de Portage, além do Arch, 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, para 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 use 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 ao FreeBSD como compilar e instalar esse programa, chamado de esqueleto de portas . Cada esqueleto de porta inclui esses arquivos e diretórios:
- Makefile: contém instruções que especificam como o aplicativo deve ser compilado e onde seus componentes devem ser instalados.
- distinfo: contém os nomes e checksums dos arquivos que devem ser baixados para construir a porta.
- files/: este diretório contém todos os patches necessários para que o programa compile e instale no FreeBSD. Este diretório também pode conter outros arquivos usados para construir a port.
- pkg-descr: fornece uma descrição mais detalhada do programa.
- pkg-plist: uma lista de todos os arquivos que serão instalados pela porta. Ele também informa o sistema de portas que os arquivos devem ser removidos após a desinstalação.
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 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:
- make showconfig (MOSTRA AS CONFIGURAÇÕES)
- make config-recursive (HABILITA UMA POR UMA OPÇÂO)
- make rmconfig (LIMPA TUDO)
Depois é só rodar de novo "make install clean".
E se você quiser desinstalar, rode:
# make deinstall clean
Foi feito exemplo com o nano também!
Veja o vídeo: