A maioria das vantagens relacionadas aos ports está diretamente ligada ao fato do port disponibilizar o fonte do aplicativo para instalação. Entre estas vantagens estão estão:
Um pacote que disponibiliza o fonte, permite que a compilação seja feita de acordo com o sistema específico que vai utilizá-lo.
Os Ports permitem, durante a compilação, que sejam escolhidas opções específicas, ou seja, não estamos obrigados a utilizar as opções default, diferente do pacote binário que já possui opções definidas.
Alguns softwares possuem condições de licenciamento em que a distribuição precisa ser feita por meio do código fonte, nestes casos a distribuição por meio de ports é a ideal.
Ter acesso ao código fonte permite que este possa ser inspecionado antes de realizar a instalação. Neste aspecto os Ports são, sem dúvidas, mais seguros que pacotes binários.
Acesso ao código fonte permite que se possa estudá-lo, copiá-lo e , em alguns casos, adaptá-lo às necessidades do usuário, algo que não é possível com o pacote binário.
O código fonte é baixado por meio de um arquivo compactado, este arquivo é guardado no diretório "/usr/ports/distfiles", como pode ser visto na imagem abaixo:
DISTIFILIES: A importância deste diretório é enorme no processo de instalação de ports, pois é possível que em alguns momentos o download corrompa o conteúdo do arquivo, por diversos motivos, e a repetição só será bem sucedida após a remoção deste arquivo deste diretório.
Para que uma instalação via Ports funcione é necessário que existam dois pré-requisitos, conexão com a internet e privilégios de superusuário (root). Para instalar o Port basta acessar o diretório do port e digitar "make install clean".
Instalando Ports
Primeiro devemos acessar o diretório através do comando "cd", e, já dentro do diretório digitar o "make install". Como exemplo, vamos instalar o Port do servidor DHCP que se encontra em "/usr/ports/net/isc-dhcp43-server"
# cd /usr/ports/net/isc-dhcp43-server
# make install clean
Logo vai começar a instalação.
Depois de concluída a instalação veremos a confirmação. A Figura 4 mostra a instalação concluída.
Pesquisando Ports
Em alguns casos é possível que não se saiba em qual diretório se encontra determinado port, neste caso utilizamos o comando "whereis" seguido do Port procurado. Vamos pesquisar onde se encontra o servidor apache versão 2.4 (Figura 5).
Podemos ver que o apache se encontra no diretório "www", onde se encontram Ports relacionados à internet.
Desinstalando Ports
Para desinstalar um Port basta acessar o diretório do Port e digitar "make deinstall clean", este comando removerá toda a instalação do port.
# cd /usr/ports/net/isc-dhcp43-server
# make deinstall clean
ATENÇÃO: deve-se ter atenção ao desinstalar Ports, pois é possível que existam outros aplicativos que dependem dele.
Atualizando a Coleção de Ports
A coleção de ports possui softwares que são atualizados continuamente e para que possua a versão mais atual dos aplicativos, é necessário que estes sejam atualizados também.
ATENÇÃO: estamos falando aqui da atualização da coleção de Ports e não dos Ports instalados.
Para utilizar este recurso o FreeBSD possui alguns utilitários, entre eles estão:
Portsnap
O mais utilizado para atualização da coleção de ports, ele já vem instalado no FreeBSD de forma nativa. Ele se conecta ao site FreeBSD, verifica a chave de segurança, e faz o download de uma nova cópia da coleção de ports. Esta chave é utilizada para verificar a integridade de todos os arquivos baixados.
Para baixar a lista completa de Ports compactada digite "portsnap fetch". Este comando baixa uma cópia compactada da coleção de ports em /var/db/portsnap.
# portsnap fetch
Para extrair o conteúdo do arquivo compactado digite "portsnap extract". Este comando extrai o conteúdo em /usr/ports, desta forma a coleção de ports é atualizada.
# portsnap extract
Depois de descompactar o arquivo utilize a opção update "portsnap update". Será realizada toda a atualização, se necessário.
# portsnap update
Dessa forma toda a coleção de Ports será atualizada, por este motivo este procedimento é um pouco demorado, principalmente a extração e substituição da coleção.
De forma alternativa pode-se utilizar o utilitário sub-version, que não vem pré-instalado no FreeBSD, mas pode ser encontrado em /usr/ports/devel/subversion, para instalar a coleção de Ports. Basta instalá-lo como qualquer outro Port digitando "make install clean" dentro do diretório ou instalá-lo por meio do utilitário "pkg", digitando "pkg install subversion".
Para checar versões da coleção digite:
# svn checkout https://svn.FreeBSD.org/ports/head /usr/ports
Confirme a atualização.
Para realizar a atualização digite:
# svn update /usr/ports
Dessa forma conseguimos verificar e realizar update da coleção completa de Ports.
Veremos na próxima parte deste artigo como administrar atualizações dos aplicativos por meio de Ports.