web-dev-qa-db-ja.com

Mac OS Xで/ homeディレクトリを使用するにはどうすればよいですか

Leopard(10.5)またはSnow Leopard(10.6)バージョンのOS Xを実行できるMacがあります。実稼働ホストにファイルを公開する前に、Web開発/テストに使用しています。

実稼働ホストでは、私のサイトのドキュメントルートはホームディレクトリ(例:/ home/stimulatingpixels/public_html)の下にあり、Macでその場所を複製したいと思います。残念ながら、それらはMac上の隠されたロックプレースホルダーであり、/ homeの場所に何も入っていないマウントされたドライブのように見えます。

私は経験から、これを移動してあなた自身の/ homeディレクトリにドロップするのは賢明ではないことを知っています。なぜなら、アップグレードによって消去される可能性があるからです(そして、ちなみにTimeMachineバックアップに保存されません)。

質問は、とにかく、LeopardまたはSnow LeopardのいずれかでMacで/ homeを安全に使用するためにありますか?

(注:これは非常にMac固有であり、Appleフォーラムでも同様です。すべてのベースをカバーするだけでなく、ここで質問したかっただけです。)

更新:これを行う理由を説明するために、フロントエンドのWebサイトに加えて、実行したい一連のスクリプトも用意しています。/homeディレクトリ(より具体的にはサーバールートからの同じパス)を使用できるようにすることの主な目標の1つは、開発Macでも同じ出力パスを使用し、運用サーバーでも使用できるようにすることです。これを回避する方法があることは知っていますが、対処する必要はありません。本当の目標は、開発Mac上のすべてのファイルに、運用サーバーと同じディレクトリツリーの/ルートからのファイルパスを持たせることです。

別の更新:これについて前に言及し忘れたもう1つの理由は、基本認証を使用するときに.htaccessパスを設定することです。これらのパスは、Webサイトのdocrootではなくファイルシステムのルートからのものであるため、ツリーの一部である場合、「/ home」を経由することになります。

43
Alan W. Smith

注:2015年現在、この方法は使用または推奨していません。代わりに Vagrant を使用して、開発およびテスト用に仮想マシンをセットアップします。それは無料で、比較的簡単で、本番環境のより良いマッチングを可能にします。開発環境を完全に分離し、必要な数だけ作成できます。 強くお勧めします。後世のために元の答えを残しておきます。


私は答えを見つけました ここでAppleフォーラム

/homeディレクトリを再利用するには、/etc/auto_masterファイルを編集し、/homeが含まれる行をコメントアウト(または削除)します。変更を有効にするには、この後再起動する必要があります(または、nilbusのコメントごとに、Sudo automount -vcを実行してみてください)。これはMac OS X 10.5(Leopard)で動作します。ミレージはバージョンによって異なる場合がありますが、似ているはずです。

そのフォーラムの投稿で述べたように、Time Machineは/homeディレクトリを自動的に除外し、はそれを戻さないことにも注意する必要がありますup


警告の1つの注意点として、システムの更新を行う前に/homeディレクトリを手動でバックアップしてください。私が行った更新の1つ(たとえば10.6から10.7)は、/homeに保存した内容を警告なしに一掃したと思います。私はそれが何が起こったのか100%は確信していませんが、それは目を光らせているものです。

59
Alan W. Smith

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

11
Marco Torchiano

上記のヒントとヒントからすべてをまとめます。

  • edit /etc/auto_master_/homeを含む行をコメントアウトします。

  • 再マウント:

    Sudo automount -vc

  • mac化されたディレクトリへのソフトリンクを作成します。

    Sudo ln -s $HOME /home/$USER

その時点で、パスは本番パスと一致するはずです。 env varsは引き続き/Users/xxxxを指しますが、.bashrcのパスでハードコーディングしたものはすべて、または~/.pip/pip.conf--で本質的に同等である必要があります。私のために働いた。

re: "本当の目標は、開発Mac上のすべてのファイルに、本番サーバーと同じディレクトリツリーの/ルートからのファイルパスを持たせることです。"

実稼働環境では、デプロイ作業は/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はあなたの友人です)。

8
KurtB