# FreeBSD Handbook/Iniciando/Pacotes e Ports/Visão Geral do Processo de Instalação de Software

FreeBSD Handbook :
| Anterior | Capítulo 4. Instalando Aplicativos: Pacotes e Posts | Próxima |

## 4.2 Visão Geral do Processo de Instalação de Software

Se você já utilizou um sistema UNIX deverá saber que o procedimento típico para instalar um aplicativo é parecido com isto:
* Baixar o software, que poderá estar distribuído em código-fonte ou como um arquivo binário.
* Descompacte o software de seu formato de distribuição (geralmente um tarball comprimido com compress, gzip ou bzip2.
* Localize a documentação (um arquivo INSTALL ou README, ou algum outro arquivo no subdiretório doc/) e o leia para entender como instalar o software.
* Se o software foi distribuído em código-fonte, o compile. Este método envolve a edição de um arquivo makefile, ou execute um script chamado configure, entre outras coisas.
* Teste e instale o software.
Isto somente se tudo ocorrer bem. Se você está instalando um aplicativo que não foi deliberadamente portado para o FreeBSD, você pode ter que fazer ajustes no código fonte do mesmo para que ele compile corretamente. Se você desejar, você pode continuar instalando aplicativos no FreeBSD pelo método "tradicional". Contudo, o FreeBSD disponibiliza duas tecnologias que podem lhe economizar muito esforço: packages e ports. No momento, mais de 20.000 aplicativos já foram disponibilizados desta forma.
Independente de qual seja o aplicativo, seu pacote FreeBSD consiste em um único arquivo para download. O pacote contém cópias pré-compiladas de todos os comandos do aplicativo, bem como cópias dos arquivos de configuração e/ou da documentação. O gerenciamento de um pacote FreeBSD é realizado por uma série de comandos específicos, tais como pkg_add, pkg_delete, pkg_info entre outros. A instalação de um novo aplicativo pode ser realizada através da execução de um único comando.
Um port FreeBSD de um aplicativo consiste em uma coleção de arquivos destinados a automatizar o processo de compilação da aplicação a partir do seu código fonte.
Lembre-se que existem diversos passos que você teria que executar para compilar o programa manualmente ( baixar , descompactar, aplicar correções, compilar e instalar). Os arquivos de um port contém todas as informações necessárias para possibilitar que o sistema automatize o processo para você. Você executa um conjunto de comandos simples e o código fonte do aplicativo é automaticamente baixado, descompactado, corrigido, compilado e instalado para você.
De fato, o sistema de ports pode ser utilizado para pacotes binários do aplicativo, o qual pode ser manipulado mais tarde através do comando pkg_add, ou por qualquer outro comando de gerenciamento de pacotes, os quais iremos introduzir adiante.
Ambos os sistemas de instalação cuidam da instalação das dependências do aplicativo. Suponha que você deseja instalar uma aplicação que depende de uma biblioteca específica para funcionar. Tanto o aplicativo quanto a biblioteca são disponibilizadas no FreeBSD como pacote e como ports. Se você utilizar o comando pkg_add ou o sistema de ports para adicionar o aplicativo, ambos irão informar que a biblioteca necessária para o funcionamento do aplicativo não está instalada corretamente e irão instalar automaticamente a biblioteca antes de instalar o aplicativo.
Dado que ambas as tecnologias são muito similares, você deve querer saber o porquê o FreeBSD se utiliza as duas. Cada um possui suas próprias virtudes e sua utilização dependerá da sua preferência pessoal.
Benefícios do sistema de Pacotes
* Um pacote tarball comprimido dos binários do aplicativo é normalmente menor que um tarball compactado contendo o código fonte do mesmo aplicativo.
* Um pacote não requer nenhuma compilação adicional. Para os grandes aplicativos como por exemplo Mozilla, KDE, ou GNOME isto pode ser importante, particularmente se você está utilizando uma máquina lenta.
* A instalação de um pacote não requer nenhum conhecimento do processo envolvido na compilação do software para o FreeBSD.
Benefícios do Sistema de ports
* Um pacote é compilado normalmente com opções conservadoras, pois ele tem que executar no maior numero de sistemas possível. Ao instalar a partir do ports, você pode ajustar as opções de compilação para (por exemplo) gerar um binário específico para processadores Pentium IV ou para processadores Athlon.
* Alguns aplicativos possuem opções que são especificadas no ato da compilação que estão relacionadas ao que eles podem ou não fazer. Por exemplo, o Apache pode ser configurado no momento de sua compilação com uma grande variedade de opções. Ao compilar a partir do port você não é obrigado a aceitar as opções default, e pode defini-las de acordo com suas necessidades.
    Em alguns casos, irão existir múltiplos pacotes de um mesmo aplicativo para especificar certas opções. Por exemplo, o aplicativo Ghostscript esta disponível em dois pacotes, ghostscript e ghostscript-nox11, você irá optar por um ou por outro dependendo se possui ou não um servidor X11 instalado. Esse tipo de ajuste fino é possível de ser realizado com pacotes, mas se torna inviável se o aplicativo possuir mais de uma ou duas opções, em tempo de compilação, diferentes.
* As condições de licenciamento de alguns softwares proíbem a distribuição de pacotes binários. Eles tem que ser distribuídos como código-fonte.
* Algumas pessoas não confiam em distribuições binárias. Tendo acesso ao código fonte, você mesmo pode (em teoria) inspecioná-lo e procurar por problemas potenciais.
* Se você possui correções customizadas, você vai precisar do código fonte para poder aplicá-las.
* Muitos usuários gostam de ter o código a sua disposição, para estudá-los, modificá-los, copiá-los (respeitando a licença, é claro) e assim por diante.
* Cuidado: antes de instalar qualquer aplicativo, você deve verificar o sítio http://vuxml.freebsd.org/ por razões de segurança relacionados a sua aplicação.
* Você também pode instalar o pacote ports-mgmt/portaudit que irá verificar automaticamente por vulnerabilidades conhecidas em todos os aplicativos instalados. Uma verificação será feita também antes de uma construção de qualquer port. Por enquanto, você pode usar o comando portaudit -F -a após da instalação de qualquer pacote.
O restante deste capitulo irá explicar como utilizar o sistema de pacotes e o de ports para instalar e gerenciar aplicativos de terceiros no FreeBSD.
| Anterior | Índice | Próxima |
| Sinópise | Topo | Encontrando Seu Aplicativo |
* Última edição desta página: 30/04/2013 (20130430171611)