El debate /usr frente a /usr/local

¿Debería instalar XXX en /usr o en /usr/local?

Esta es una cuestión sin respuesta obvia para un sistema basado en LFS

En los sistemas Unix tradicionales, /usr normalmente contiene los ficheros que vienen con la distribución, y el árbol /usr/local queda libre para que el administrador local añada cosas. En realidad, la única regla dura y rápida es que las distribuciones Unix no deberían tocar /usr/local, excepto, por supuesto, para crear los directorios básicos que contiene.

Con las distribuciones Linux, como RedHat, Debian, etc. una posible regla es que /usr está administrado por el sistema de paquetes de la distribución, y /usr/local no. De este modo, la base datos del administrador de paquetes conoce cada fichero que se encuentra en /usr.

Los usuarios de LFS construyen su propio sistema, y por eso decidir dónde termina el sistema y comienzan los ficheros locales no es sencillo. Por tanto debe hacerse la elección para que las cosas sean más fáciles de administrar. Hay varias razones para dividir los ficheros entre /usr y /usr/local.

Algunas personas preguntan: ¿por qué no usar su propio árbol de directorios, por ejemplo /usr/site, en lugar de /usr/local?

Nada te lo impide, muchos sitios crean sus propios árboles, sin embargo esto complica la instalación de nuevo software. Los instaladores automáticos con frecuencia buscan las dependencias en /usr y /usr/local, y si el fichero que buscan se encuentra en /usr/site el instalador seguramente falle hasta que le especifiques en dónde debe mirar.

¿Cuál es la postura de BLFS sobre esto?

Todas las instrucciones del BLFS instalan los programas en /usr a menos que se especifique otra cosa. Hay ejemplos en los que ciertos ficheros son colocados en la jerarquía /usr/local, pero están documentados y, generalmente, es por una buena razón. Estas excepciones deberían estar bien documentadas en el libro. Si encuentras alguna que no lo esté, por favor ¡dínoslo!