Categories
Tutoriais UNIX

Como instalar aplicativos do Ports Collection no FreeBSD

Saiba como realizar a gestão básica de pacotes (instalar e remover programas) no FreeBSD através do Ports Collection – um recurso que torna tudo mais fácil para você.

O sistema operacional FreeBSD, provê o Ports Collection como recurso simplificador da instalação de aplicativos no seu sistema.
Cada port contém todo e qualquer patch necessário para permitir que o código fonte original do software seja compilado — e o binário resultante possa ser executado.
Normalmente, o Ports Collection é selecionado para download, já durante a instalação do sistema. Se isto não foi feito, você terá um diretório /usr/ports vazio.

Como trazer o Ports Collection

Antes de poder usar o recurso, é necessário obter a coleção e guardá-la no diretório /usr/ports.
O comando portsnap, do FreeBSD, automatiza o processo para você — baixando, instalando e, quando necessário, sincronizando o Ports Collection da internet.
Use o ‘fetch’, para pegar “a coleção”:

portsnap fetch
Looking up portsnap.FreeBSD.org mirrors... none found.
Fetching snapshot tag from portsnap.FreeBSD.org... done.
Fetching snapshot metadata... done.
Updating from Wed Jul 20 15:21:53 BRT 2016 to Wed Jul 20 16:36:14 BRT 2016.
Fetching 4 metadata patches... done.
Applying metadata patches... done.
Fetching 0 metadata files... done.
Fetching 5 patches.
(5/5) 100.00%  done.
done.
Applying patches...
done.
Fetching 0 new ports or files... done.

A função deste comando é baixar um snapshot, ou imagem, da árvore de ports ou atualizar o que já existe.
Depois do download/sincronização, é hora de extrair a árvore de ports, colocando cada arquivo em seu lugar.
Note que o comando que segue (extract) só deve ser usado na primeira vez em que você for instalar os Ports Collection em seu sistema — uma vez que ele irá sobrepor todo o conteúdo do /usr/ports e seus subdiretórios.

portsnap extract


O processo pode ser um pouco demorado, a depender da sua conexão.
Se o diretório /usr/ports não estiver vazio, o comando ‘update’ deverá ser usado no lugar do ‘extract’.
Daqui pra frente, em resumo, não use mais o ‘extract’.
O comando ‘update’ pode ser usado para atualizar a árvore de ports previamente extraída.
É necessário rodar este comando para aplicar as mudanças feitas aos ports, após os downloads de atualizações através do ‘fetch’ ou do ‘cron’.
Este comando sobrescreve o conteúdo preexistente.

portsnap update
portsnap update 
Removing old files and directories... done.
Extracting new files:
/usr/ports/devel/avro-c/
 ...
/usr/ports/net/ntpa/
Building new INDEX files...  

Como encontrar aplicativos para instalar no FreeBSD

Você pode pesquisar dentro dos ports ou dentro do próprio diretório /usr/ports — para encontrar os aplicativos que necessita e saber exatamente o nome do pacote a ser instalado.
Se souber o nome exato do pacote, pode usar o comando whereis, assim:

whereis mpg123
mpg123: /usr/ports/audio/mpg123

Caso queira encontrar os nomes dos pacotes relacionados ao Apache 2.4, use um dos dois métodos abaixo:

pkg search apache24
apache24-2.4.23_1
Version 2.4.x of Apache web server


ou (preferível):

make search name=apache24


Certifique-se de estar sob o diretório /usr/ports, para executar este comando.

Port:   apache24-2.4.23_1
Path:   /usr/ports/www/apache24
Info:   Version 2.4.x of Apache web server
Maint:  apache@FreeBSD.org
B-deps: apr-1.5.2.1.5.4 autoconf-2.69_1 autoconf-wrapper-20131203 automake-1.15_
1 automake-wrapper-20131203 db5-5.3.28_4 expat-2.2.0 gdbm-1.12 gettext-runtime-0.19.8.1 indexinfo-0.2.4 libtool-2.4.6 libxml2-2.9.3 m4-1.4.17_1,1 pcre-8.39 perl 5-5.20.3_13
R-deps: apr-1.5.2.1.5.4 db5-5.3.28_4 expat-2.2.0 gdbm-1.12 gettext-runtime-0.19.8.1 indexinfo-0.2.4 libxml2-2.9.3 pcre-8.39 perl5-5.20.3_13
WWW:    http://httpd.apache.org/

Ao usar o ‘make search’ ou o ‘pkg search’, não é necessário saber o nome exato do pacote. Você pode fazer uma busca por parte do nome e usar o comando grep para filtrar os resultados:

make search name=libreoffice | grep -i portuguese
Path:   /usr/ports/portuguese/libreoffice
Path:   /usr/ports/portuguese/libreoffice-pt_BR

Use os parâmetros ‘search key’ para obter uma lista de pacotes relacionados ao que você deseja:

make search key=php7


Se a lista for muito grande, use o comando less, para pausar a exibição:

make search key=php7 | less

Como instalar aplicativos no sistema

Entre no diretório do aplicativo e execute a instalação.
Veja um exemplo de como instalar o emulador dosbox no FreeBSD:

cd /usr/ports/emulators/dosbox
make install clean
===> Building/installing dialog4ports as it is required for the config dialog
===>  Cleaning for dialog4ports-0.1.6
===> Skipping 'config' as NO_DIALOG is defined
===>  License BSD2CLAUSE accepted by the user
===>   dialog4ports-0.1.6 depends on file: /usr/local/sbin/pkg - found
=> dialog4ports-0.1.6.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch http://m1cro.me/dialog4ports/dialog4ports-0.1.6.tar.gz
===>  License GPLv2 accepted by the user
===>  Found saved configuration for dosbox-0.74_11
===>   dosbox-0.74_11 depends on file: /usr/local/sbin/pkg - found
=> dosbox-0.74.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch http://downloads.sourceforge.net/project/dosbox/dosbox/0.
74/dosbox-0.74.tar.gz

Para remover este mesmo pacote, futuramente, use o ‘deinstall’:

make deinstall all


Note que o comando deve ser executado dentro daquele mesmo diretório. Fique atento.

By Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como "Rick and Morty" e "BoJack Horseman".
Me siga no Twitter e vamos trocar ideias!

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.