Для тех из нас, кто интересуется пингвинами и яблоками, очень важно иметь возможность использовать / home пути вне привычки или для тех странных случаев, когда значение могло быть синхронизировано где-то вдоль строки в каком-то файле, который вы использовать на обеих машинах.
14
~username
расширяется до вашего домашнего каталога независимо от Mac OSX или Linux.~
расширяется до вашего домашнего каталога. Не могли бы вы уточнить в своем вопросе, хотите ли вы использовать символическую ссылку на домашний каталог пользователя (т.е./Users/[username]
) или на самом деле сам каталог пользователя (/Users/
), который содержит отдельные каталоги для всех пользователей на машине?Ответы:
sudo ln -s /Users /home
будет работать с дополнительной конфигурацией, но я не думаю, что это хорошая идея, так как вы должны получить доступ к дому через~
в оболочке или$HOME
. Также/home
может быть стандартом Linux и часто используется в Unix, но не всегда так лучше полагаться на информацию, которая гарантированно работает, а не на то, что работает большую часть времени, если все придерживаются соглашения.Чтобы сделать
sudo ln -s /Users /home
работу, выполните следующие действия (из комментариев):источник
/etc/auto_master
и закомментируйте домашнюю линию. Затем перезагрузитесь, чтобы освободить существующий ресурс / home. Затем вы можете использовать символическую ссылку на каталог, используя следующее.ln -s /Users /home
, Пока вы не сделаете это, вам просто не разрешат создавать символическую ссылку, поскольку ресурс занят.operation not supported
сообщениюsudo automount -cv
вместо этого.Я сожалею, что этот ответ не является абсолютно авторитетным, поскольку я никогда не делал этого сам - хотя я использовал подобный автомонтировщик в других системах Unix - но вот мое понимание того, для чего
/home
используется в OS X.Итак, давайте пойдем по следу:
Если вы сначала наберете «
mount
Терминал», чтобы отобразить активные подключения, вы увидите следующую строку:autofs
карты определены в/etc/auto_master
, и/home
, в свою очередь, определены конкретно в/etc/auto_home
. Если вы посмотрите на/etc/auto_home
, вы увидите эту строку:Следуйте по следу еще на один шаг к странице руководства
od_user_homes
, и вы найдете программу, цель которой - взять имя пользователя, найти его в Open Directory и вернуть URL в домашний каталог этого пользователя. Если вы прочитаетеauto_master
на его странице руководства , вы обнаружите, что использование исполняемой программы для карты приводит к тому, что эта программа вызывается для поиска URL-адреса для монтирования, который, в свою очередь, монтируется на месте.Предполагается, что предполагаемое приложение заключается в том, что, если ваш Mac подключен к службе каталогов, переход к нему
/home/jdoe
приведет к тому, что автомонтировщик смонтирует тамjdoe
домашний каталог.Исходя из этого, кажется логичным заключить, что если вы не собираетесь подключать свой Mac к службе каталогов, вы, вероятно, в порядке, удалив
/home
автоматическое монтирование, как описано в этом комментарии . Я не знаю, как будущие обновления ОС будут иметь дело с этим, хотя.источник
automountd
будете иметь дело. Кажется возможным сделать NFS, SMB и AFS.Input/output error
при попыткеcd
. Из моего чтения выглядело так, как будто я мог использовать только NFS, SMB или AFS, как я уже сказал. Но, может быть, мы должны провести эту линию экспериментов в другом месте ...Там нет смысла для
/home
. OS X, как и другие версии Unix, имеет уникальное местоположение для пользователя. В Linux это в/home/user
, и в OS X это в/Users
. Вот почему рекомендуется использовать сокращение "~
" или переменную окружения$HOME
.Хотя вы можете создать символическую ссылку на каталог пользователя base / home,
/Users/[username]
используя следующую команду:Это не будет работать, чтобы создать ссылку с именем, так
/home
как уже есть (n неиспользуемый) каталог с таким именем в корне системы.источник
/export/home/username
на Solaris. Это плохая практика, чтобы предположить,/home/username
будет работать Программы, ищущие домашние каталоги, должны использоватьgetpwnam
илиgetpwuid
.map auto_home on /home (autofs, automounted, nobrowse)
… хотя я не знаю происхождение этого маунта, я должен не согласиться с «бесполезным для/home
»./home
он явно зарезервирован, но не используется в OSX, а не то, что нет смысла его использовать;)operation not supported
ошибку,sudo ln -s /Users/username /home/username
что и яsudo ln -s /Users /home
. Решение, предоставляемое @AR работает (закомментируйте/home
строку/etc/auto_master
и перезагрузите компьютер).Я не вижу никакой причины вообще не переименовывать каталог / home (в случае, если я ошибаюсь) и создавать символическую ссылку из / home на / Users (или, как на моем компьютере, / Volumes / Users, так как моя система диск для системы, черт побери!)
Я работал системным администратором в университетском отделе с 11 разновидностями Unix. У нас были все виды символических ссылок в глобальном дереве каталогов, чтобы файловая система работала правильно, а сценарии были максимально приближены к работе везде. Вы сталкиваетесь с несколькими затруднениями, но если ваши пальцы привыкли печатать / home / foo, а символическая ссылка откладывает переобучение для ваших пальцев, идите!
Аналогично, некоторые linuxen уже будут иметь домашние каталоги как / usr / home.
В одном месте, где я работал, имелись домашние каталоги / Users / {group} / {username} в качестве частичной защиты от студентов, которые копались в файлах профессора, если проф был небрежен со своими разрешениями. Каталог Users выполнил, но не установил биты чтения, и каталоги группы были доступны для чтения только членам группы.
(Все это наглядно показывает, что существует множество способов лишить этого особого кошачьего шкуры.
Одна возможная ошибка - проверьте, что машина времени не делает две копии всего. Я не знаю, как ТМ обрабатывает символические ссылки. Если это так, то добавьте / home в список исключений ТМ.
источник
/Users
то знакомые процедуры восстановления разрешений, вероятно, не смогут внести необходимые исправления. Поэтому я рекомендую,/Users
чтобы они были установлены Apple: каталог, а не символическая ссылка.Я пробовал это раньше и работал около недели, пока не перезагрузился ...
Вы не можете просто символическую ссылку
/home
на/Users
. На самом деле, вы даже не можете удалить/home
.Если вам удастся удалить
/home
, он появится снова после перезагрузки.Если вы перейдете
/home
к/home.old
символической ссылке/home
, она удалит символическую ссылку/home
.Это может работать до тех пор, пока ваш Mac не зависнет или не перезагрузится.
При перезагрузке все пропадает!
Когда вы перезагружаетесь, Mac OS X, кажется, думает, что вы создаете нового пользователя, поэтому он перезапишет все ваши пользовательские настройки в вашем старом
/Users/username
каталоге.Поскольку вы скопировали все в
/home/username
, вы ожидаете увидеть свой новый домашний каталог при выполненииls /home
после перезагрузки. Вместо этого вы НИЧЕГО не получаете !!! Как будто его никогда не было.В моем случае я волновался около 30 минут, затем я загрузился в однопользовательском режиме, чтобы посмотреть, можно ли что-то сделать. Я думал, что я мог бы получить файл журнала или попытаться запустить утилиту восстановления.
В однопользовательском режиме мой домашний каталог был там. Apple намеренно скрывает любые новые каталоги
/home
от пользователя в многопользовательском режиме. Это намеренно злая особенность дизайна.Apple хромает и не поощряет любые взломы своих ОС. Что это за особенность дизайна? Apple скрывает содержимое только что созданного
/home
каталога. У Apple нет абсолютно никакой законной причины автоматически удалять/home
каталог ... или любые созданные пользователем каталоги!В этом случае они монтируют каталог над вашим каталогом / home ... фактически скрывая его.
Если вы действительно решили использовать
/home
вместо/Users
, вы могли бы обойти это, написав сценарий, чтобы настроить все при каждой загрузке.Кроме того, я должен отметить, что вы должны иметь возможность использовать какой-то другой каталог, который не
/home
является заменой,/Users
потому что только/home
запрещен.Если вы используете bash, вам придется установить некоторые переменные окружения ... а именно:
CD_HOME
иHOME
.Я хочу добавить, что ... хотя вы не можете размонтировать или принудительно размонтировать
/home
, вы можете смонтировать диск поверх/home
. Все это установлено на вершине "auto_home".Мне удалось смонтировать диск восстановления поверх
/home
успешно ... возможно, это то, как это можно сделать.источник