Dla tych z nas, którzy bawią się w pingwiny i jabłka, warto skorzystać ze ścieżek / home poza nawykiem lub w tych dziwnych przypadkach, w których wartość mogła zostać zsynchronizowana gdzieś wzdłuż linii w pliku używać na obu maszynach.
14
~username
rozwija się do katalogu domowego bez względu na Mac OSX lub Linux.~
rozwija się do twojego katalogu domowego. Czy możesz wyjaśnić w swoim pytaniu, czy chcesz utworzyć dowiązanie symboliczne do katalogu domowego użytkownika (tj./Users/[username]
), Czy w rzeczywistości samego katalogu użytkownika (/Users/
), który zawiera osobne katalogi dla wszystkich użytkowników na komputerze?Odpowiedzi:
sudo ln -s /Users /home
będzie działać z dodatkową konfiguracją, ale nie sądzę, że to dobry pomysł, ponieważ powinieneś mieć dostęp do domu za pośrednictwem~
powłoki lub$HOME
. Również/home
może być standardowym Linux i często stosowane w systemach Unix, ale nie zawsze tak jest lepiej polegać na informacjach, które są gwarantowane do pracy nie tylko coś, co działa przez większość czasu, gdy każdy ma ograniczone do konwencji.Aby wykonać
sudo ln -s /Users /home
pracę, wykonaj następujące kroki (z komentarzy):źródło
/etc/auto_master
i komentuj linię domową. Następnie uruchom ponownie, aby zwolnić istniejący zasób / home. Następnie możesz dowiązać katalog do katalogu, wykonując następujące czynności.ln -s /Users /home
. Dopóki tego nie zrobisz, po prostu nie będziesz mógł utworzyć dowiązania symbolicznego, ponieważ zasób jest zajęty.operation not supported
komunikatsudo automount -cv
zamiast tego biegać .Żałuję, że ta odpowiedź nie jest do końca autorytatywna, ponieważ tak naprawdę nigdy tego nie zrobiłem - chociaż użyłem podobnego automountera w innych systemach uniksowych - ale oto moje rozumienie tego, co
/home
jest używane w OS X.Zatem podążajmy szlakiem:
Jeśli wpiszesz najpierw
mount
Terminal, aby wyświetlić aktywne wierzchowce, zobaczysz następujący wiersz:autofs
mapy są zdefiniowane w/etc/auto_master
, a/home
z kolei są zdefiniowane konkretnie w/etc/auto_home
. Jeśli spojrzysz/etc/auto_home
, zobaczysz następujący wiersz:Podążaj za śladem jeszcze jeden krok do strony
od_user_homes
man , a znajdziesz program, którego celem jest pobranie nazwy użytkownika, sprawdzenie jej w Open Directory i zwrócenie adresu URL do katalogu domowego tego użytkownika. Jeśli przeczytać naauto_master
na jego stronie man , przekonasz się, że za pomocą programu wykonywalnego przez wyników mapa w tym programie miano patrzeć URL do montażu, który jest z kolei zamontowany w miejscu.Wydaje się, że zamierzona aplikacja polega na tym, że jeśli komputer Mac jest podłączony do usługi katalogowej,
/home/jdoe
spowoduje to zamontowaniejdoe
tam katalogu domowego automountera.Na tej podstawie logiczne wydaje się stwierdzenie, że jeśli nie zamierzasz podłączać swojego Maca do usługi katalogowej, prawdopodobnie dobrze jest usunąć
/home
automatyczne montowanie, jak opisano w tym komentarzu . Nie wiem jednak, jak poradzą sobie z tym przyszłe aktualizacje systemu operacyjnego.źródło
automountd
Chociaż trochę się z tym bawiłem, nie jestem do końca pewien, czy możesz określić lokalną ścieżkę, z którą sobie poradzisz. Wydaje się możliwe wykonywanie NFS, SMB i AFS.Input/output error
próbęcd
. Z mojej lektury wyglądało na to, że mogłem używać tylko NFS, SMB lub AFS, tak jak powiedziałem. Ale może powinniśmy przenieść tę linię eksperymentów gdzie indziej ...Nie ma po co
/home
. OS X, podobnie jak różne inne wersje Uniksa, ma unikalną lokalizację dla użytkownika. W Linuksie jest o/home/user
, aw OS X o/Users
. Dlatego dobrą praktyką jest używanie skrótu „~
” lub zmiennej środowiskowej$HOME
.Chociaż możesz utworzyć dowiązanie symboliczne do katalogu podstawowego / domowego użytkownika
/Users/[username]
za pomocą następującego polecenia:Nie będzie działać tworzenie łącza o nazwie,
/home
ponieważ w katalogu głównym systemu jest już (n nieużywany) katalog o tej nazwie.źródło
/export/home/username
Na Solarisie. Zakładanie,/home/username
że zadziała, jest złą praktyką . Programy szukające katalogów domowych powinny używaćgetpwnam
lubgetpwuid
.map auto_home on /home (autofs, automounted, nobrowse)
… chociaż nie znam pochodzenia tego wierzchowca, powinienem się nie zgodzić z „bezużytecznym dla/home
”./home
jest zarezerwowane, ale nieużywane w OSX, nie dlatego, że nie ma sensu go używać;)operation not supported
błądsudo ln -s /Users/username /home/username
jak zsudo ln -s /Users /home
. Rozwiązanie dostarczone przez @AR działa (skomentuj/home
linię/etc/auto_master
i uruchom ponownie).Nie widzę żadnego powodu, aby nie zmieniać nazwy katalogu / home (na wypadek, gdy się mylę) i tworzenia dowiązania symbolicznego z / home do / Users (lub, tak jak na moim komputerze, / Volumes / Users od mojego systemu dysk jest dla systemu, cholera!)
Pracowałem jako sysadmin na wydziale uniwersyteckim z 11 odmianami Uniksa. W globalnym drzewie katalogów mieliśmy różnego rodzaju dowiązania symboliczne, aby system plików działał właściwie, a skrypty działały tak blisko, jak to tylko możliwe, do działania wszędzie. Wpadasz na kilka błędów, ale jeśli twoje palce są przyzwyczajone do pisania / home / foo, a dowiązanie symboliczne opóźnia przekwalifikowanie pracy dla twoich palców, idź.
Podobnie niektóre linuksy będą już miały katalogi domowe jako / usr / home.
W jednym miejscu, w którym pracowałem, były katalogi domowe / Users / {group} / {username} jako częściowa ochrona przed uczniami chodzącymi po plikach profesorów, jeśli profesor był nieostrożny z jego uprawnieniami. Katalog użytkowników wykonał się, ale nie ustawiono bitów odczytu, a katalogi grup były czytelne tylko dla członków grupy.
(Wszystko to ilustrowane jest na wiele sposobów na pozbawienie tego konkretnego kota jego skóry.
Jedna możliwa gotcha - sprawdź, czy wehikuł czasu nie robi dwóch kopii wszystkiego. Nie wiem, jak TM traktuje dowiązania symboliczne. Jeśli tak, to dodaj / home do listy wykluczeń TM.
źródło
/Users
wówczas znane procedury naprawy uprawnień prawdopodobnie nie spowodują wymaganych poprawek. Dlatego zalecam, aby/Users
powinien być tak zainstalowany przez Apple: katalog, a nie dowiązanie symboliczne.Próbowałem tego wcześniej i działałem przez około tydzień, aż ponownie uruchomiłem ...
Nie możesz po prostu dowiązać symbolicznie
/home
do/Users
. W rzeczywistości nie można nawet usunąć/home
.Jeśli uda ci się usunąć
/home
, pojawi się ponownie po ponownym uruchomieniu.Jeśli przejdziesz
/home
do/home.old
i dowiązanie symboliczne/home
, usunie ono dowiązanie symboliczne/home
.Możesz działać tak długo, dopóki komputer Mac nie zawiedzie się ani nie uruchomi ponownie.
Po ponownym uruchomieniu wszystko znika!
Po ponownym uruchomieniu Mac OS X wydaje się myśleć, że tworzysz nowego użytkownika, więc zastąpi on wszystkie preferencje użytkownika w starym
/Users/username
katalogu.Ponieważ skopiowałeś wszystko do
/home/username
,ls /home
po ponownym uruchomieniu będziesz widzieć swój nowy katalog domowy . Zamiast tego dostajesz NIC !!! To tak, jakby nigdy nie istniało.W moim przypadku wariowałem przez około 30 minut, a następnie uruchomiłem tryb pojedynczego użytkownika, aby sprawdzić, czy coś można zrobić. Myślałem, że może uda mi się pobrać plik dziennika lub spróbować uruchomić narzędzie do naprawy.
W trybie pojedynczego użytkownika mój katalog domowy był tam. Apple celowo ukrywa przed użytkownikiem wszelkie nowo utworzone katalogi
/home
w trybie wielu użytkowników. Jest to celowo zła funkcja projektowania.Apple jest kulawy i odradza wszelkiego rodzaju hakowanie swojego systemu operacyjnego. Co to za funkcja projektowa? Apple ukrywa zawartość nowo utworzonego
/home
katalogu. Nie ma absolutnie żadnego uzasadnionego powodu, aby Apple automatycznie usunął/home
katalog ... lub jakiekolwiek katalogi utworzone przez użytkownika!W takim przypadku montują katalog nad katalogiem / home ... skutecznie go ukrywając.
Jeśli jesteś naprawdę zdeterminowany, aby użyć
/home
zamiast/Users
, możesz być w stanie obejść to, pisząc skrypt, aby skonfigurować wszystko przy każdym uruchomieniu.Powinienem również wspomnieć, że powinieneś być w stanie użyć innego katalogu, który nie
/home
jest zamiennikiem,/Users
ponieważ tylko/home
jest zbanowany.Jeśli użyjesz bash, będziesz musiał ustawić niektóre zmienne środowiskowe ... mianowicie:
CD_HOME
iHOME
.Chciałbym dodać, że ... chociaż nie można odmontować ani wymusić odmontowania
/home
, można zamontować dysk na nim/home
. Wszystko to zamontowano na „auto_home”.Udało mi się zamontować dysk odzyskiwania z
/home
powodzeniem ... być może w ten sposób można to zrobić.źródło