¿Hay alguna manera de instalar específicamente en la ruta / usr / local usando apt-get? Estoy usando Linux Mint 16 y quiero instalar algunas bibliotecas en esta ruta. Todas mis bibliotecas instaladas están instaladas en / usr / y solo algunas de ellas están disponibles en / usr / local
Pude instalar la biblioteca de impulso mediante el archivo tar.gz, pero ¿hay alguna manera de hacerlo usando apt-get install?
/usr/local
es superior a/usr
?Respuestas:
No debería haber ninguna forma de hacerlo, mira esta respuesta
Esto se debe a que el Estándar de Jerarquía del Sistema de Archivos se reserva explícitamente
/usr/local/
para el programa y los datos utilizados en todo el sistema, pero instalados por el administrador del sistema localmente. Tómese el tiempo para leer ese FHS (que también proporciona una justificación).BT, a menudo no puede mover un archivo binario y datos relacionados, porque la mayoría de los programas contienen rutas de archivos incorporadas. En la práctica, para instalarlos
/usr/local/
generalmente necesitará reconfigurarlos y volver a compilarlos.Por lo tanto, un
.deb
archivo de instalación de paquete bajo/usr/local/
estaría en contra de las convenciones y estándares.fuente
/usr/local/
prefijo (si no le da ningunoconfigure
). Pero la distribución se empaqueta con un/usr/
prefijo (es decir, los estáconfigure
combinando con--prefix=/usr/
...)/usr/local
.No, y no deberías necesitarlo.
El propósito de
/usr/local
es distinguir el software que fue compilado e instalado por el administrador local del software distribuido con el sistema (es decir, el software que se puede instalar a través deapt-get
).Al instalar un software no empaquetado
/usr
, corre el riesgo de causar conflictos, lo que incluso podría causar que los paquetes del sistema fallen sin razón aparente (por ejemplo, si sobrescribe una biblioteca con una versión más nueva o una compilación incompatible).Los mantenedores de paquetes deben hacer mucho trabajo adicional al compilar un paquete, para asegurarse de que funcione sin problemas en cada instalación, e independientemente de qué otros paquetes estén instalados. Esto solo es posible cuando pueden mirar el repositorio de paquetes y conocer cualquier otro paquete que podría instalarse. (En la práctica, solo pueden preocuparse por un pequeño subconjunto de los paquetes; como la cadena de herramientas libc y las bibliotecas SDL, por ejemplo).
Compilar paquetes usted mismo es (en comparación) rápido y suelto: no le importa maximizar la portabilidad; solo quiere que se construya y funcione en su máquina. No le importa si hay incompatibilidades con las cosas debajo
/usr
, ya que no se sobrescribirá, y tiene la libertad de instalar un duplicado incompatible de cualquier biblioteca, siempre que permanezca debajo/usr/local
. Incluso puede tener requisitos muy específicos (por ejemplo, aprovechar el conjunto de instrucciones específicas de su máquina para mejorar el rendimiento) que no se aplican a otros usuarios de su distribución de Linux. Y, si es incompatible con alguna otra pieza de software que aún no ha instalado, se ocupará de eso cuando intente instalar el nuevo software, no de antemano.fuente
/usr/local
, al tiempo que protege la estabilidad de/usr
cada uno de ellos. Un lugar único bajo/opt/<vendor-name>
o/opt/<stack-name>
.