石鎚山天狗岳


Date/Time: 2013:05:04 14:18:49
Camera: Panasonic
Model: DMC-LX2
Exporsure Time: 1/200
FNumber: 4.9
Aperture Value: 4.6
Focal Length: 6.3

Close

y2blog » Mac OS X Tips #1 ホームディレクトリの場所を変更する

10

05

2007

Mac OS X Tips #1 ホームディレクトリの場所を変更する

ホームディレクトリを別な場所に設定する方法


Mac OS X では個人のデータや環境設定情報は全てホームディレクトリと呼ばれる場所に置かれています.このホームディレクトリは個人毎に割り当てられていて、手元のコンピュータのハードディスクドライブやネットワークでつながれたファイルサーバ上に置かれます.家庭などで個人的にMac OS X を使用する場合には、1台のMacを単独で使用するスタンドアローン形態が普通の使い方でしょう.このような利用形態ではユーザのホームディレクトリは手元のコンピュータのハードディスクドライブに置かれます.


Appleが Mac を出荷する場合、Mac OS X とユーザのホームディレクトリを単一のボリューム上に置くように設定されています.このような利用環境はシステムの運用面から見た場合決して好ましいものではないのですが、一般のユーザにはなるべくシステムの内部の構造を意識しなくても使えるようにしたいというAppleの考え方に基づくものなのでしょう.それはそれでとても理に適った方針なのですが、コンピュータをハードに使いこなすユーザ、所謂パワーユーザにとってはこのような使い方は不都合です.


このような環境で長い間コンピュータを使用しているとOSのデータとユーザのデータがハードディスク上でごちゃ混ぜになり、データのフラグメンテーションが生じ易くなってしまいます.このような状況に陥るとハードディスクのアクセススピードが低下してしまい、コンピュータのパフォーマンスも悪化してしまいます.また、何かのトラブルでデータを消失する危険性が高くなります.OSの再インストールや新しいOSに入れ替えたり、データのバックアップ・リストアなどを行う事を考えると、システムの領域と個人のデータ領域は完全に切り離した方が何かと都合が良いと言えるでしょう.Macのパワーユーザであれば既にハードディスクをパーティション分割して個人のデータをシステムとは別に置かれている方も多いことと思います.


そこで、今回は個人のホームディレクトリを、OS X のシステムボリューム以外に置く方法について説明することにします.


Mac Pro やPowerMac G4/G5 のような大型のデスクトップマシンを除けば、内蔵可能なハードディスクは1台のみで、シングルパーティションの状態でMacが出荷されています.このままではユーザのホームディレクトリをシステム領域と分離することはできませんので、Apple標準のDikUtilityやIpartition. Drive Genuisなどのサードパーティ製ハードディスクユーティリティーを使って、ハードディスクをパーティションに分割する必要があります.


今回のテーマはホームディレクトリの場所の変更ですので、パーティションに分割する方法については別な機会に譲るとして、ここでは既に分割された別なパーティション領域(ボリューム)が存在するものとして話を進めます.

標準的なホームディレクトリ 標準的なホームディレクトリの格納先

Mac OS X の初期インストール状態では、ユーザのホームディレクトリは、ルートディレクトリ直下の”Users”というディレクトリに置かれています.Finderの上では日本語環境では確か ”ユーザ” という名前が付いていたと思います.


今回実験に使用したマシン(Intel iMac)は5つのパーティション(ボリューム)に分かれていて、そのうちの”Home”という名前のボリュームをユーザのホームディレクトリ用に割り当てるものとします.ここでは名前は”Home”になっていますが、ボリュームの名は何でも構いません.


MacやWindowsなどGUIベースのOSしか使ったことがない人にとって、コマンドベースの世界は少し敷居が高いかもしれませんが、コンピュータの内部を少しでも理解するには欠かせない知識ですので、この際思い切って挑戦してみて下さい.


まず、Mac OS X が内部でハードディスクのパーティション(ボリューム)をどのように管理しているのか見てみましょう.”Utilities”フォルダにある”Terminal” を起動して次のコマンドを入力して見て下さい.


df -m  


