¿Dónde deberían instalarse las herramientas de shell?

5

¿Existen pautas de Apple sobre dónde deben instalarse las herramientas de shell de usuario en Mountain Lion? Algunos (por ejemplo, TeX, o Git de Apple) terminan en /usr , y otros (por ejemplo, X11) parecen terminar en /opt (a veces con un enlace simbólico de /usr ), mientras que otros (por ejemplo, Git) terminan en /user/local , y me pregunto cuál es la diferencia, y si se prefiere una sobre la otra.

    
pregunta orome 03.02.2013 - 18:52

1 respuesta

7

El Estándar de Jerarquía del Sistema de Archivos se sigue en Linux y otros sistemas operativos basados en Unix, y OS X sigue esto también, a un en gran medida. La carpeta /private es donde básicamente reside el núcleo de OS X y las carpetas /etc y /var son simplemente punteros simbólicos a /private/etc y /private/var respectivamente. Puede verificar esto utilizando readlink como readlink /etc .

La carpeta /opt es para aplicaciones de usuario adicionales y también lo es /usr/local , y puedes elegir instalarlas en cualquiera de ellas. Realmente no importa (siempre y cuando se ocupe de agregar a sus rutas de manera apropiada) y la intención principal es mantenerlo aislado de las actualizaciones del sistema operativo (que sobrescribirá el contenido, por ejemplo, /bin ).

A menudo, se adopta la siguiente "convención flexible":

  • si el paquete / aplicación sigue los estándares de Unix, entonces instálelo en /usr/local/ . No habrá sorpresas en el paquete y definitivamente puede esperar una estructura de sub-directorio como bin , etc , include , share , y así sucesivamente.

  • si el software viene empaquetado como una aplicación independiente en la que la estructura del subdirectorio es arbitraria , simplemente instálela a /opt . En mi máquina, tengo mi VPN, cisco instalado en /opt y tiene los siguientes directorios: anyconnect , hostscan , vpn . Ninguno de estos son carpetas compatibles con Unix y no sería una buena idea instalarlo en /usr/local .

Ambos tienen sus "ventajas" y "desventajas", dependiendo de cómo lo veas y de tu familiaridad con Unix.

  • La instalación en /usr/local es "conveniente" ya que si simplemente agrega /usr/local/bin a su ruta, todo lo demás está configurado y no necesita modificar nada si agrega una nueva aplicación. Por otra parte, si necesita eliminar algo, es un dolor porque todos los programas están agrupados y no recuerda qué binarios se instalaron para la aplicación X y cuáles para la aplicación Y.

  • La instalación en /opt/programX requerirá que lo agregues manualmente a la ruta y quizás configures enlaces simbólicos, pero eliminar una aplicación es conveniente, porque simplemente necesitas eliminar la carpeta y listo.

respondido por el rm -rf 03.02.2013 - 19:20

Lea otras preguntas en las etiquetas