Comment utiliser le répertoire / home sur Mac OS X

j'ai un Mac que je peux faire tourner soit la version Leopard (10.5) ou Snow Leopard (10.6) D'OS X on. Je l'utilise pour faire du développement/test web avant de publier des fichiers sur mon hôte de production.

sur l'hôte de production la racine doc de mon site est dans le répertoire home (par exemple / home/stimulatingpixels / public_html) et j'aimerais dupliquer cet emplacement sur le Mac. Malheureusement, leur est un placeholder caché et de verrouillage sur le Mac qui ressemble à un lecteur monté avec rien en elle assis dans le /home de l'emplacement.

je sais par expérience qu'il est imprudent de déplacer ceci et de laisser tomber votre propre répertoire /home car les mises à niveau peuvent le faire effacer (et il ne sera pas stocké dans la sauvegarde TimeMachine, soit dit en passant).

donc, la question, y a-t-il de toute façon à utiliser /à la maison en toute sécurité sur un Mac soit léopard ou le léopard des Neiges?

(Note: je réalise que c'est très Mac spécifique et de demander dans un forum Apple. Je voulais juste demander ici plus à couvrir toutes les bases.)

mise à jour: pour aider à décrire pourquoi je veux faire cela, en plus du site web front end, j'ai une série de scripts que j'aimerais exécuter aussi bien. L'un des principaux objectifs de pouvoir utiliser le répertoire /home (et plus spécifiquement le même chemin à partir de la racine des serveurs) est de pouvoir utiliser les mêmes chemins de sortie sur le mac de développement ainsi que sur le serveur de production. Je sais qu'il ya des façons de contourner cela, mais je préfère ne pas avoir à traiter avec elle. Le vrai but est d'avoir tous les fichiers sur le Mac de développement ont le même chemin de fichier à partir de la racine / de l'arborescence des répertoires que le serveur de production.

une Autre mise à Jour: L'autre raison que j'ai oublié de mentionner précédemment pour ce réglage .les chemins htaccess lors de l'utilisation de l'authentification de base. Comme ces chemins proviennent de la racine du système de fichiers au lieu du site web docroot, ils finissent par passer par "/home" lorsque cela fait partie de l'arborescence.

42
demandé sur Alan W. Smith 2009-09-01 18:08:59

4 réponses

NOTE: à partir de 2015, je n'utilise plus ou ne recommande plus cette méthode. J'utilise plutôt Vagrant pour mettre en place des machines virtuelles pour le développement et les tests. C'est gratuit, relativement facile, et permet une meilleure adéquation de l'environnement de production. Il sépare complètement l'environnement de développement et vous pouvez faire autant que vous avez besoin. Fortement recommandé. Je laisse la réponse originale ci-dessous pour la postérité.


j'ai trouvé un répondre à ici sur l'Apple forums.

afin de récupérer les /home répertoire, modifier le /etc/auto_master le fichier et mettez en commentaire (ou supprimer) la ligne avec /home. Vous aurez besoin de redémarrer après cela pour que le changement prenne effet (ou, selon le commentaire de nilbus, essayez de lancer sudo automount -vc). Cela fonctionne avec Mac OS X 10.5 (Leopard). Votre millage peut varier pour différentes versions, mais il devrait être similaire.

comme indiqué sur ce forum post, vous devriez également être conscient que la machine temporelle exclut automatiquement le /home répertoire et ne pas sauvegarder.


Une note d'avertissement, assurez-vous de sauvegarder votre /home répertoire manuellement avant de faire une mise à jour du système. Je crois que l'une des mises à jour que j'ai faites (de 10.6 à 10.7 par exemple) a effacé ce que j'ai stocké dans /home sans avertissement. Je ne suis pas sûr à 100% que ce soit ce qui s'est passé, mais c'est quelque chose à surveiller.

59
répondu Alan W. Smith 2015-01-14 15:31:51

j'ai essayé sur Yosemite (OS X 10.10.1) le sudo automount -vc n'a pas fonctionné, j'ai dû utiliser sudo umount /home.

donc mon workflow serait:

# 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

10
répondu Marco Torchiano 2016-10-07 02:43:03

Mettre tous ensemble à partir de l'trucs et astuces ci-dessus:

  • modifier /etc/auto_master# commentaire de la ligne avec /home.

  • remonter:

    sudo automount -vc

  • faire un softlink à la mac-identifiés dir:

    sudo ln -s $HOME /home/$USER

à ce point, vos chemins devraient correspondre à vos chemins de production. env vars sera toujours /Users/xxxx, mais tout ce que vous code en dur dans un chemin d'accès dans votre .bashrc --ou-dire, dans ~/.pip/pip.conf-- devrait être essentiellement équivalent. A travaillé pour moi.

re: " le vrai but est d'avoir tous les fichiers sur le Mac de développement ont le même chemin de fichier à partir de l'arborescence / root du répertoire que le serveur de production."

sur la production, mon travail de déploiement pourrait se produire en /opt/projects/projname, donc je vais juste m'assurer que mon compte peut écrire dans /opt/projects et à partir de là. J'aimerais commencer par faire quelque chose comme ceci:

sudo mkdir /opt/projects sudo chown $USER /opt/projects mkdir /opt/projects/projname cd /opt/projects/projname

avec LVM, je vais définir une partition séparée pour /opt/, et y écrire des données app au lieu de $HOME. Ensuite, je peux pousser le /opt système de fichiers dans les cas où j'ai besoin de plus d'espace disque pour un projet (LVM est votre ami.)

8
répondu KurtB 2016-01-08 13:34:32

pourquoi ne pas simplement lancer MAMP et utiliser le répertoire des Sites? Vous pouvez développer hors localhost et juste avoir un tas d'Alias pour vos sites. Je ne sais pas pourquoi vous devez utiliser le répertoire personnel.


modifier: Ok, je pense que vous allez résoudre votre problème de la mauvaise façon.

si ce sont les chemins HTML qui vous inquiètent, le tout commence par un slash "/" qui le mettra par défaut dans le répertoire home.

Si c'est le références dans votre PHP, alors vous devez créer un global (ou similaire) et le Définir comme la racine de votre site. Ensuite, vous pouvez tout référencer du global et quand vous déplacez le site du dev à la production, tout ce dont vous avez besoin pour changer est le global.

essayer de façon détournée de se développer à partir / à la maison parce qu'il semble que le serveur de production est une mauvaise idée.

Installer MAMP, de créer le mondial, quelque part en haut de la hiérarchie et de commencer à re-référencement. Il va être de moins en moins douleur dans le long terme.

-2
répondu Evernoob 2009-09-01 15:03:47