A instalação de pacotes via Internet, com apt-get
ou localmente, com dpkg
é bastante conveniente. Contudo em algumas ocasiões, exemplificadas a seguir, faz-se necessário instalar um ou mais softwares de forma “manual”, diretamente a partir de seu código fonte:
apt-get
está desatualizado;
Os passos para instalação de um software via código fonte devem vir descritos em um arquivo texto de nome README
ou INSTALL
. Contudo a sequência de comandos necessários à instalação normalmente será semelhante a:
root@debian:~# tar -xf nome_do_pacote.tar.gz root@debian:~# cd nome_do_pacote root@debian:~/nome_do_pacote# ./configure <-- Verifica pré-requisitos, prepara para a compilação root@debian:~/nome_do_pacote# make <-- Compila o programa root@debian:~/nome_do_pacote# make install <-- Instala o programa
O comando configure
é um script que irá realizar uma série de checagens, para se certificar que a máquina possui todos os pré-requisitos necessários para a compilação e instalação do software. Caso algum deles esteja faltando, será impressa uma mensagem de erro, informando o nome do pacote não encontrado. O caso mais comum é a ausência de uma ou mais bibliotecas necessárias para a compilação do programa, como mostrado no exemplo a seguir:
root@debian:/tmp/rtorrent-0.8.8# ./configure checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes . . . checking for libcurl... yes checking for libtorrent... no configure: error: Package requirements (libtorrent >= 0.12.8) were not met: No package 'libtorrent' found
O script interrompe sua execução devido a ausência de um pacote de nome libtorrent
. Podemos então utilizar o aptitude
(ou apt-get
) para buscar pacotes com este nome. Devemos também verificar a existência de um outro pacote, com nome terminando em dev
, neste caso libtorrent-dev
, pois sua instalação será quase sempre necessária.
root@debian:/tmp/rtorrent-0.8.8# aptitude search libtorrent p libtorrent-dev - Biblioteca BitTorrent desenvolvida em C++ por Rakshasa (arquivos de desenvolvimento) ... ... p libtorrent11 - a C++ BitTorrent library by Rakshasa ... ...
root@debian:/tmp/rtorrent-0.8.8# aptitude install libtorrent11 libtorrent-dev
Após instalarmos estes dois pacotes podemos executar o script configure
novamente. Desta vez ele irá concluir sua execução sem nenhum erro. Também serão gerados um ou mais arquivos, de nome Makefile
. Neles encontramos todas as instruções necessárias para a compilação de cada arquivo em C
ou C++
do programa. As instruções contidas nos Makefile
são lidas pelo comando make
que irá, juntamente com o gcc
ou g++
, executar todos os comandos necessários para compilar cada arquivo fonte que constitui o programa. Por fim, podemos executar make install
, para instalar o programa já compilado na máquina.