Come posso usare la directory / home su Mac OS X
-
20-09-2019 - |
Domanda
Ho un Mac che può funzionare sia il Leopard (10.5) o la versione Snow Leopard (10.6) di OS X su. Sto usando per fare web sviluppo / testing prima di pubblicare i file al mio ospite produzione.
Sulla produzione ospitare radice doc del mio sito è sotto la home directory (ad esempio / home / stimulatingpixels / public_html) e mi piacerebbe duplicare quella posizione sul Mac. Purtroppo, il loro è un segnaposto nascosto e blocco sul Mac che assomiglia ad un azionamento montato con niente in esso seduto in posizione / home.
Lo so per esperienza che non è saggio spostare questo e rilasciare nella directory proprio / a casa perché gli aggiornamenti possono causare da cancellare (e non viene memorizzato nel backup TimeMachine, tra l'altro).
Quindi, la domanda, c'è comunque utilizzare in modo sicuro / home su un Mac o Leopard o Snow Leopard?
(Nota:.. Mi rendo conto che è molto specifica e Mac sarà chiedere in un forum di Apple così Volevo solo chiedere qui, oltre a coprire tutte le basi)
Aggiornamento: Per aiutare a descrivere questo che voglio fare questo, oltre al sito web di front-end, ho una serie di script che mi piacerebbe correre pure. Uno degli obiettivi principali con la possibilità di utilizzare la directory / home (e più precisamente lo stesso percorso dalla radice i server) è così che possono utilizzare gli stessi percorsi di uscita su Mac sviluppo, nonché essere utilizzato sul server di produzione. So che ci sono modi per aggirare questo, ma io preferisco non avere a che fare con esso. Il vero obiettivo è quello di avere tutti i file sullo sviluppo Mac hanno lo stesso percorso del file dal / radice dell'albero di directory del server di produzione.
Un altro aggiornamento: L'altra ragione che ho dimenticato di menzionare in precedenza per questo è la creazione di percorsi di .htaccess quando si utilizza l'autenticazione di base. Tali percorsi sono dalla radice del file system al posto del sito docroot, essi finiscono per passare attraverso "/ home", quando questa è parte della struttura.
Soluzione
Nota: A partire dal 2015, non uso più o consiglio questo metodo. Invece io uso Vagrant configurare macchine virtuali per dev e test. È gratuito, relativamente facile, e permette un migliore adattamento dell'ambiente di produzione. Si separa completamente l'ambiente di sviluppo e si può fare come molti di cui hai bisogno. Altamente raccomandato . Lascio la risposta originale al di sotto per l'amor del posteri.
ho trovato una risposta rel="noreferrer"> .
Al fine di recuperare la directory /home
, modificare il file /etc/auto_master
e commentate (o rimuovere) la linea con /home
in esso. Avrete bisogno di riavviare il sistema dopo questo per la modifica abbia effetto (o, per commentare nilbus', provare a sudo automount -vc
in esecuzione). Questo funziona con Mac OS X 10.5 (Leopard). Il tuo millage può variare per diverse versioni, ma dovrebbe essere simile.
Come notato in quel post sul forum, si dovrebbe anche essere consapevoli del fatto che Time Machine esclude automaticamente la directory /home
e non Back It Up .
Una nota di avvertimento, assicurarsi di eseguire il backup della directory /home
manualmente prima di fare un aggiornamento del sistema. Credo che uno degli aggiornamenti che ho fatto (10,6-10,7 per esempio) ha spazzato via quello che ha memorizzato in /home
senza preavviso. Io non sono sicuro al 100% che è quello che è successo, ma è qualcosa di essere alla ricerca di.
Altri suggerimenti
ho provato su Yosemite (OS X 10.10.1) il sudo automount -vc
non funzionava, ho dovuto usare sudo umount /home
.
Perciò il mio flusso di lavoro potrebbe essere:
# 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
Mettere tutto insieme dai consigli e suggerimenti di cui sopra:
-
Modifica
/etc/auto_master
# commentare la linea con/home
in esso. -
rimontare:
sudo automount -vc
-
fare un link simbolico al dir mac-ified:
sudo ln -s $HOME /home/$USER
A quel punto, i percorsi devono corrispondere-up per i vostri percorsi di produzione. Vars env
saranno ancora puntano /Users/xxxx
, ma tutto quello che hard-code in un percorso nel .bashrc
--o dire, in ~/.pip/pip.conf
-- dovrebbero essere sostanzialmente equivalenti. Ha lavorato per me.
Re: "Il vero obiettivo è quello di avere tutti i file sullo sviluppo Mac hanno lo stesso percorso del file dal / radice dell'albero di directory del server di produzione"
Al di produzione, il mio lavoro Deploy potrebbe accadere in /opt/projects/projname
, quindi mi limiterò a fare in modo mio conto può scrivere in /opt/projects
e passare da lì. Mi piacerebbe iniziare facendo qualcosa di simile a questo:
sudo mkdir /opt/projects
sudo chown $USER /opt/projects
mkdir /opt/projects/projname
cd /opt/projects/projname
Con LVM, mi misi una partizione separata per /opt/
, e scrivere i dati app lì, invece di $HOME
. Poi, posso crescere il file system /opt
nei casi in cui ho bisogno di più spazio su disco per un progetto (LVM è tuo amico.)
Perché non basta eseguire MAMP e utilizzare la directory di siti? È possibile sviluppare off localhost e solo un po 'di alias per i vostri siti. Io non sono sicuro perché è specificamente necessario utilizzare la home directory.
EDIT: Ok, penso che si sta andando di risolvere il problema nel modo sbagliato.
Se è percorsi HTML si sono preoccupati, il tutto inizia con una barra "/" che passerà alla dierectory casa.
Se è i riferimenti nel vostro PHP, allora avete bisogno di creare un globale (o simili) e impostarlo come la radice del tuo sito. Poi si può fare riferimento tutto dal globale e quando si sposta il sito da dev per la produzione di tutto ciò che serve per cambiare è il globale.
Cercando in una rotonda modo per sviluppare da / home perché sembra più come il server di produzione è una cattiva idea.
Installa MAMP, creare il posto globale ad alta nella gerarchia e iniziare a ri-referenziazione. Sarà meno dolore nel lungo periodo.