Подтвердить что ты не робот

Как я могу использовать каталог /home в Mac OS X

У меня есть Mac, и я могу запустить либо версию Leopard (10.5), либо Snow Leopard (10.6) OS X. Я использую его для веб-разработки/тестирования перед публикацией файлов на моем рабочем хосте.

На рабочем хосте мой сайт doc root находится под домашним каталогом (например,/home/stimulatingpixels/public_html), и я хотел бы дублировать это местоположение на Mac. К сожалению, их скрытый и блокирующий placeholder на Mac, который выглядит как смонтированный диск, в котором ничего не сидит в /home.

Я знаю по опыту, что это неразумно, чтобы переместить это и занести в свой собственный/домашний каталог, потому что обновления могут привести к его стиранию (и, кстати, он не хранится в резервной копии TimeMachine).

Итак, вопрос, есть ли в любом случае безопасное использование /home на Mac или Leopard или Snow Leopard?

(Примечание: я понимаю, что это очень специфичный Mac, и он будет спрашивать об этом также на форуме Apple. Просто хотел спросить здесь, кроме того, чтобы охватить все базы.)

Обновление. Чтобы помочь описать, почему я хочу это сделать, в дополнение к веб-сайту переднего конца, у меня есть серия сценариев, которые я тоже хотел бы запустить. Одной из основных целей использования/home-каталога (и, более конкретно, одного и того же пути от корневого сервера) является то, что он может использовать те же выходные пути на макете разработки, которые также будут использоваться на рабочем сервере. Я знаю, что есть способы обойти это, но я бы не стал с этим бороться. Реальная цель состоит в том, чтобы все файлы на Mac разработки имели тот же путь к файлу из корня /root дерева каталогов, что и производственный сервер.

Другое обновление. Другая причина, по которой я забыл упомянуть ранее, - установить пути .htaccess при использовании базовой аутентификации. Поскольку эти пути связаны с корнем файловой системы, а не с веб-сайтом docroot, они заканчивают "/home", когда эта часть дерева.

4b9b3361

Ответ 1

ПРИМЕЧАНИЕ. С 2015 года я больше не использую или не рекомендую этот метод. Вместо этого я использую Vagrant для установки виртуальных машин для разработки и тестирования. Он бесплатный, относительно простой и позволяет лучше подобрать производственную среду. Он полностью разделяет среду разработки, и вы можете сделать столько, сколько вам нужно. Очень рекомендуется. Я оставляю первоначальный ответ ниже ради счастья.


Я нашел ответ здесь, на форумах Apple.

Чтобы восстановить каталог /home, отредактируйте файл /etc/auto_master и закомментируйте (или удалите) строку с /home в ней. После этого вам нужно будет перезагрузить компьютер, чтобы изменения вступили в силу (или, на комментарий nilbus, попробуйте запустить sudo automount -vc). Это работает с Mac OS X 10.5 (Leopard). Ваша длина может отличаться для разных версий, но она должна быть одинаковой.

Как отмечалось на этом форуме, вы также должны знать, что Time Machine автоматически исключает каталог /home и не поддерживает его.


Одно предупреждение о предупреждении, прежде чем выполнять обновление системы, обязательно создайте резервную копию своего каталога /home. Я считаю, что одно из обновлений, которые я сделал (с 10.6 до 10.7, например), уничтожило то, что я сохранил в /home без предупреждения. Я не уверен на 100%, что произошло, но это что-то, что нужно искать.

Ответ 2

Я попробовал это на Yosemite (OS X 10.10.1), sudo automount -vc не работал, мне пришлось использовать sudo umount /home.

Поэтому мой рабочий процесс был бы следующим:

# 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

Ответ 3

Соединяя все это с советами и подсказками выше:

  • edit /etc/auto_master # прокомментируйте строку с /home в ней.

  • remount:

    sudo automount -vc

  • сделать программную ссылку на mac-ified dir:

    sudo ln -s $HOME /home/$USER

В этот момент ваши пути должны совпадать с вашими производственными путями. env vars будет по-прежнему указывать на /Users/xxxx, но все, что вы жестко кодируете в пути в .bashrc, или, скажем, в ~/.pip/pip.conf, должно быть по существу эквивалентным. Работал для меня.

re: "Реальная цель состоит в том, чтобы все файлы на Mac разработки имели тот же путь к файлу из корня /root дерева каталогов в качестве производственного сервера.

В процессе производства моя работа по развертыванию может произойти в /opt/projects/projname, поэтому я просто сделаю так, чтобы моя учетная запись могла писать в /opt/projects и перейти оттуда. Я бы начал делать что-то вроде этого:

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

В LVM я установлю отдельный раздел для /opt/ и напишу там данные приложения вместо $HOME. Затем я могу увеличить файловую систему /opt в тех случаях, когда мне нужно больше места на диске для проекта (LVM - ваш друг.)

Ответ 4

Почему бы вам просто не запустить MAMP и не использовать каталог сайтов? Вы можете развивать localhost и просто иметь кучу псевдонимов для своих сайтов. Я не уверен, зачем вам нужно использовать домашний каталог.


EDIT: Хорошо, я думаю, вы собираетесь решить свою проблему неправильно.

Если это HTML-пути, о которых вы беспокоитесь, начните все с косой черты "/", которая по умолчанию будет использоваться для домашней dierectory.

Если это ссылки на вашем PHP, тогда вам нужно создать глобальный (или похожий) и установить его как корень вашего сайта. Затем вы можете ссылаться на все, начиная с глобального, и когда вы перемещаете сайт с dev на производство, все, что вам нужно изменить, является глобальным.

Пытаясь разработать способ из /home, потому что он больше похож на производственный сервер, это плохая идея.

Установите MAMP, создайте глобальную вершину в иерархии и начните повторную ссылку. Это будет меньше боли в долгосрочной перспективе.