OSX・ホームフォルダ内の「ピクチャ」とか「パブリック」とかのフォルダを消してしまったら
02 06, 2011
前回記事に続き,トラブル2つ目.
ふとしたことで,自分のホームフォルダに「サイト」フォルダが無いことに気づく.web共有をオンにしても自分のサイトが表示されないと思ったら,なんとフォルダが無いとは...
そして実は心当たりがある気がします.何となく,昔の自分がファイル整理時にゴミ箱にポイしたような気がする...
こんなアホなことをするのは俺だけかもしれませんが,一応復旧法を確立したのでメモしておきます.今回は「サイト」フォルダを例に取りますが,パブリックフォルダでもピクチャでもなんでも大丈夫だと思います.
とはいえ,フォルダ内の写真とかは復活しないでしょう.これらのフォルダはアクセス権等が通常のフォルダとは異なり,システムの中でも特別な扱いを受けているので,ここでいう「復旧」とはそれを再現することを指します).参考になれば幸いです.
作業は自己責任でお願いします.必ず作業前にバックアップを取って下さい.
まず,実はこれらのフォルダが /System/Library/User Template/Japanese.lproj/ に眠っているらしいので,ここからホームフォルダにコピーします.アクセス権が無いのでsudoします.
繰り返しになりますが,今はサイトフォルダを例にとっているので,他のフォルダを復旧する人は最後の方のSitesを適宜書き換えて下さい.
-rはサブディレクトリまでコピーするためで,-iは要らないかもしれません.最後の-pオプションが重要で,前述の通りこれらのフォルダはアクセス権が少し特別なので,必ず-pを付けて設定を保持して下さい.
次に,正しくコピーされたか確認しましょう.
目当てのフォルダがコピーされているのを確認します.こんな出力があるはずです.
一番左のアクセス権の所の最後に「+」が付いていると思います.これは「ACL」とかいうアクセス権関連の何かで,コピー時に-pを付けないと+が付きません.ここまできたら,あとは所有者とグループを直すだけです.
<ユーザ名>と<グループ名>を,他に習って自分のアカウント名にします,なお今回はSitesフォルダを例に(ry
以上で復旧しているはずです.もう一度lsして確認するといいと思います.なにぶん初心者なのでもしかしたら完全では無いかもしれませんが,自分の環境ではとりあえずweb共有をオンにしてブラウザから自分のサイトが見れるようにはなりました(元々これをやろうとしてフォルダの消滅に気づいたわけです).よかったよかった.
参考サイト:
「ムービー」フォルダーを消してしまいました… - MSN相談箱
cp ファイル/ディレクトリをコピーする - UNIXコマンド辞典:CodeZine(コードジン)
ls(1) (UnixWare 7 ドキュメント)
UNIXの部屋 コマンド検索: chown
ふとしたことで,自分のホームフォルダに「サイト」フォルダが無いことに気づく.web共有をオンにしても自分のサイトが表示されないと思ったら,なんとフォルダが無いとは...
そして実は心当たりがある気がします.何となく,昔の自分がファイル整理時にゴミ箱にポイしたような気がする...
こんなアホなことをするのは俺だけかもしれませんが,一応復旧法を確立したのでメモしておきます.今回は「サイト」フォルダを例に取りますが,パブリックフォルダでもピクチャでもなんでも大丈夫だと思います.
とはいえ,フォルダ内の写真とかは復活しないでしょう.これらのフォルダはアクセス権等が通常のフォルダとは異なり,システムの中でも特別な扱いを受けているので,ここでいう「復旧」とはそれを再現することを指します).参考になれば幸いです.
作業は自己責任でお願いします.必ず作業前にバックアップを取って下さい.
まず,実はこれらのフォルダが /System/Library/User Template/Japanese.lproj/ に眠っているらしいので,ここからホームフォルダにコピーします.アクセス権が無いのでsudoします.
$ sudo cp -rip /System/Library/User\ Template/Japanese.lproj/Sites ~
繰り返しになりますが,今はサイトフォルダを例にとっているので,他のフォルダを復旧する人は最後の方のSitesを適宜書き換えて下さい.
-rはサブディレクトリまでコピーするためで,-iは要らないかもしれません.最後の-pオプションが重要で,前述の通りこれらのフォルダはアクセス権が少し特別なので,必ず-pを付けて設定を保持して下さい.
次に,正しくコピーされたか確認しましょう.
$ ls -l ~
目当てのフォルダがコピーされているのを確認します.こんな出力があるはずです.
drwxr-xr-x+ 5 root wheel 170 6 27 2010 Sites
一番左のアクセス権の所の最後に「+」が付いていると思います.これは「ACL」とかいうアクセス権関連の何かで,コピー時に-pを付けないと+が付きません.ここまできたら,あとは所有者とグループを直すだけです.
$ sudo chown -R <ユーザ名>:<グループ名> ~/Sites
<ユーザ名>と<グループ名>を,他に習って自分のアカウント名にします,なお今回はSitesフォルダを例に(ry
以上で復旧しているはずです.もう一度lsして確認するといいと思います.なにぶん初心者なのでもしかしたら完全では無いかもしれませんが,自分の環境ではとりあえずweb共有をオンにしてブラウザから自分のサイトが見れるようにはなりました(元々これをやろうとしてフォルダの消滅に気づいたわけです).よかったよかった.
参考サイト:
「ムービー」フォルダーを消してしまいました… - MSN相談箱
cp ファイル/ディレクトリをコピーする - UNIXコマンド辞典:CodeZine(コードジン)
ls(1) (UnixWare 7 ドキュメント)
UNIXの部屋 コマンド検索: chown
スポンサーサイト