みんなのホームディレクトリ下の構成を教えてください
http://d.hatena.ne.jp/ku-ma-me/20120330/p1
晒してみます。こないだ再インストールしたばかりですのでまだあまり汚れてません。
$ ls -a | cat . .. .CFUserTextEncoding .DS_Store .FontForge .Trash .Xauthority .Xcode .bash_history .bash_profile .config .darcs .emacs.d .fontconfig .gdb_history .gitconfig .gitignore .inkscape-etc .lftp .local .ocaml_history .ssh .subversion .viminfo .w3m .wine Applications Desktop Documents Downloads Library Movies Music Pictures Public Sites projects
なんてことはないSnow Leopardデフォルトのまま。~直下に自分で作ったディレクトリは~/Applicationsと~/projectsのふたつだけです。
あとパッケージマネージャはHomebrewを使っています。*1
~/Applications/ # ここにアプリを放り込む。/Applicationsはなるべく汚さない。インストーラ付きのものは諦めてます…… ~/Applications/bin/ # 各アプリのbin以下のファイルへシンボリックリンク。スクリプトとかも放り込んでます ~/Applications/Homebrew/ # Homebrewのインストール先 ~/Documents/ # プログラムに関係ないファイルはここ ~/Pictures/ # なぜか人狼とFontForgeの作業空間に ~/Site/ # ローカルCGIとか自サイトのミラーとか ~/Site/SandTrip/ # 神プラグインだったSandTrip用CGI置き場。64bitでは使えないのでゴミと化しました…… ~/projects/ # リポジトリのcheckout/cloneはこの下で ~/projects/build/ # 野良ビルド空間。ビルドしたときの手順はテキストファイルに残してgitで保存 ~/projects/experimental/ # 実験場
PATHは↓のように通してます。*2
PATH=~/Applications/bin:~/Applications/Homebrew/bin:$PATH
~/binや~/localではない理由は、これらの名前はFinder*3で一番上にくるためです。~/projectsを一番上に持ってきたかったですからね。(~/Applicationsはローカライズされて「アプリケーション」と表示されてます)
で、ホームディレクトリとは別に次のディレクトリにもファイルを置いています。
/usr/local/ # gccをインストールする場所 /usr/local/bin/ # gcc以外にもTextWranglerのツールも(「Install Command Line Tools...」を実行したら選択の余地なく)入ってます /usr/local/i686-pc-freebsd7/ # クロスコンパイル用 /usr/local/i686-w64-mingw32/ # クロスコンパイル用 /usr/local/lib/ # GMP, MPFRなんかもUniversal Binary化してここに入れました /usr/local/quartz/ # /usr/X11/やHomebrewと干渉するライブラリ置き場 /書庫/ # ~/Downloadsから昇格したファイルを置いています。wgetするのもここ。 /書庫/Backup/ # 手動ローカルバックアップ。一応ホームディレクトリの外に作りました。
野良ビルドしたライブラリは/usr/localに置いてます。ここなら-L指定しなくていいですので、サボりです。
あらかじめDESTDIR指定で別の場所にインストールしてUniversal Binary化の作業*4をして、それをdmg*5にして取っておいて、それからsudo cpって手順を踏んでますので変なファイルは入りません……はずです。
/usr/local/quartzには、X11と衝突するライブラリを置いています。Quartzバックエンド*6を有効化したcairoやgtk+みたいな。
使うときは↓のようにします。*7
export PKG_CONFIG_LIBDIR=/usr/local/quartz/lib/pkgconfig/
「書庫」は、どうせターミナルからアクセスすることはないやーと思ってFinder上で一番下にくるように日本語名にしたのですが、アーカイブファイルを展開するなどで案外アクセスすることがあって悩んでます。
ベストプラクティスは私も教えて欲しいです。
*1:OS X特有の事情について。
OSXでは、MacPorts、Fink、Homebrewというパッケージマネージャが鎬を削っています。私の環境は、Homebrewの都合が色濃く出ているため、OS Xユーザーのうち更にHomebrewを選択した人のうち更にHomebrewのデフォルトの振る舞いが気に入らない人、という超狭い対象向けのディレクトリの切り方になっています。晒しといてなんですが真似するのはおすすめできません。サーセン。
最初この事情を書いていなかったため混乱させたようです。そして遠藤さんの感想→https://twitter.com/#!/mametter/status/185725646431993857
Linuxはディストリビューションごとにパッケージマネージャは固定でしたっけ……そっちを意識してませんでした……。
*2:Homebrewのデフォルトのインストール先は/usr/localですのでPATHを通す必要はないのです。ところがこのHomebrew、/usr/localのアクセス権を勝手に変えたりします。ので私はホームディレクトリ以下に配置しました。
*3:標準のファイルマネージャ。
*4:32ビットと64ビットを混在させるための魔術←手抜き説明。
*6:QuartzはOS XのネイティブGUIです。それとは別というかその上のレイヤーとしてXサーバーもあるわけです。
*7:HomebrewはなるべくX11を使うようになっています。MacPortsですとvariantで最初からQuartz向けにビルドできたりしますのでこんなことは不要です。