Configurando su Build
Cuando tenga el código fuente que se compila ejecutando ./configure
y make
, generalmente usará make install
(o sudo make install
) para instalarlo. Esto copia archivos del directorio de compilación en la ubicación de instalación. Cuando lo que está instalando proporciona comandos ejecutables, esos ejecutables generalmente se copian en un directorio que está dentro $PATH
o al que debería considerar agregar
$PATH
.
Aunque la creación e instalación de software a menudo es tan simple como ejecutar ./configure
, a make
veces make check
o make test
, y luego make install
o sudo make install
, a veces querrá pasar opciones al configure
script para configurar la compilación. En particular, como dice pfnuesel , así es como se configura
dónde se instalará el software. Aunque el make install
paso realmente instala el software, las ubicaciones donde se instalará todo normalmente se establecen en el
./configure
paso.
La opción más común para esto es --prefix
. El prefijo predeterminado, cuando no dice configure
qué usar, generalmente es /usr/local
. (Ocasionalmente, el código fuente de un programa o biblioteca se predetermina a algún otro prefijo. Afortunadamente esto es raro).
Por ./configure
lo tanto, suele ser equivalente a ./configure --prefix=/usr/local
. Para instalar software en su directorio de inicio, puede usar ./configure --prefix=/home/galahad
(si /home/galahad
es su directorio de inicio) o --prefix="$HOME"
. Entonces, por supuesto, aún debe compilar e instalar el software con make
. Debo decir que no todo el software que se distribuye en forma de código fuente está construido de esta manera. Siempre debe buscar documentación dentro del archivo de código fuente extraído.
Lo que --prefix
significa
Cuando ejecuta , está indicando que el software debe instalarse en el
directorio. Pero esto rara vez, si alguna vez, coloca archivos sueltos . En su lugar, coloca archivos que tienen diferentes propósitos en los diferentes subdirectorios de . Si esos subdirectorios no existen, los crea../configure --prefix=directory
directory
directory
directory
Los ejecutables generalmente entran directory/bin
, aunque pueden entrar directory/sbin
si se usan comúnmente para la administración del sistema o pueden entrar (más raramente, en estos días)
directory/games
si son juegos. Las bibliotecas entran
directory/lib
u otro directorio con un nombre similar como
directory/lib32
. Los archivos de encabezado entran
directory/include
. Entran las páginas del manual
directory/man
. Los archivos de datos utilizados por el software entran
directory/share
.
Eso es lo que significa directory
ser un prefijo . Es el directorio principal que contiene las ubicaciones en las que se instalarán diferentes archivos. Por lo tanto, aparece como un prefijo en las rutas absolutas de la mayoría de los archivos y directorios creados al ejecutar make install
o sudo make install
.
Hay algunas excepciones a esto. Los archivos de configuración de todo el sistema, que a veces se crean al instalar el software que los usará, aunque no siempre, generalmente entran /etc
. Esto no suele verse afectado al especificar un prefijo diferente. Incluso si instala una gran cantidad de software /usr/local
, seguirá usándose principalmente
/etc
, y su /usr/local/etc
directorio probablemente no existirá, estará vacío o contendrá muy pocos archivos.
En muchos sistemas, puede encontrar más información sobre el diseño típico del sistema de archivos ejecutando man hier
. Si está utilizando un sistema GNU / Linux, puede estar interesado en el Estándar de jerarquía del sistema de archivos .