Así que tuve una pregunta simple que probablemente me hará parecer tonta, pero estoy aprendiendo
Cuando hago un
./configure --prefix/usr/bin/
¿Qué está haciendo el prefijo? ¿Esto es solo instalar el paquete en esa ubicación?
¿Puede una respuesta dar una respuesta más elaborada para una instalación complicada y explicar en detalle los prefijos y las opciones que la acompañan?
Si tuviera que ejecutar una instalación de apt-get, ¿cómo la instalaría en una ubicación determinada con prefijo?
También he visto
PREFIX=/tmp/installdir make
PREFIX=/tmp/installdir make install
Si se llama al prefijo en ./configure, ¿por qué siempre se hace en estos dos ejemplos?
¡Gracias de antemano!
Respuestas:
Cuando instala software con
make install
osudo make install
, se colocan diferentes archivos en diferentes directorios. Los archivos ejecutables que proporcionan comandos que el usuario debe ejecutar suelen ir en unbin
directorio, las bibliotecas suelen ir en unlib
directorio, las páginas del manual suelen ir en unman
directorio, etc.Cuando ejecuta
./configure
, la--prefix
opción le permite especificar dónde están esos directorios . Se llama--prefix
porque le permite dar el prefijo que aparece en las rutas a cada uno de los directorios donde se instalarán los archivos del programa o biblioteca que está creando. La mayoría de losconfigure
scripts son compatibles--prefix
, y omitirlo y simplemente ejecutarlo./configure
suele ser equivalente a./configure --prefix=/usr/local
.Para responder esto más completamente, he reproducido dos secciones de mi respuesta a ¿Cómo instalar el archivo tar "globalmente"? (en Unix y Linux ), que abordan esta pregunta específicamente:
fuente
Indica la ubicación de los elementos necesarios para configurar el paquete o software actual.
Como en un caso simple, puede indicar la ubicación de las bibliotecas SSL:
y también le dice qué paquetes no configurar, para hacer compilaciones adecuadas del programa de acuerdo con su sistema:
Estas son solo opciones adicionales para hacer una compilación adecuada para su sistema. Es lo que pienso. Corrígeme si es otra cosa.
La
--prefix=PREFIX
opción instala archivos independientes de arquitectura enPREFIX
. Cuando ejecuta unmake install
comando, las bibliotecas se colocarán en elPREFIX/lib
directorio, los ejecutables en elPREFIX/bin
directorio, etc.Si este argumento no se pasa al
configure
comando, entonces el valor predeterminado es/usr/local
.fuente