A instalação de um programa Unix consiste em aproximadamente duas partes.
1) Colocando os arquivos em locais adequados
2) Definir permissões de arquivos e propriedades adequadamente
Com relação ao primeiro, o Padrão de hierarquia de arquivos do Linux
é relevante. Isso é específico do Linux, mas segue em grande parte as regras do Unix codificadas historicamente. Especificamente, binários destinados a serem executados pelo usuário são colocados em /usr/bin
, binários de nível de sistema para administração etc. são colocados em /bin
, binários instalados localmente são geralmente locais em /usr/local/bin
etc. Esses são locais em que o sistema olha para onde olhar o tempo de execução, baseado na variável PATH, que no Debian é /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
. Da mesma forma, as bibliotecas são colocadas em locais específicos, /usr/lib
, /lib
, /usr/local/bin
etc. seguindo regras semelhantes. Novamente, por padrão, o sistema é projetado para procurar nesses diretórios em tempo de execução.
Existem outros locais especificados para colocar documentação (incluindo páginas man) e arquivos de dados, mas estes não são tão críticos para o funcionamento do sistema.
No que diz respeito ao segundo, os arquivos nas diferentes partes do sistema têm propriedades e permissões diferentes. Embora a maioria dos arquivos seja de propriedade do root, o grupo associado varia.
O maquinário atual de uma instalação varia, mas geralmente é tratado pelo destino de instalação de um sistema de compilação. Os sistemas de compilação mais comuns para sistemas livres do tipo Unix, como os sistemas baseados em Linux, são o Autotools e o Cmake.
Normalmente, há também uma camada extra. Normalmente, os sistemas Linux possuem um gerenciador de pacotes binários. Esses pacotes geralmente são criados chamando o destino da instalação, mas, em vez de instalar os arquivos no sistema, eles são instalados em um diretório temporário como parte do processo de construção do pacote binário.
Para o Debian, este é geralmente o subdiretório debian/tmp
do diretório de origem.
Instalar um pacote binário no sistema tem inúmeras vantagens sobre uma instalação local, notavelmente rastreando quais arquivos pertencem a qual pacote / software, e também manipulando remoções de pacotes / softwares de uma maneira limpa e confiável. Embora os sistemas de compilação possam ter um destino de desinstalação, essa não é uma maneira tão confiável de lidar com desinstalações.