Comment puis-je utiliser le répertoire / home sous Mac OS X
-
20-09-2019 - |
Question
J'ai une version Mac que je peux courir soit le Leopard (10.5) ou Snow Leopard (10.6) de Mac OS X sur. Je l'utilise pour faire du développement web / tests avant la publication de fichiers à mon hôte de production.
Sur la production hôte racine doc de mon site est sous le répertoire (par exemple / home / stimulatingpixels / public_html) et je voudrais reproduire cet emplacement sur le Mac. Malheureusement, leur est un espace réservé caché et verrou sur le Mac qui ressemble à un lecteur monté avec rien en elle assis dans le / emplacement de la maison.
Je sais par expérience qu'il est imprudent de se déplacer et déposer ce dans votre répertoire / home, car les mises à jour peuvent provoquer à effacer (et qu'il ne soit pas stocké dans la sauvegarde TimeMachine, par la voie).
Alors, la question est de toute façon d'utiliser en toute sécurité / home sur un Mac soit Leopard ou Snow Leopard?
(Note:.. Je sais que cela est très spécifique et Mac va demander dans un forum d'Apple et Je voulais juste demander ici, en plus de couvrir toutes les bases)
Mise à jour: Pour aider à décrire pourquoi je veux ce faire, en plus du site web frontal, j'ai une série de scripts que je voudrais courir aussi bien. L'un des objectifs principaux d'être en mesure d'utiliser le répertoire / home (et plus précisément le même chemin depuis les serveurs racine) est de sorte que peuvent utiliser les mêmes voies de sortie sur le mac de développement ainsi être utilisé sur le serveur de production. Je sais qu'il ya des façons de contourner cela, mais je préfère ne pas avoir à faire face. L'objectif réel est d'avoir tous les fichiers sur le développement Mac ont la même cheminfichier de la / racine de l'arborescence de répertoire que le serveur de production.
Une autre mise à jour: L'autre raison pour laquelle j'oublié de mentionner plus tôt pour ce met en place des chemins .htaccess lors de l'authentification de base. Étant donné que ces chemins sont de la racine du système de fichiers au lieu du docroot site, ils finissent par passer par « / home » quand cela fait partie de l'arbre.
La solution
NOTE: En 2015, je ne l'utilise plus ou de recommander cette méthode. Au lieu de cela j'utilise Vagrant pour configurer des machines virtuelles pour dev et test. Il est gratuit, relativement facile, et permet une meilleure adaptation de l'environnement de production. Il se sépare complètement l'environnement de développement et vous pouvez faire autant que vous avez besoin. Hautement recommandé . Je laisse la réponse originale ci-dessous pour l'amour de la postérité.
J'ai trouvé une réponse rel="noreferrer"> .
Pour récupérer le répertoire /home
, modifiez le fichier /etc/auto_master
et commentaire (ou supprimer) la ligne avec /home
en elle. Vous devrez redémarrer après cela pour que la modification prenne effet (ou, selon le commentaire de nilbus, essayez sudo automount -vc
en cours d'exécution). Cela fonctionne avec Mac OS X 10.5 (Leopard). Votre millage peut varier selon les différentes versions, mais il devrait être similaire.
Comme indiqué sur ce post sur le forum, vous devez également savoir que Time Machine exclut automatiquement le répertoire /home
et ne pas retour it up .
Une note d'avertissement, assurez-vous de sauvegarder votre répertoire /home
manuellement avant de faire une mise à jour du système. Je crois que l'une des mises à jour que j'ai fait (de 10,6 à 10,7 par exemple) anéanties ce que j'a stocké dans /home
sans avertissement. Je ne suis pas sûr à 100% ce qui est arrivé, mais il y a quelque chose à être à l'affût.
Autres conseils
Je l'ai essayé sur Yosemite (OS X 10.10.1) le sudo automount -vc
ne fonctionne pas, je devais utiliser sudo umount /home
.
Par conséquent mon flux de travail 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
Mettre tous ensemble des conseils et des suggestions ci-dessus:
-
modifier
/etc/auto_master
# commentez la ligne avec/home
en elle. -
remount:
sudo automount -vc
-
faire un lien symbolique vers le répertoire ified mac-:
sudo ln -s $HOME /home/$USER
A ce moment-là, vos chemins doivent correspondre-à vos chemins de production. vars env
pointeront toujours à /Users/xxxx
, mais tout ce que vous codez en dur dans un chemin dans votre .bashrc
--ou dire, en ~/.pip/pip.conf
-- devraient être essentiellement équivalents. A travaillé pour moi.
re: «L'objectif réel est d'avoir tous les fichiers sur le développement Mac ont la même cheminfichier de la / racine de l'arborescence de répertoire que le serveur de production »
Sur la production, mon travail de déploiement pourrait se produire dans /opt/projects/projname
, donc je vais juste vous assurer que mon compte peut écrire dans /opt/projects
et aller de là. Je commencerai 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 mettre une partition séparée pour /opt/
, et écrire des données d'applications là au lieu de $HOME
. , Je peux ensuite développer le système de fichiers /opt
dans les cas où j'ai besoin plus d'espace disque pour un projet (LVM est votre ami.)
Pourquoi ne pas exécuter simplement MAMP et utiliser le répertoire des sites? Vous pouvez développer hors localhost et juste un tas d'alias pour vos sites. Je ne sais pas pourquoi vous avez besoin spécifiquement d'utiliser le répertoire.
EDIT: Ok, je pense que vous allez sur la résolution de votre problème dans le mauvais sens.
S'il y a des chemins HTML que vous êtes inquiet, le tout commencer par une barre oblique « / » qui lui par défaut la dierectory maison.
Si ce sont les références dans votre PHP, vous devez créer un global (ou similaire) et le définir comme la racine de votre site. Ensuite, vous pouvez faire référence à tout le monde et quand vous déplacez le site de dev à la production tout ce que vous devez changer le monde.
Essayer de manière rond-développer / home car il ressemble plus à le serveur de production est une mauvaise idée.
Installer MAMP, créer quelque part globale élevée dans la hiérarchie et commencer à re-référencement. Ce sera moins de douleur à long terme.