Configurando sua compilação
Quando você tem o código-fonte que é compilado executando ./configure
e make, geralmente você usa make install(ou sudo make install) para instalá-lo. Isso copia os arquivos do diretório de construção para o local da instalação. Quando a coisa que você está instalando fornece comandos executáveis, esses executáveis geralmente são copiados para um diretório que esteja $PATHou que você deve considerar adicionar
$PATH.
Embora a construção e instalação de software é muitas vezes tão simples como executar ./configure, make, às vezes make checkou make test, em seguida, make installou sudo make install, às vezes você vai querer passar opções para o configurescript para configurar a compilação. Em particular, como diz o pfnuesel , é assim que você configura
onde o software será instalado. Embora a make installetapa realmente instale o software, os locais onde tudo será instalado são normalmente estabelecidos na
./configureetapa.
A opção mais comum para isso é --prefix. O prefixo padrão, quando você não diz configureo que usar, é geralmente /usr/local. (Ocasionalmente, o código-fonte de um programa ou biblioteca é padronizado com outro prefixo. Felizmente isso é raro.)
Então, ./configuregeralmente é equivalente a ./configure --prefix=/usr/local. Para instalar o software em seu diretório pessoal, você pode usar ./configure --prefix=/home/galahad(se /home/galahadfor seu diretório pessoal) ou --prefix="$HOME". Então é claro que você ainda deve criar e instalar o software make. Devo dizer que nem todos os softwares distribuídos em código-fonte são criados dessa maneira. Você deve sempre procurar documentação dentro do arquivo de código-fonte extraído.
O que --prefixsignifica
Ao executar , você indica que o software deve ser instalado no
diretório Mas isso raramente, se é que alguma vez, coloca arquivos soltos . Em vez disso, coloca arquivos que servem a propósitos diferentes nos diferentes subdiretórios de . Se esses subdiretórios não existirem, eles serão criados../configure --prefix=directorydirectorydirectorydirectory
Os executáveis geralmente entram directory/bin, mas podem entrar directory/sbinse forem comumente usados para administração do sistema ou podem (mais raramente, hoje em dia) entrar
directory/gamesse são jogos. As bibliotecas entram directory/libou em
outro diretório com o mesmo nome, como
directory/lib32. Arquivos de cabeçalho entram
directory/include. As páginas do manual entram
directory/man. Os arquivos de dados usados pelo software entram
directory/share.
É isso que significa directoryser um prefixo . É o diretório pai que contém os locais em que arquivos diferentes serão instalados. Portanto, ele aparece como um prefixo nos caminhos absolutos da maioria dos arquivos e diretórios criados executando make install
ou sudo make install.
Existem algumas exceções a isso. Os arquivos de configuração em todo o sistema - que às vezes são criados durante a instalação do software que os usará, embora nem sempre - geralmente entram /etc. Isso normalmente não é afetado pela especificação de um prefixo diferente. Mesmo se você instalar muitos softwares /usr/local, ele ainda será usado em grande parte
/etce seu /usr/local/etcdiretório provavelmente não existirá, estará vazio ou conterá muito poucos arquivos.
Em muitos sistemas, você pode encontrar mais informações sobre o layout típico do sistema de arquivos executando man hier. Se você estiver usando um sistema GNU / Linux, poderá estar interessado no Padrão de Hierarquia do Sistema de Arquivos .