このdfコマンド以外にもハードディスクのパーティション(ボリューム)の状態を表示するコマンドは幾つかありますが、このdf コマンドが安全で手っ取り早く状態を表示できます.



iMacTiger:~ yasuaki$  df -m

Filesystem              1M-blocks  Used  Avail Capacity  Mounted on
/dev/disk0s2                65408 48607  16550    75%    /
devfs                           0     0      0   100%    /dev
fdesc                           0     0      0   100%    /dev
                         0     0      0   100%    /.vol
/dev/disk0s3                65408 21136  44271    32%    /Volumes/Leopard
/dev/disk0s4                48895  7601  41294    16%    /Volumes/WinXP
/dev/disk0s6               177341 48505 128836    27%    /Volumes/Home
/dev/disk0s7                23532 21944   1587    93%    /Volumes/Tmp
automount -nsl [252]            0     0      0   100%    /Network
automount -fstab [258]          0     0      0   100%    /automount/Servers
automount -static [258]         0     0      0   100%    /automount/static
iMacTiger:~ yasuaki$

UNIX系のOSに不慣れな人のために簡単に説明しておきます.左端の “Filesystem”欄にある /dev/diskxxx はハードディスクの物理デバイス名で、ハードディスクのパーティション毎に別々の物理デバイス名が割り当てられていることが分かります.真ん中の数字群は各パーティションの大きさ(容量)と実際の使用量、残りサイズがMB単位で表されています.その隣がファイルの占有率(使用量)が%表示されています.

一番右端にあるのがマウントポイントと言って、実際のファイルシステム(ハードディスクのパーティション上に作成された論理的なデータ管理システムの事で、HFS+やFAT32 , NTFSなどでフォーマットされたボリュームの事だと思って下さい)が、ルートディレクトリ ” / ” を頂点とするファイル構造の中で、どの位置に割り当て(UNIXの世界ではファイルシステムをマウントすると言います)られているかを表しています.UNIXの階層ファイル構造になじみが薄い人には???かもしれませんね.


dfコマンドの結果から、”Home”という名前を付けたボリュームは Mac OS X の内部では、”/Volumes/Home”という場所(ディレクトリパス)に割り当てられていることが分かります.UNIXの世界ではボリュームが/Volumes/Homeにマウントされているという表現を使います. 


Mac OS X のボリュームの取り扱い方法が分かったところで、今度はユーザのホームディレクトリの場所を Mac OS X がどのように管理しているのか探ってみましょう.


Mac OS X では個々のMac上でそれぞれユーザを管理するローカルアカウントとMac OS X Server などのサーバ上にユーザアカウントを儲け、ネットワークでつながったMacの上でサーバ上のアカウント(リモートアカウント)によって利用する方法があります.前者は家庭などで使う場合の一般的な形態で、企業や学校などでは後者の利用形態が一般的です.今回は個人で使うMacを対象にしていますので、ローカルアカウントについての話です.


実は、Mac OS X 10.4 (Tiger)と 10.5(Leopard) とでは、ローカルユーザのアカウント情報(ユーザ名やホームディレクトリの場所、ユーザ権限など様々な情報が記録されている)を管理する仕組みが異なります.Tiger までは “NetInfo”システムという仕組みが使われていましたが、Leopardではこの”NetInfo”システムが全面的に廃止され、ローカルユーザを管理する新しい仕組みが採用されています.


話が少し横道に逸れてしまいますが、Leopardでは”Portable Home Directory”システムという新しいユーザ管理の仕組みが備わっています.この”Portable Home Directory”システム自体は現行のTigerでも使えるようにはなっているのですが、Leopardでやっと実用的に使えるようになりそうです.家庭などでMacを使っている分には殆ど関係のないユーザ管理システムですが、小規模な事業所や学校のクラスルーム、大学の研究室や学科などでは重宝する事と思います.

この”Portable Home Directory”システムは、ユーザのホームディレクトリをUSBやFirewireなどの外部ハードドライブやUSBメモリなどに格納し、ユーザ情報も含めて管理する仕組みです.この仕組みを使えば、ユーザは職場や学校のMacと自宅のMacとの間で共通のアカウントとホームディレクトリを使いこなすことが可能になります.現時点でまだLeopardは発売されていませんので、この”Portable Home Directory”システムについては、また別な機会に紹介したいと思います.


