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 installosudo make install, se colocan diferentes archivos en diferentes directorios. Los archivos ejecutables que proporcionan comandos que el usuario debe ejecutar suelen ir en unbindirectorio, las bibliotecas suelen ir en unlibdirectorio, las páginas del manual suelen ir en unmandirectorio, etc.Cuando ejecuta
./configure, la--prefixopción le permite especificar dónde están esos directorios . Se llama--prefixporque 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 losconfigurescripts son compatibles--prefix, y omitirlo y simplemente ejecutarlo./configuresuele 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=PREFIXopción instala archivos independientes de arquitectura enPREFIX. Cuando ejecuta unmake installcomando, las bibliotecas se colocarán en elPREFIX/libdirectorio, los ejecutables en elPREFIX/bindirectorio, etc.Si este argumento no se pasa al
configurecomando, entonces el valor predeterminado es/usr/local.fuente