Necesito compilar algún software en mi máquina Fedora. ¿Dónde está el mejor lugar para ponerlo para no interferir con el software empaquetado?
package-management
compiling
software-installation
directory-structure
fhs
el otro recibir
fuente
fuente
Respuestas:
Regla de oro, al menos en los sistemas con sabor a Debian:
/usr/local
para la materia que es "de todo el sistema", es decir/usr/local
, tiende a estar en mora de una distro$PATH
, y sigue una jerarquía estándar directorio de UNIX con/usr/local/bin
,/usr/local/lib
, etc./opt
para cosas en las que no confía para hacer todo el sistema, con prefijos por aplicación, es decir/opt/firefox-3.6.8
,/opt/mono-2.6.7
etc. Las cosas aquí requieren una administración más cuidadosa, pero también es menos probable que rompa su sistema, y es más fácil de eliminar ya que simplemente elimina la carpeta y se ha ido.fuente
/opt
si lo hacesudo
.Si realmente no quieres que interfiera en absoluto, no lo pongas en ningún lugar de tu
$PATH
.Si lo desea
$PATH
, al menos asegúrese de no instalarlo/usr/local
. Descubrí que una gran cantidad de software se ve allí incluso si está instalado por la distribución en/usr
.Mi forma favorita de instalar software compilado a medida es en mi
$HOME
directorio. De esa manera no tiene que usarsudo
para nada, y está muy bien separado del resto de su sistema. Por ejemplo:Y si lo desea, puede agregar
/home/username/stage/bin
a su$PATH
.fuente
/usr/local
).FHS dice ponerlo en / usr / local donde las distribuciones no deberían tocarlo.
/usr/local/bin
para los binarios/usr/local/src
para la fuente y/usr/local/lib
para las bibliotecas. Consulte las especificaciones de FHS para obtener más información.fuente
/etc/mysql
para la configuración?/usr/local/etc
carpeta por defecto, creo que debería usar eso ... :-)La mayoría de las veces, me gusta colocar mis propias cosas compiladas
/opt
. Es una especie de lugar pseudo-estándar. También puedes considerarlo/usr/local
, pero prefiero mantener mis cosas 100% aisladas.fuente
/opt
, sin embargo, he visto muchas veces donde/usr/local
está lleno de basura que viene de la distribución/usr/local
jerarquías de directorios que son paralelas a las del árbol estándar, y tal vez archivos de índice para cosas como TeX.Ponlos a
/usr/local/src
.Lo que hago es extraer la fuente en este directorio. Creará un camino como
Luego creo un enlace simbólico:
Haz todo tu edificio adentro
/usr/local/src/postgresql
.Hacer las cosas de esta manera ayuda cuando necesita desplazarse entre versiones y documentos de la versión que está utilizando.
fuente
Esto me recuerda que necesito usar checkinstall con más frecuencia. De esa manera solo hago lo usual
seguido por
para crear un archivo .deb ...
fuente
Si existe la posibilidad, sugeriría compilar su software y luego crear el paquete FC (creo que está usando yum para instalar paquetes de software). Luego puede instalar ese paquete de su propio software compilado y eliminarlo sin estropear todo el sistema.
fuente
Si desea instalar y eliminar fácilmente varias aplicaciones que ha creado usted mismo, puede usar Stow como un simple administrador de paquetes.
fuente
Según el FHS ,
/usr/local/
se usa para aplicaciones compiladas desde el origen, mientras que/opt/
se usa para aplicaciones de terceros que no son compatibles con el proveedor de su sistema operativo.fuente
Dos cosas que recomendaría:
Todo el sistema: use stow e instálelo en / usr / local / stow / package-version. Entonces puedes cambiar fácilmente entre versiones.
En mi casa, o si no tengo permisos de escritura / usr / local, personalmente instalo programas bajo ~ / .local, que está insinuado por el estándar XDG .
También puedes usar stow localmente, aunque nunca lo hice :)
fuente
Tengo una configuración un poco diferente a la de la mayoría de las personas porque desarrollo mucho. Tengo un directorio / home / jackson / bin / en el que instalo cosas y he editado mi .bashrc agregando esto:
No haría esto por todo, pero es bueno durante el desarrollo.
fuente
En realidad, no es tan difícil crear deb o rpm a partir de un tarball fuente. De esa manera, puede usar las instalaciones del administrador de paquetes de su distribución para mantener limpio su sistema. Esto es lo que hago, la mayoría de las veces: solo crea un poco de rpm.
fuente
Si está compilando una aplicación, puede agregar su ruta ejecutable en su variable PATH env. Esto no afectará a otros usuarios.
fuente
Siempre existe la opción de "ponerlo donde corresponde", pero primero escriba un rpm simple.
fuente
Si desea que su aplicación esté disponible para todos los usuarios del sistema y tiene los permisos necesarios, use / opt. Si desea que la aplicación esté disponible solo para usted (y root), use / home / username
fuente
La forma más fácil de hacer esto es tomar el paquete fuente (
.src.rpm
para RPMites), descomprimirlo, piratear la nueva fuente / configuración / lo que sea, cambiar la versión de manera apropiada y compilar. Instalar esto hace que su administrador de paquetes conozca el nuevo paquete, le permite considerarlo para las dependencias y desinstalarlo / actualizarlo.Esta es una tarea rutinaria la primera vez, pero si sale una nueva versión (o algún parche crítico), es más fácil de actualizar. Otro beneficio es que puede crear su propio repositorio con software local, para ser compartido, por ejemplo, por las máquinas en un laboratorio.
fuente
Escribir un RPM, no es difícil, tiene pautas sobre dónde colocar las cosas y facilita la desinstalación.
Si hace esto, instale los archivos debajo
/usr
y no debajo/usr/local
, como todos los demás archivos que vienen a través del sistema de empaquetado.fuente