Mac OS 10.4 (Tiger) のユーザ管理の仕組み


先に説明しましたが、Mac OS 10.4 までは個人のアカウント情報は “NetInfo”システムが管理していて、NetINfo形式のデータベース上にデータが記録されています.通常のUNIX系のアカウント管理の手法とは大きく異なっていたのでUNIX系のユーザ管理に慣れ親しんで来た人々にはこの仕組みは不評でした.WWDC(Appleの開発者向けの会議)で次期OSであるLeopardでこのNetInfoが完全に廃止されるとアナウンスされた時に、思わず会場から拍手が起きるほどでした.とはいえまだ現状ではこの”NetInfo”システムをいじらなければならないので、”NetInfo Manager”を使ってユーザのホームディレクトリの場所を変更してみましょう.


改めて述べるまでもないとは思いますが、これから行う作業は操作を間違えると致命的なダメージを与える可能性があります.コンピュータに不慣れな方や自信のない人は行わないで下さいね.


“NetInfo Manager”はNetInfoデータベースを管理するためのツールで、”Utilities”フォルダの中にあります.このNetInfo Manager を起動するとルート “/”を起点としたNetoInfoデータベースの内容が階層的に表示されています.注意していただきたいのは、ここで表示されているデータの階層構造はあくまでもNetInfoの内部のデータ構造であって、先ほどのルートディレクトリを頂点とするファイル構造とは別なものですので混同しないで下さい.


起動直後の状態ではデータを編集する権限が与えられていませんので、ダイアログの左下にある鍵アイコンをクリックして、管理者アカウントのユーザ名とパスワードを入力してデータを編集可能な状態にして下さい.編集可能な状態になると、ダイアログの上部左端が”/” で真ん中の欄に”machine”などと書かれた様々なアイテムが並んでいるはずです.この中から”users”というアイテムを選択すると、右端の欄にMac OS Xが管理している様々なアカウント名が表示されます.この中からホームディレクトリの位置を変更したいアカウントを選択して下さい.


対象となるアカウントを選択すると、ダイアログの下部にそのアカウントの情報が表示されます.これらのアカウント情報の中からProperty名が”home” という欄を探し出して下さい.その欄の右側の “value(s)”というフィールドを、”/Users/xxxxx/” の Usersという部分を、先ほどコマンドをたたいて確認したマウントポイント “/Volumes/Home” に変更して下さい.最終的には “/Volumes/Home/xxxxx” となります.”xxxxx”の部分は勿論変更したいユーザのアカウント名を書いて下さい.画面では”jukebox”というアカウント名になっています.


変更が済んだら”File”メニューから”Save”を選んで保存して下さい.その際に確認のダイアログが表示されますので、間違いがなければ “Update this copy” (日本語環境では”このコピーをアップデート”)を押してNetInfo Managerを終了して下さい.

[mygallery display=”galleria” gid=”netinfo” bgs=”width:680px;”]


次に現在のホームディレクトリの内容を新しくホームディレクトリを設営する場所に、そっくりそのままコピーします.この際にホームディレクトリを移動させるアカウントでログインしているのであればFinderじょうから単純にコピーするだけで大丈夫ですが、別なアカウントでログインしていたり、異動先のボリュームに対してそのアカウントでは十分な権限がない場合は必要な対策を講じて下さい.OSの初期設定時に設定したアカウントであれば問題はないはずです.(不親切ですいません.このような事を行おうとする人はある程度コンピュータに関する知識をお持ちと思いますので、敢えて説明は省略します.)

ホームディレクトリのコピーが終わりましたら、再起動を行いそのアカウントでログインして見て下さい.ホームディレクトリの位置が変更されていることと思います.お家のアイコンに変わっていればOKです.上手くいかない場合は設定を見直したり、再度ログインを行ってみて下さい.OSの起動時にホームディレクトリのパティションがマウントされるタイミングよっては、ホームディレクトリが見つからない旨のエラーメッセージが出てログインダイアログが表示される事がたまにありますが、再度ログインすれば大丈夫です.