4.4. Usando o sistema de pacotes

Contributed by Chern Lee.

4.4.1. Instalando um pacote

Você pode utilizar o utilitário pkg_add(1) para instalar um pacote de software no FreeBSD a partir de um arquivo local ou a partir de um servidor na rede.

Exemplo 4-1. Baixando manualmente um pacote e instalando-o localmente

# ftp -a ftp2.FreeBSD.org
Connected to ftp2.FreeBSD.org.
220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230-
230-     This machine is in Vienna, VA, USA, hosted by Verio.
230-         Questions? E-mail freebsd@vienna.verio.net.
230-
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /pub/FreeBSD/ports/packages/sysutils/
250 CWD command successful.
ftp> get lsof-4.56.4.tgz
local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
200 PORT command successful.
150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes).
100% |**************************************************| 92375       00:00 ETA
226 Transfer complete.
92375 bytes received in 5.60 seconds (16.11 KB/s)
ftp> exit
# pkg_add lsof-4.56.4.tgz

Se você não possui uma fonte local de pacotes (como por exemplo um conjunto de CD-ROMs do FreeBSD) será mais facil utilizar a opção -r com o pkg_add(1). Esta opção fará com que o utilitário determine automaticamente o formato correto do objeto, a versão apropriada, bem como dirá ao utilitário para fazer o download e a instalação do aplicativo a partir de um servidor FTP.

# pkg_add -r lsof

O exemplo acima irá baixar o pacote correto e instalá-lo sem nenhuma outra intervenção do usuário. O pkg_add(1) utiliza o fetch(3) para baixar os arquivos, o qual considera variáveis de ambiente incluindo FTP_PASSIVE_MODE, FTP_PROXY, e FTP_PASSWORD. Você pode ter que ajustar uma ou mais delas caso esteja atrás de um firewall, ou então terá que utilizar um proxy FTP/HTTP. Consulte fetch(3) para visualizar a lista completa. Observe que no exemplo acima lsof é utilizado no lugar de lsof-4.56.4. Quando o recurso de busca remota é utilizado, o numero de versão do pacote deve ser removido. O pkg_add(1) irá buscar automaticamente a ultima versão do aplicativo.

Os pacotes são distribuidos no formato .tgz e .tbz, você pode encontra-los em ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/, ou nos CDs de instalação do FreeBSD. Todos os CDs do conjunto de CDs de instalação do FreeBSD (e do PowerPack, etc) contém pacotes no diretório /packages. O layout do diretório packages é similar ao encontrado na árvore /usr/ports. Cada categoria possui seu próprio diretório, e cada pacote pode ser encontrado no diretório All.

A estrutura do diretório do sistema de pacotes é idêntica ao layout do ports; eles trabalham em conjunto para formar o sistema de pacotes/ports.

4.4.2. Gerenciando Pacotes

O pkg_info(1) é um utilitário que lista e descreve os vários pacotes instalados.

# pkg_info
cvsup-16.1          A general network file distribution system optimized for CV
docbook-1.2         Meta-port for the different versions of the DocBook DTD
...

O pkg_version(1) é um utilitário que sumariza a versão de todos os pacotes instalados. Ele compara a versão do pacote instalado com a versão atual encontrada na árvore do ports.

# pkg_version
cvsup                       =
docbook                     =
...

Os símbolos na segunda coluna indicam a idade relativa da versão instadada e da versão disponivel na árvore local do ports.

Symbol Meaning
= A versão instalada do pacote é idêntica a versão disponível na árvore local do ports.
< A versão instalada do pacote é mais antiga que a versão disponivel na árvore local do ports.
> A versão instalada do pacote é mais resente que a versão disponivel na árvore local do ports. (Provavelmente sua árvore do ports está desatualizada)
? O pacote instalado não foi localizado no indice do ports. (Isto pode ocorrer, por exemplo, se um aplicativo instalado for removido da árvore do ports ou então foi renomeado).
* Existem múltiplas versões do pacote.

4.4.3. Deletando um pacote

Para remover um pacote préviamente instalado, utilize o utilitário pkg_delete(1).

# pkg_delete xchat-1.7.1

4.4.4. Miscelânea

Todas as informações dos pacotes são armazenadas no diretório /var/db/pkg. A lista de arquivos instalados e a descrição de cada pacote pode ser encontrada nos arquivos destes diretórios.

Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Para perguntas sobre FreeBSD, leia a documentação antes de contatar <questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para <doc@FreeBSD.org>.