Atualizando Ports Instalados
Além da possibilidade de atualizar toda a coleção de Ports, o sistema permite a atualização de Ports já instalados, ou seja, atualizar aplicativos já instalados no sistema. Uma das possibilidades é fazer esta atualização por meio do utilitário "Portmaster". Esta ferramenta está disponível por meio do Port "ports-mgmt/portmaster".
Ele utiliza as informações disponíveis em "/var/db/pkg" para verificar quais os Ports precisam ser atualizados. Ou seja, compara a versão existente no sistema com a última disponível na coleção de Ports. O este utilitário divide os Ports em quatro categorias, organizadas segundo as suas dependências e os ports que dependem deles:
- Root port: não possui dependências e nenhum outro port depende dele.
- Trunk port: não possui dependências, porém outros ports dependem dele.
- Branch port: possui dependências e outros ports dependem dele.
- Leaf port: possui dependências e nenhum outro port depende dele.
Para listar as categorias e verificar atualizações digite:
# portmaster -L
Veja neste exemplo que existem 34 Ports instalados, porém nenhum precisa ser atualizado.
Para atualizar todos os pacotes digite "portmaster -a". Durante a atualização do Port o portmaster realiza um backup do aplicativo e só exclui este quando a atualização é bem sucedida.
Para forçar a atualização, caso ocorra algum erro, utilize a opção "-f".
Outro recurso do portmaster é a opção de instalar Ports diretamente por ele, bastando para isso digitar o caminho dentro da árvore de diretórios do Port correspondente.
# portmaster shells/bash
Neste exemplo estamos instalando um o Port "/usr/ports/shells/bash".
Outra forma de realizar atualização de Ports é pelo portupgrade, que está disponível em ports-mgmt/portupgrade. Como qualquer outro Port, basta acessar o diretório e digitar "make install clean".
Para realizar todas as atualizações utilize "portupgrade -a" e o sistema vai atualizar todos os Ports desatualizados. Caso queira que seja solicitada uma confirmação para cada aplicativo que será atualizado, utilize a opção "i" junto com a opção "a".
# portupgrade -ai
Caso queira instalar um aplicativo específico e não todos os desatualizados, utilize portupgrade nome_aplicativo. É recomendado utilizar a opção "-R" para primeiro atualizar todos os Ports necessários para a aplicação que está sendo atualizada.
# portupgrade -R apache
Outra opção válida é definir "-P" para que o portupgrade procure por pacotes disponíveis em locais enumerados no PKG_PATH, outro devidamente configura anteriormente. Esta opção é ideal quando se cria um servidor de atualizações, desta forma um computador apenas realiza o download dos pacotes e os outros realizam as suas atualizações a partir deste. Se o pacote não estiver disponível localmente será buscado o pacote através de um site remoto ou rede.
Por último será buscado na coleção de Ports. Caso queira evitar a busca na coleção de Ports utilize a opção PP. Dessa forma a atualização será abortada caso não consiga atualizar das formas anteriores. Este cenário é ideal quando se possui um servidor de atualizações e não se deseja utilizar atualizações via Ports, evitando assim consumo de banda.
# portupgrade -PP nome_port
Quando um port é instalado seus fontes, acabam utilizando espaço em disco. Os pacotes baixados para esta instalação ficam armazenados em /usr/ports/distfiles. Uma forma de limpar estes arquivos é utilizando o comando "portsclean".
Para remover todos os diretórios temporários criados durante a instalação utilize:
# portupgrade -C
Quando uma atualização ocorre é possível que arquivos referentes a versões antigas permaneçam no disco, para removê-las utilize:
# portsclean -D
Para remover qualquer arquivo não referenciado por algum port instalados atualmente no sistema utilize:
# portsclean -DD
Se o portmaster estiver instalado utilize também "portmaster -clean-distfiles".
# portmaster -clean-distfiles
Como podemos perceber a administração de aplicativos por meio da coleção de Ports é realmente muito simples e organizada. Veremos na próxima parte deste artigo como funciona a instalação de aplicativos por meio de pacotes binários.