¿Cómo puedo utilizar el directorio / home en Mac OS X
-
20-09-2019 - |
Pregunta
Tengo un Mac que pueda funcionar tanto el Leopard (10.5) o Snow Leopard (10.6) versión de OS X en. Lo estoy usando para hacer desarrollo web / prueba antes de publicar archivos a mi huésped de producción.
En la producción de host raíz doc de mi sitio está en el directorio de inicio (por ejemplo, / home / stimulatingpixels / public_html) y me gustaría duplicar esa ubicación en el Mac. Por desgracia, su es un marcador de posición oculta y bloqueo en el Mac que se parece a una unidad montada con nada en él sentado en el lugar / casa.
Sé por experiencia que no es prudente para mover y colocar esta en su propio directorio / home porque las actualizaciones pueden provocar que se puede borrar (y que no se almacena en la copia de seguridad de TimeMachine, por cierto).
Entonces, la pregunta, hay alguna forma de utilizar con seguridad / home en un Mac, ya sea Leopard o Snow Leopard?
(Nota:.. Me di cuenta que es muy específico y Mac va a pedir que en un foro de Apple, así Sólo quería preguntar aquí, además de cubrir todas las bases)
Actualización: Para ayudar a describir por qué quiero hacer esto, además de la página web frontal final, tengo una serie de scripts que me gustaría correr también. Uno de los principales objetivos con ser capaz de usar el directorio / home (y más específicamente el mismo camino de la raíz servidores) es por lo que pueden utilizar las mismas rutas de salida en el mac desarrollo así ser utilizado en el servidor de producción. Sé que hay formas de evitar esto, pero yo prefiero no tener que lidiar con ella. El verdadero objetivo es tener todos los archivos en el desarrollo de Mac tienen la misma ruta de archivo del directorio / raíz del árbol de directorio que el servidor de producción.
Otro Actualización: La otra razón por la que me olvidé de mencionar anteriormente para esta es la creación de caminos .htaccess al utilizar la autenticación básica. Dado que esos caminos son de la raíz del sistema de archivos en lugar de la página web docroot, acaban de pasar por "/ home" cuando eso es parte del árbol.
Solución
NOTA: A partir de 2015, ya no utilizo o recomendar este método. En su lugar yo uso Vagrant para configurar máquinas virtuales para dev y pruebas. Es gratis, relativamente fácil, y permite una mejor adecuación del entorno de producción. Se separa por completo el entorno de desarrollo y se puede hacer tantas como sea necesario. altamente recomendado . Me voy de la respuesta original a continuación para la posteridad.
he encontrado una respuesta rel="noreferrer"> .
Con el fin de recuperar el directorio /home
, editar el archivo /etc/auto_master
y comentar (o eliminar) la línea con /home
en ella. Tendrá que reiniciar después de esto para que el cambio surta efecto (o, por comentario nilbus', intente sudo automount -vc
corriendo). Esto funciona con Mac OS X 10.5 (Leopard). Su millaje puede variar para diferentes versiones, pero debe ser similar.
Como se señaló en ese mensaje del foro, también se debe tener en cuenta que Time Machine excluye automáticamente el directorio /home
y no copia de seguridad .
Una nota de advertencia, asegúrese de hacer una copia de seguridad del directorio de /home
manualmente antes de hacer una actualización del sistema. Creo que uno de los cambios que hice (10,6-10,7 por ejemplo) acabó con lo que ha almacenado en /home
sin previo aviso. No estoy 100% seguro de que es lo que pasó, pero es algo para estar en el puesto de observación para.
Otros consejos
Lo probé en Yosemite (OS X 10.10.1) la sudo automount -vc
no funcionó, tuve que usar sudo umount /home
.
Por lo tanto mi flujo de trabajo sería:
# comment out line starting with /home
sudo vi "+g/^\/home/s/\//#\//" "+x" /etc/auto_master
sudo umount /home
# link actual home directory (/Users/<user>) to new 'home' (/home/<user>)
ln -s $HOME /home/$USER
Poniendo todo junto a los consejos y sugerencias arriba:
-
Editar
/etc/auto_master
# comente la línea con/home
en ella. -
volver a montar:
sudo automount -vc
-
hacer un enlace lógico al dir mac-ified:
sudo ln -s $HOME /home/$USER
En ese momento, sus caminos deben coincidir en marcha a sus rutas de producción. VARs env
todavía apuntan a /Users/xxxx
, pero todo lo que difícil que el código en un camino en su .bashrc
--o decir, en ~/.pip/pip.conf
-- deben ser esencialmente equivalente. Trabajado para mí.
re: "El verdadero objetivo es tener todos los archivos en el desarrollo de Mac tienen la misma ruta de archivo del / de la raíz del árbol de directorio que el servidor de producción"
En la producción, mi trabajo de despliegue que podría suceder en /opt/projects/projname
, así que voy a asegurarme de que mi cuenta puede escribir en /opt/projects
e ir de allí. Yo empezaría por hacer algo como esto:
sudo mkdir /opt/projects
sudo chown $USER /opt/projects
mkdir /opt/projects/projname
cd /opt/projects/projname
Con LVM, Voy a establecer una partición separada para /opt/
, y escribir datos de aplicaciones allí en vez de $HOME
. Entonces, puedo crecer el sistema de archivos /opt
en los casos en que necesito más espacio en disco para un proyecto (LVM es su amigo.)
¿Por qué no acaba de ejecutar MAMP y utilizar el directorio de sitios? Usted puede desarrollar fuera localhost y sólo tienen un montón de alias para sus sitios. No estoy seguro de por qué necesita específicamente para utilizar el directorio principal.
EDIT: Ok, creo que va sobre la solución de su problema de manera equivocada.
Si se trata de caminos de HTML que están preocupados por el todo empieza por una barra "/" que por defecto a la dierectory casa.
Si se trata de las referencias en su PHP, entonces usted necesita para crear un mundial (o similar) y configurarlo como la raíz de su sitio. A continuación, puede hacer referencia a todo, desde lo global y cuando se mueve el sitio desde dev para la producción de todo lo que tiene que cambiar es el mundial.
Tratando en una rotonda manera de desarrollar desde / home porque se ve más como el servidor de producción es una mala idea.
Instalar MAMP, crear el mundial en alguna parte alta de la jerarquía y empezar a cambio de la referencia. Será menos dolor en el largo plazo.