Mac OS X - Cómo hacer un enlace simbólico / home to / Users

12

Para aquellos de nosotros que nos metemos en pingüinos y manzanas, parece que vale la pena poder usar / home path fuera de habbit o para aquellos casos impares en los que el valor puede haber sido sincronizado en algún punto a lo largo de la línea en algún archivo que usas en ambas máquinas.

    
pregunta anthonyryan1 17.03.2012 - 12:57

5 respuestas

17

sudo ln -s /Users /home funcionará con una configuración adicional, pero no creo que sea una buena idea, ya que debería acceder a su casa a través de ~ en shell o $HOME . Además, /home puede ser un estándar de Linux y se usa a menudo en Unix, pero no siempre es mejor confiar en la información que se garantiza que funcione, algo que no funciona solo la mayor parte del tiempo si todos han seguido una convención.

Para hacer que sudo ln -s /Users /home funcione, siga estos pasos (de los comentarios):

EDITOR=nano sudo -e /etc/auto_master
# add a "#" at the start of the line beginning with /home
# save changes
sudo automount -cv
sudo ln -s /Users /home
    
respondido por el Mark 17.03.2012 - 13:26
3

Lamento que esta respuesta no sea exactamente autoritativa, ya que nunca lo he hecho yo mismo, aunque he usado un montador automático similar en otros sistemas Unix, pero aquí tengo entendido en qué /home se usa para OS X.

Entonces, sigamos el rastro:

Si primero escribe mount en Terminal para mostrar montajes activos, verá esta línea:

map auto_home on /home (autofs, automounted, nobrowse)
Los mapas de

autofs se definen en /etc/auto_master , y /home a su vez se define específicamente en /etc/auto_home . Si echa un vistazo a /etc/auto_home , verá esta línea:

+/usr/libexec/od_user_homes

Siga el rastro un paso más hasta the od_user_homes man page , y encontrará un programa cuyo propósito es tomar un nombre de usuario, buscarlo en Open Directory y devolver una URL al directorio de inicio de ese usuario. Si lees sobre auto_master en su página de manual , encontrará que el uso de un programa ejecutable para un mapa hace que se llame a ese programa para buscar una URL para montar, que a su vez se monta en el lugar .

La aplicación prevista parece ser que, si tu Mac está conectada a un servicio de directorio, ir a /home/jdoe hará que el montador automático monte el directorio principal de jdoe allí.

Según esto, parece lógico concluir que si no tiene la intención de conectar su Mac a un servicio de directorio, es probable que esté eliminando el /home auto-mount como se detalla en este comentario . Sin embargo, no sé cómo las futuras actualizaciones de SO lidiarán con esto.

    
respondido por el zigg 28.03.2013 - 13:44
2

No hay uso para /home . OS X, al igual que otras versiones de Unix, tiene una ubicación única para el usuario. En Linux está en /home/user , y en OS X está en /Users . Por eso es una buena práctica usar la abreviatura " ~ " o la variable de entorno $HOME .

Aunque puede crear un enlace simbólico al directorio base / home del usuario /Users/[username] usando el siguiente comando:

ln -s ~ /foo

No funcionará crear un enlace llamado /home ya que ya existe un directorio (no utilizado) con ese nombre en la raíz del sistema.

    
respondido por el cleverbit 22.03.2013 - 14:39
1

No veo ninguna razón para no cambiar el nombre del directorio / home (en caso de que me equivoque) y crear un enlace simbólico de / home a / Users (o, como en mi máquina, / Volumes / Users ya que el disco de mi sistema es para el sistema, maldita sea!

Solía trabajar como administrador de sistemas, en un departamento universitario con 11 tipos de Unix. Tuvimos todo tipo de enlaces simbólicos en el árbol de directorios global para que el sistema de archivos hiciera lo correcto, y los scripts se acercaron lo más posible al trabajo en todas partes. Te encuentras con algunos errores, pero si tus dedos están acostumbrados a escribir / home / foo y un enlace simbólico pospone la recapacitación laboral para tus dedos, vete.

De forma similar, algunos linuxen ya tendrán directorios de inicio como / usr / home.

Un lugar donde trabajé tenía directorios de inicio de / Users / {group} / {username} como protección parcial contra estudiantes que se arrastraban alrededor de los archivos de los profesores si el profesor era descuidado con sus permisos. El directorio de Usuarios se había ejecutado pero no se habían establecido los bits de lectura, y los directorios del grupo eran legibles solo para los miembros del grupo.

(Todo esto en la ilustración hay muchas formas de privar a este felino en particular de su pellejo.

Un posible error: compruebe que la máquina del tiempo no termine haciendo dos copias de todo. No sé cómo TM trata los enlaces simbólicos. Si lo hace, a continuación, agregue / home a la lista de exclusión de TM.

    
respondido por el Sherwood Botsford 23.03.2013 - 17:58
0

Intenté esto antes y lo puse en funcionamiento durante aproximadamente una semana hasta que reinicié ...

No puedes simplemente vincular el enlace simbólico /home a /Users . De hecho, ni siquiera puedes eliminar /home .

Si logras eliminar /home , volverá a aparecer después de reiniciar.

Si mueve /home a /home.old y el enlace simbólico /home , eliminará el enlace simbólico /home .

Puedes tener esto funcionando mientras tu Mac no se bloquee o no se reinicie.

Cuando reinicias, ¡todo desaparece!

Cuando reinicia, Mac OS X parece pensar que está creando un nuevo usuario, por lo que sobrescribirá todas sus preferencias de usuario en su antiguo directorio /Users/username .

Ya que copió todo a /home/username , espera ver su nuevo directorio de inicio al hacer ls /home después de reiniciar. En su lugar, no tienes nada! Es como si nunca hubiera existido.

En mi caso, estuve volviéndome loco durante unos 30 minutos, luego inicié el modo de usuario único para ver si se podía hacer algo. Estaba pensando que podría ser capaz de agarrar un archivo de registro o intentar iniciar una utilidad de reparación.

En el modo de usuario único, mi directorio de inicio estaba allí. Apple intencionalmente oculta cualquier directorio creado recientemente bajo /home del usuario cuando está en modo multiusuario. Esta es una característica de diseño intencionalmente malvado.

Apple es cojo y desalienta cualquier tipo de piratería de su sistema operativo. ¿Qué tipo de característica de diseño es esa? Apple oculta el contenido del directorio /home recién creado. No existe ninguna razón legítima para que Apple elimine automáticamente el directorio /home ... ¡o cualquier directorio creado por el usuario!

En este caso, están montando un directorio sobre su directorio / home ... ocultándolo efectivamente.

Si realmente estás decidido a usar /home en lugar de /Users , puedes evitarlo escribiendo un script para configurar todo en cada arranque.

Además, debo mencionar que debería poder usar algún otro directorio que no sea /home como reemplazo de /Users porque solo está prohibido /home .

Si usas bash, entonces deberás establecer algunas de las variables de entorno ... a saber: CD_HOME y HOME .

Deseo agregar que ... aunque no puedes desmontar o forzar el desmontaje /home , puedes montar un disco encima de /home . Todo esto montado encima de "auto_home".

Pude montar el disco de recuperación encima de /home con éxito ... quizás así es como se puede hacer.

    
respondido por el Tim 12.03.2015 - 08:58

Lea otras preguntas en las etiquetas