Jak mogę korzystać z katalogu / home w systemie Mac OS X
Mam Maca, na którym mogę uruchomić wersję Leopard (10.5) lub Snow Leopard (10.6) OS X. Używam go do tworzenia/testowania stron internetowych przed opublikowaniem plików na moim Hostie produkcyjnym.
Na serwerze produkcyjnym korzeń doc mojej witryny znajduje się w katalogu domowym (np. /home/stimulatingpixels/public_html) i chciałbym powielić tę lokalizację na komputerze Mac. Niestety, ich jest ukryty i zablokowany symbol zastępczy na Macu, który wygląda jak zamontowany dysk z niczym w nim siedzi w miejscu / domu.
Wiem z doświadczenia, że nierozsądne jest przenoszenie tego i wrzucanie do własnego katalogu /home, ponieważ uaktualnienia mogą spowodować jego wymazanie(a tak przy okazji, to nie jest przechowywane w kopii zapasowej TimeMachine).
Więc, pytanie, czy jest i tak bezpiecznie używać / home na Mac albo Leopard lub Snow Leopard?
(uwaga: zdaję sobie sprawę, że jest to bardzo specyficzne dla komputerów Mac i zapytam o to również na forum Apple. Chciałem tylko zapytać tutaj oprócz pokrycia wszystkich bazy.)
Update: aby pomóc opisać, dlaczego chcę to zrobić, oprócz strony front end, mam serię skryptów, które chciałbym uruchomić, jak również. Jednym z głównych celów z możliwością korzystania z katalogu / home (a dokładniej tej samej ścieżki z katalogu głównego serwerów) jest to, że można używać tych samych ścieżek wyjściowych na komputerze Mac deweloperskim, a także na serwerze produkcyjnym. Wiem, że można to obejść, ale wolałbym nie mieć z tym do czynienia. Prawdziwym celem jest aby wszystkie pliki na deweloperskim komputerze Mac miały tę samą ścieżkę plików z katalogu / root drzewa katalogów, co serwer produkcyjny.
Kolejna aktualizacja: innym powodem, o którym zapomniałem wspomnieć wcześniej, jest konfiguracja .ścieżki htaccess podczas korzystania z uwierzytelniania podstawowego. Ponieważ te ścieżki pochodzą z katalogu głównego systemu plików, a nie z katalogu docroot witryny, kończą przechodząc przez "/ home", gdy jest to część drzewa.
4 answers
Uwaga: od 2015 roku nie używam już ani nie polecam tej metody. Zamiast tego używam Vagrant do konfiguracji maszyn wirtualnych do dev i testowania. Jest bezpłatny, stosunkowo łatwy i pozwala na lepsze dopasowanie środowiska produkcyjnego. Całkowicie oddziela środowisko programistyczne i możesz zrobić tyle, ile potrzebujesz. wysoce zalecane. Zostawiam oryginalną odpowiedź poniżej dla dobra potomności.
I found an answer here on the Apple forum .
Aby odzyskać katalog /home
, Edytuj plik /etc/auto_master
i skomentuj (lub Usuń) wiersz z /home
w nim. Aby zmiana weszła w życie, musisz ponownie się uruchomić (lub, na podstawie komentarza nilbusa, spróbuj uruchomić sudo automount -vc
). Działa to z systemem Mac OS X 10.5 (Leopard). Frezowanie może się różnić w różnych wersjach, ale powinno być podobne.
Jak wspomniano w tym poście na forum, należy również pamiętać, że Time Machine automatycznie wyklucza katalog /home
i nie tworzy kopii zapasowej.
Jedna uwaga ostrzegawcza, upewnij się, że wykonasz kopię zapasową katalogu /home
ręcznie przed wykonaniem aktualizacji systemu. Wydaje mi się, że jedna z aktualizacji, które zrobiłem (na przykład z 10.6 do 10.7) usunęła to, co zapisałem w /home
bez ostrzeżenia. Nie jestem w 100% pewien, że to się stało, ale trzeba na to uważać.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-14 15:31:51
Próbowałem go na Yosemite (OS X 10.10.1) sudo automount -vc
nie działa, musiałem użyć sudo umount /home
.
Dlatego mój workflow będzie:
# 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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-07 02:43:03
Składając to wszystko razem z porad i wskazówek powyżej:
Edytuj
/etc/auto_master
# skomentuj tekst z/home
w nim.-
Remount:
sudo automount -vc
-
Zrób softlink do katalogu mac-ified:
sudo ln -s $HOME /home/$USER
W tym momencie twoje ścieżki powinny pasować do Twoich ścieżek produkcyjnych. env
vars nadal będzie wskazywać na /Users/xxxx
, ale wszystko, co utkniesz w ścieżce w swoim .bashrc
-- lub powiedzmy, w ~/.pip/pip.conf
-- powinny być zasadniczo równoważne. Dla mnie zadziałało.
Re: "prawdziwym celem jest to, aby wszystkie pliki na deweloperskim komputerze Mac miały tę samą ścieżkę plików z katalogu / root drzewa katalogów, co serwer produkcyjny."
Na produkcji, moje prace wdrożeniowe mogą się zdarzyć w /opt/projects/projname
, więc upewnię się, że moje konto może zapisać się na /opt/projects
i przejść stamtąd. Zacząłbym od zrobienia czegoś takiego:
sudo mkdir /opt/projects
sudo chown $USER /opt/projects
mkdir /opt/projects/projname
cd /opt/projects/projname
Z LVM ustawię osobną partycję dla /opt/
, i zapisywać tam Dane aplikacji zamiast $HOME
. Następnie mogę rozbudować system plików /opt
w przypadkach, gdy potrzebuję więcej miejsca na dysku dla projektu (LVM jest twoim przyjacielem.)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-08 13:34:32
Dlaczego po prostu nie uruchomisz MAMPA i nie skorzystasz z katalogu stron? Możesz rozwijać się poza localhost i po prostu mieć kilka aliasów dla swoich witryn. Nie jestem pewien, dlaczego konkretnie trzeba korzystać z katalogu domowego.
Edytuj: Ok, myślę, że zamierzasz rozwiązać swój problem w niewłaściwy sposób.
Jeśli chodzi o ścieżki HTML, o które się martwisz, zacznij wszystko od ukośnika"/", który domyślnie ustawi go na Home dierectory.
Jeśli są to referencje w Twoim PHP, to potrzebujesz aby utworzyć globalny (lub podobny) i ustawić go jako główny element witryny. Następnie możesz odwołać się do wszystkiego z globalnego, a kiedy przeniesiesz witrynę z Dewelopera do produkcji, wszystko, czego potrzebujesz, to zmiana globalna.
Próbowanie w okrągły sposób rozwijać z / home, ponieważ wygląda bardziej jak serwer produkcyjny to zły pomysł.
Zainstaluj MAMP, stwórz globalny gdzieś wysoko w hierarchii i zacznij od nowa. Na dłuższą metę będzie mniej bólu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-01 15:03:47