Para aquellos de nosotros que incursionamos en pingüinos y manzanas, parece que vale la pena poder usar / rutas de inicio fuera de su hábitat o para esos casos extraños en los que el valor puede haberse sincronizado en algún lugar a lo largo de la línea en algún archivo uso en ambas máquinas.
14
~username
se expande a su directorio de inicio independientemente de Mac OSX o Linux.~
expande a su directorio de inicio. ¿Puede aclarar en su pregunta si desea hacer un enlace simbólico a su directorio de inicio de usuario (es decir/Users/[username]
) o, de hecho, al directorio de usuario (/Users/
) que contiene directorios separados para todos los usuarios de la máquina?Respuestas:
sudo ln -s /Users /home
funcionará con una configuración adicional, pero no creo que sea una buena idea, ya que debe acceder a su hogar a través~
de shell o$HOME
. También/home
podría ser un estándar de Linux y a menudo se usa en Unix, pero no siempre es mejor confiar en información que garantiza que no funcionará, algo que solo funciona la mayor parte del tiempo si todos han seguido una convención.Para hacer el
sudo ln -s /Users /home
trabajo, siga estos pasos (de los comentarios):fuente
/etc/auto_master
y comente la línea de inicio. Luego reinicie para liberar el recurso existente / hogar. Luego puede vincular el directorio usando el siguiente.ln -s /Users /home
. Hasta que haga esto, simplemente no se le permitirá crear el enlace simbólico ya que el recurso está ocupado.operation not supported
mensajesudo automount -cv
lugar.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 mi comprensión de lo que
/home
se usa en OS X.Entonces, sigamos el rastro:
Si primero escribe
mount
Terminal para mostrar monturas activas, verá esta línea:autofs
los mapas se definen en/etc/auto_master
, y/home
a su vez se define específicamente en/etc/auto_home
. Si echas un vistazo/etc/auto_home
, verás esta línea:Siga el rastro un paso más hasta la
od_user_homes
página de manual , 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 leesauto_master
en su página de manual , encontrarás que el uso de un programa ejecutable para un mapa da como resultado que se llame a ese programa para buscar una URL para montar, que a su vez está montada en su lugar.La aplicación prevista parece ser que, si su Mac está conectada a un servicio de directorio,
/home/jdoe
esto provocará que el montador automático montejdoe
allí el directorio de inicio.En base a esto, parece lógico concluir que si no tiene la intención de conectar su Mac a un servicio de directorio, probablemente esté bien eliminando el
/home
montaje automático como se detalla en este comentario . Sin embargo, no sé cómo las futuras actualizaciones del sistema operativo lidiarán con esto.fuente
automountd
. Parece posible hacer NFS, SMB y AFS.Input/output error
mensaje al intentarlocd
. Según mi lectura, parecía que solo podía usar NFS, SMB o AFS, como dije. Pero tal vez deberíamos llevar esta línea de experimentación a otra parte ...No sirve de nada
/home
. OS X, como varias 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
. Es por esto que es una buena práctica utilizar la "~
" taquigrafía o la variable de entorno$HOME
.Si bien puede crear un enlace simbólico al directorio base / de inicio del usuario
/Users/[username]
con el siguiente comando:No funcionará crear un enlace llamado
/home
ya que ya hay un directorio (n sin usar) con ese nombre en la raíz del sistema.fuente
/export/home/username
en Solaris. Es una mala práctica asumir/home/username
que funcionará. Los programas que buscan directorios principales deberían usargetpwnam
ogetpwuid
.map auto_home on /home (autofs, automounted, nobrowse)
... aunque no sé el origen de esa montura, debería estar en desacuerdo con "no sirve para/home
"./home
que aparentemente está reservado, pero no se usa en OSX, no es que no tenga sentido usarlo;)operation not supported
errorsudo ln -s /Users/username /home/username
que el que tengosudo ln -s /Users /home
. La solución provista por @AR funciona (comente la/home
línea/etc/auto_master
y reinicie).No veo ninguna razón para no renombrar el directorio / home (en caso de que me equivoque) y crear un enlace simbólico desde / home a / Users (o, como en mi máquina, / Volumes / Users desde mi sistema ¡El disco es para el sistema, maldita sea!)
Solía trabajar como administrador de sistemas, en un departamento universitario con 11 sabores de Unix. Teníamos 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 acercaran lo más posible a trabajar en todas partes. Te encuentras con algunas trampas, pero si tus dedos están acostumbrados a escribir / home / foo y un enlace simbólico pospone el reentrenamiento del trabajo para tus dedos, ve hacia adelante.
Del mismo modo, algunos linuxen ya tendrán directorios de inicio como / usr / home.
Un lugar donde trabajé tenía los directorios principales de / Users / {group} / {username} como protección parcial contra los estudiantes que se arrastraban por los archivos de los profesores si el profesor no tenía cuidado con sus permisos. El directorio de usuarios se había ejecutado pero no se habían establecido bits de lectura, y los directorios del grupo solo podían leerse los miembros del grupo.
(Todo esto en la ilustración, hay muchas maneras de privar a este felino en particular de su piel.
Una posible trampa: comprueba 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, agregue / home a la lista de exclusión de TM.
fuente
/Users
entonces las rutinas familiares para reparar los permisos probablemente no harán las correcciones necesarias. Por lo tanto, recomiendo que/Users
sea como lo instaló Apple: un directorio, no un enlace simbólico.Intenté esto antes y lo puse a funcionar durante aproximadamente una semana hasta que reinicié ...
No puedes simplemente hacer un enlace simbólico
/home
a/Users
. De hecho, ni siquiera puedes eliminarlo/home
.Si logra eliminar
/home
, volverá a aparecer después de reiniciar.Si se muda
/home
a/home.old
, y enlace simbólico/home
, se elimina el enlace simbólico/home
.Puede hacer que esto funcione mientras su Mac no se bloquee o 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
/Users/username
directorio anterior.Como copiaste todo
/home/username
, esperas ver tu nuevo directorio de inicio cuando lo hagasls /home
después de reiniciar. En cambio, no obtienes NADA !!! Es como si nunca hubiera existido.En mi caso, estuve enloqueciendo durante unos 30 minutos, luego arranqué en modo de usuario único para ver si se podía hacer algo. Estaba pensando que podría obtener un archivo de registro o intentar iniciar una utilidad de reparación.
En modo de usuario único, mi directorio de inicio estaba allí. Apple oculta intencionalmente cualquier directorio recién creado
/home
del usuario cuando está en modo multiusuario. Esta es una característica de diseño intencionalmente malvada.Apple es cojo y desalienta cualquier tipo de pirateo de su sistema operativo. ¿Qué tipo de característica de diseño es esa? Apple oculta el contenido del
/home
directorio recién creado . ¡No hay absolutamente ninguna razón legítima para que Apple elimine automáticamente el/home
directorio ... 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á decidido a usarlo en
/home
lugar de hacerlo/Users
, es posible que pueda 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
/home
sea un reemplazo/Users
porque solo/home
está prohibido.Si usa bash, tendrá que establecer algunas de las variables de entorno ... a saber:
CD_HOME
yHOME
.Deseo agregar eso ... aunque no puede desmontar o forzar el desmontaje
/home
, puede montar un disco encima/home
. Todo esto montado encima de "auto_home".Pude montar el disco de recuperación encima con
/home
éxito ... tal vez así es como se puede hacer.fuente