Previous Topへ Next

OSXのtips1-2

今まで運用記録に書いてきたシステム運用のtipsを一カ所にまとめることにした。 要するに記事の量が当初の想定よりも多くなってしまい 私自身探すのが大変になってきたからだ。 ちょっとしたメモとしてのtipsも結構重要な情報になったりするので ここで項目を集めることにした。
システムメンテナンスのtips


anchor

先日システムをアーカイブ化インストールして以来、

Finderのカラム表示のプレビュー画面が画像のピクセル数を表示しなくなっていた。

実はこれは結構サイトを作る上で便利な機能だったので、これが機能しなくなったのは結構作業的につらいものがあった。

しばらくはコンテクストメニューの画像プレビューなどでしのいでいたのだが、どうにも我慢できなくなったのでなんとかしようとトライしてみた。
(人間は一度良い暮らしをしてしまうと、そのあとの貧しさは最初から貧しいよりもずっとつらい・・・映画『ウォールストリート』より・・・というのは本当だと思った)






カラム表示でjpegなどの画像のプレビュー画面を表示すると
画像サイズのピクセル数を「大きさ」という項目で表示するはずなのだが
再インストール以来これを表示しなくなった


それで見当をつけたのがメタデータ生成がうまくいっていないのではないかということだ。
早速システム環境設定ペインのSpotlightに入って、プライバシーの項目に入ると、一昨日外付けの大容量ディスクにシステムをインストールした時にやった内蔵ディスクを除外するという設定がそのまま残っていることに気がついた。

なぜこんなことになっているのかよくわからない。この設定はその外付けディスクにインストールしたシステムから起動した時にやった設定だからだ。
どうしてそういうことになるのかよくわからないが、この設定を解除したところSpotlightは快調にメタデータを生成し始めたのだが、なんとこの作業は2分で終わってしまった。
「前のメタデータファイルが残っていたのかな?」
と思い、そのまま試してみたがやはりFinderは画像サイズを表示しない。
再ログインしてもこの症状は改善しない。
そこでもう一度システム環境設定ペインに入ってSpotlightのプライバシーの項目で全てのボリュームを設定して、さらにもう一度それを解除してみた。
メタデータファイルをTerminalなどで削除してSpotlightをリセットする方法があるが、もっと簡単にこの方法でメタデータを初期化できることは以前に確認済みだからだ。

今度は快調に50分以上かけてメタデータファイルを生成してくれた。
それで例の画像プレビューも前の通りにちゃんとピクセルサイズを表示してくれるようになった。






Spotlight用のメタデータファイルを再生成させたところ
めでたく画像のピクセル数を表示するようになった


OSXはいろいろ判らないことがまだある。
この画像のサイズ表示がメタデータに依存していたというのも今回はじめて知った。
それに最初の設定変更の時になぜSpotlightは2分で作業を完了してしまったのかは未だに判らない。
外付けディスクで起動した時の設定が、内蔵ディスクで起動したシステムに残っていたのも謎だ。
(この設定は外付けディスクの"~/Library/Preferences/"にplistファイルとして残るはずだ)
いろいろ謎を残したが、結果的にはちゃんと動くようになったのでまぁ結果オーライということで。

「ちゃんと動いているシステムは、それ以上問題の原因究明をして変な操作をするな」
というコンピュータを扱う上での鉄則もあることだし・・・







システムメンテナンスのtips


anchor

Secondary Trackpad ClickというintelMac用のバイナリを
間違ってOSXにインストールしてしまった結果OSが頓死してしまった

Secondary Trackpad Clickというアプリを試した。
これはトラックパッド上でツーフィンガータップで右クリックを実現するプラグインだという。
SideTrackを愛用していた頃は、コーナーをタップするだけで右クリックと同じようにコンテクストメニューを呼び出すことができた。これはとても便利だったのだがG4iBookに機種変更してからSideTrack は休眠状態にしてある。せっかくシェアウエア料金も払ってあるのだが、やはりシステムデフォルトのツーフィンガースクロールは使ってみると想像以上に便利だからだ。

ところがシステムデフォルトだとSideTrack のコーナータップ一発でコンテクストメニューが使えないのが残念だなと思っていた。このSecondary Trackpad Clickはツーフィンガーでタップすると右クリックのようにコンテクストメニューを呼び出せるという。

早速飛びついてこれをインストールしたのだが、ここで困ったことが起きた。
インストーラの指示に従ってインストールすると再起動を要求された。そこまでは良かったが再起動後はキーボードを全く認識しなくなってしまった。
私はログインにはことごとくパスワードを要求される設定にしているので、これでまったくコントロールできなくなってしまった。
シングルユーザモードで起動してもここにも安全策でyキーを叩かないと操作に入れないようにしているので何もできない。

それで外付けハードディスクから起動して復帰ができないかトライした。
案の定外付けディスクからは全く正常に起動ができるので、この時点でハードウエアのトラブルではなくさっきインストールしたSecondary Trackpad Clickが原因であることは確定的になった。
問題はどうやって復帰するかだが、とりあえずSecondary Trackpad Clickのインストーラをunpkg開いて何を挿入したかを確認した。以下のようなものをインストールしている。

"/Install Secondary Click.pkg"
"/System/Library/Extensions/AppleADBKeyboard.kext"
"/System/Library/Extensions/AppleADBMouse.kext"
"/System/Library/Extensions/AppleHIDMouse.kext"
"/System/Library/PreferencePanes/Keyboard.prefPane"
"/System/Library/PrivateFrameworks/MachineSettings.framework"

これを削除、必要なものはバックアップの外付けHDのOSXから持ってきて上書きして復旧を試みた。
結論からいえばこれは失敗で、これで再起動してもキーボードを認識できないという症状は全く改善しなかった。
おそらくインストーラが後処理のスクリプトであちこちのファイルを書き換えているのだろう。
それを元に戻さないとどうしようもないことがわかった。
結局あれこれトライしてみたが、ダメだったので正式に
「システムが死んだ」
と判断してシステムを再インストールすることにした。
ただし翌日も朝から仕事なので、のんびり徹夜してインストールをしているわけにもいかない。
しかもバックアップを取ろうと思った大容量のHDは、インストールしたシステムがOS10.3だったことに気がつき、ここから起動できないことが判明した。
悪い時に悪いことは重なるものでなぜかこのディスクが、USBでは認識できない。

そういうこともあって今回は
「アーカイブ化してインストール」
というやり方に初挑戦してみることにした。
従来はこれは緊急避難の時以外はやったことがない。
システムは常にクリーンに最善の状態にしておきたいと思うので、これまではいつもボリュームを初期化してクリーンインストールをしてきた。
もちろん今でもこれが最善の方法だと思っている。

しかしこの
「アーカイブ化してインストール」
(旧MacOSでは上書きインストールといっていたやり方に近い)を実際に試してみてわずか3時間で元の環境の大部分が復活できたので、これはこれで貴重な方法ではないかと思うようになってきた。
それに調子も悪くない。というかクリーンインストールと同じように順調に動いているので、しばらくこのまま試してみたくなった。
「アーカイブ化インストール」でどれくらい実用に堪えられるものなのか、もしクリーンインストールとそんなに変わらないのであれば、こんなに心強いことはない。

元々ライブラリが壊れて調子が悪くなったわけではなく、変なものをインストールして不具合になっただけなので、そこさえクリアされれば案外無問題なものだ。

ところでそもそものこのトラブルの原因はSecondary Trackpad Clickのバージョン不適合が原因だった。
ていうか、作者さんはMacBook用のプラグインだとちゃんと書いていたのだが、要するにそれを私が見落としていたのが悪かったわけだ。
しかしこれからintelMac専用バイナリがいろいろでてくるとこういう問題が起きるんだろうな。
気をつけないといけない。






Secondary Trackpad Clickのインストーラは
こういうシステムのエクステンションに直接プラグインを挿入してくる
ここが不適合が起きると今回の私のようなMacが全く反応しなくなるという問題が起きる
怖い話だが、気をつけないといけないことがこれから増えていくなぁ






システムメンテナンスのtips


anchor

最近私が実行しているメンテナンス手順についてまとめてみた。

BBSで「taka」さんからTiger環境でのメンテナンスの手順について質問をもらったからだ。
そちらに書けば良いのだが、このことはいつか書こうと思っていて今まで果たせていなかったことだしBBSはその性格上いつか消えてしまうのでこちらに書くことにした。

といってもTigerでもJaguerでもやらなければいけないことはあまり違わない。
私は以下のことを実行している。

1)目的
a).DS_Storeファイルの削除
このファイルはFinderのウインドウサイズ、位置、背景色、アイコン配列、アイコンサイズなどを記憶しておくファイルで、長期間使っているとこのファイルが壊れて、ウィンドウ位置などを覚えない、アイコンが消えるなどの障害の原因になる

b)キャッシュファイルの削除
システム、ブラウザなどが使用している一時保存状態の履歴ファイルのコピーを収容するキャッシュファイルは、長期間使っていると壊れてきてブラウザのクラッシュ、Finderのクラッシュ、システムの一部機能の不具合、表示不具合などを引き起こす

c)fsck(ファイルシステムチェック)
起動ボリュームのディレクトリ構造、カタログデータ、アロケーション管理情報などの不具合破損をチェックする
ここに不具合が起きると最悪起動できないなどのトラブルに。

d)アクセス権、所有権チェック
システムやアプリ、コマンドは動作する上で様々なファイルのアクセス権や所有権を一時的に書き換えているが、これの整合性がとれなくなってアクセス権、所有権が不正なまま放置されることがある
放置するとアプリが起動しない、書き換え・削除不能なファイルができてしまう、システムなどの機能が呼び出せない・反応しないなどの不具合の原因に。

e)環境設定ファイル .plistファイルのシンタックスエラーをチェック
アプリや一部プラグインにひとつ以上はある環境設定ファイルのうち
"~/Library/Preferences/"
"/Library/Preferences/"

にある.plistファイルに何らかの原因で文法上のエラーが出るとアプリが正常に機能しなくなることがあるのでシンタックスエラーチェックをする

f)Swapfileの削除
システムの仮想メモリ領域であるSwapfileも長期間使っていると壊れてきて、システムの動作に不具合を起こすのでこれを一度完全削除する

g)prebindingのアップデート
長く使っているとファイルの関連付けのようなものが切れてしまうのでprebindコマンドできれた関連付けを再構築する

h)ウイルスチェック
頻繁にファイルをやり取りするメール、ダウンロードフォルダ、デスクトップ、ドキュメントフォルダなどの検疫チェック

i)不要なローカライゼーションの削除
インストール済みアプリなどに含まれる英語、日本語以外の不要なローカライゼーションを削除する

j)Spotlight検索などのデータベースになっているメタデータを初期化してメタデータベースを再生成させる


これらのことを実施するために以下の手順でメンテナンスをやっている。

1)Terminalを起動して
sudo find / -name ".DS_Store" -delete
を入力、enterキーで実行
(.DS_Storeを全てのディレクトリから削除。ルート以外はパスワードを要求され
る。.DS_Storeファイルは再起動すればまたシステムによって自動生成される)

2)Cache Outを起動してブラウザ、システムのキャッシュを全て指定して実行。
キャッシュファイルは削除されるが再起動すればまたシステムなどによって自動生成される。

3)一度再起動させてこれらのファイルのうち動作に必要なものを再生成させる。

4)再び再起動して画面が落ちたらコマンドキー(リンゴマーク)とSキーを同時に押し続ける。
するとカリフォルニア大学のBSDの権利表示につづいてCUI画面が現れる。
このシングルユーザモードで
fsck -fy
とコマンドを入力、enterキーで実行する。
ルートのパスワードを要求されるのでこれを入力して再びenterキー。

◯◯repairedという表示が出たら再度実行
Volume MacintoshHD appears to be OK
という表示が出るまで繰り返す。

5)AppleJackを呼び出してオートパイロットモードでメンテナンス手順を実行する。
操作としては
applejack
と入力してenter、AppleJackが起動したらaキーを叩いてenter。
後は終わるまで待っていれば良い。
終わったら
r
と入力してenetrを叩くだけでシングルユーザモードから抜け出て再起動する。

この操作ではfsckとキャッシュファイル削除のプロセスが前の操作とダブるがキャッシュファイル削除に関しては二重のプロセスを実行しておいて損は無い。
自動化されたプロセスではいくつか漏れがあるようだからだ。
fsckは無駄だが、appears to be OKが出なかった時にプロセスを繰り返し実行しなくてはいけないので、この手順でやっている。

このオートパイロットのプロセスでアクセス権の補修、環境設定ファイルのシンタックスチェック、Swapfileの削除も実行される。
Swapfileは再起動するだけでもリセットされるのだが、定期的な大メンテナンスの時には完全に削除してから新規生成させるためにこのプロセスを実行している。

6)起動後ディスクユーティリティを起動してアクセス権の補修。
AppleJackとダブるプロセスだが、それでもキャッシュファイルを削除した後に実行することになるので結構補修が出る。
念のためにやっている作業だが。

7)Terminalを再び起動して
sudo update_prebinding -root /
と入力してenter。
実際のところTigerになってからjournalingのシステムが変わったようで、このプロセスは意味があるのかどうか私にもよく分からない。
このことについての技術的な説明もAppleは提示していない。
このコマンドを実行しても以前のようにはプロセスを表示しなくなったが、しかしわずかにプロセスが動いている様なので、意味があるかどうかは分からないが念のためにやっている。

8)ClamXavを起動して、メールのメッセージボックス、ダウンロードフォルダ、ドキュメンドフォルダ、デスクトップなどをウイルスチェックする。
本当はユーザ領域全体を指定して実行したいところだが、そんな大きな領域を指定するとこのアプリは落ちてしまうかスタックしてしまう。
なので小さな領域をちまちまやっていくしかない。
(06年末の段階でClamXavは非常に安定してきており、ユーザ領域全域を指定して一気にウイルススキャンをやっても大丈夫なようだ。大領域を指定するとそれなりに時間はかかるが、週に一回寝る前に実行しておけば安心だろう)

9)Youpi OptimizerMonolingualを使って不要なローカライゼーションファイルを削除する。
ディスクの空きスペースを節約するために毎回これは実行している。
細かい話だが塵も積もれば山になるということで。
漏れが少ないという意味ではYoupi Optimizerの方がお薦め。

10)Terminalを起動してSpotlight検索のデータベースになっているメタデータファイルを初期化する。コマンドは
sudo mdutil -E /
となる。
このメタデータのメンテナンスは基本的には半年〜1年に1回程度の頻度で充分だと思われるが、Spotlightがなんとなく最新のファイルへの変更を反映していないと感じた時には実行する。



ちょっと長くなってしまったが、一応今私はこういうメンテナンス手順を実行している。
昔は週一回の小メンテナンス、45日ごとの大メンテナンスとか手順を変えていたが、もうそんなに頻繁にやる必要はない気がしているので、2ヶ月に一度程度大メンテナンスをする他は全く何もしない。

強制再起動をする必要が出た時だけ、事後のケアーとしてfsckくらいはやっている。
そんな程度なのであまりメンテナンスはこまめにやっているわけではない。
それでもこれまでのところ問題なく動いているので、こんなところで良いんじゃないかと思っているがもしご覧の皆さんの中で
「こんなメンテナンスもやっておくと良いよ」
という方がいらっしゃったら知恵を寄せてもらえばと思う。







システムメンテナンスのtips


anchor

Spotlightのフルアップが原因で外付けハードディスクを付けた時にクラッシュする
(mdsの外付けボリューム索引生成を禁止する)

昨夜、ちょっと私のうっかり操作でiBookの中のファイルが3GBほど失われてしまったために、デイジーチェーンで連結している外付けHDのバックアップからこのファイルを復元しようとしている時に、クラッシュ。

3GB近くまでコピーをしたところでFinderが凍ってしまいFinderを「再度開く」で強制終了すると今度は何をやってもFinderが起動しなくなってしまった。
Finderが起動途中で止まった状態のために、ログアウトすることもできず、結局外付けボリュームをいくつもマウントしているのに強制終了するという心臓に良くない状況になってしまった。

結局無事再起動はできて、いきなりアンマウントされた外付けボリュームも壊れることもなく内蔵HDもダメージはなかったのだが、問題はこうなった原因だ。
FireWireは不安定だといってもフォルダ一つコピーしている時にいきなりフリーズというのは初めての体験なのだが、その再起動したiBookの動作を見て納得してしまった。
結論からいえばまた犯人はSpotlightだったようだ。

このデイジーチェーンのHDは今年の最初に壊れたiMacに交換HDとして載せていた120Gで、今ではバックアップのバックアップという感じの使い方をしている。
なのでタイガー環境では初めてマウントするのだが、例のSpotlightのプライベート設定を忘れていたのでギガのコピーの最中に例のメタ検索ファイルを始めたのではないだろうか。

これは本当に困った仕様だ。

やっぱり「メタ検索ファイルを作っても良いか?」というアラートタグはぜひとも必要だと思うのだがいかがなものだろうか。




この外付けHDをFireWire接続した時に、mdsとLAServerが暴走を始めたという件についてBBSで「さきぱぱ」様からアドバイスをいただいた。
Spotlightは新たなボリュームを認識するたびにどうやらメタ検索のファイルを作り始めるという変な癖があるらしい。
というか私はこれを「暴走」と呼んだが、これは「暴走」ではなく「仕様」らしい。
それで外付けボリュームを検索させたくない場合はシステム環境設定のSpotlightペインに入って「プライバシー」で検索を入れたくないボリュームを指定させれば良いというアドバイスをいただいた。

ところがこの指定法では実際にボリュームがマウントされる
/Volumes/
のディレクトリが見えないので指定のしようがない。
今日思い立って外付けボリュームをマウントさせたところそれは見えたので、外付けボリュームを指定できた。
なので一応この件は落着したということになる。

落着したことになるのだが、どう考えてもこの「仕様」は私には納得がいかない。
外付けボリュームの検索ファイルを作るかどうかは、ユーザの意思に任せるべきだ。
それにはプライバシーで
/Volumes/
のディレクトリを指定できるようにしといてもらわないと、新たな外付けディスクを接続するたびにこの指定をしないといけないことになる。
あるいは検索ファイルの作成を始める前に
「検索ファイル作成を始めて良いか?」
という警告タブを表示するとか何かやりようがあるんじゃないだろうか?

警告も無しにいきなり検索ファイル作成を始めてまた40分なり、1時間なりCPUがフルアップして身動きができなくなってしまうというこの仕様は「いかがなものか」というのが率直な感想だ。
これは立派な「暴走」だと思う。
またSherlockの悪夢が蘇ってくるようだ。

前にSpotlightを起動させないユーティリティとかSpotlightの代替検索アプリとかを見た覚えがあるが、ユーザがそういうものを欲しがる気持ちが実によく解った。
そのうちそういうものをここで紹介するかもしれない。





Spotlightがメタ検索ファイルを自動生成するのを阻止するにはシステム環境設定の
Spotlightペインに入ってプライバシーで外付けボリュームそのものを指定してやれば良い
これで先日の「暴走事件」は解決するのだが、なんだか納得がいかない解決法だ



これが原因なのかわからないがこういう事例もある。どういうアプリにこれが不具合の影響を及ぼすかは予想不可能だ。

昨日Excelを開いて、日本語の入力をしようとしたところクラッシュ、そのままことえりが再起不能になってしまった。
何度アプリを起動し直してもことえりで変換をさせるとそこでExcelがクラッシュしてしまう。
またiTextでも同じ症状を確認したために、再ログインを試したところログインウインドウが起動せず、いつまでも青画面のまま永久動作に入ってしまった。

仕方がないので強制再起動。
新iBook+Tigerで初めてのクラッシュとなってしまった。
ところが再起動後、SUM(シングルユーザモード)で再び再起動させてAppleJackのオートパイロットコマンドを実行したところ、ここでもう一度AppleJackが異常終了して、そのままどういうコマンドも受け付けなくなってしまった。

画面にはlocalhost lookupがパケットを225に制限しているというような意味合いのアラートが延々と出るだけでどのキーを叩いても反応しない。
仕方ないのでもう一度強制再起動、今度はAppleJackを使わずにfsck -fyコマンドでファイルシステムチェックをして再起動。
これで通常に戻った。

なぜこういうことになるのかよくわからない。
タイガーはまだ謎だらけだ。
しかしとにかく普通に動いているしことえりもExceliText上で正常に動いている。

思うに少し心当たりがあって、このトラブルが起きる直前に外付けHDをFireWireでつないでバックアップをしていたところ、例のmdsとLAserverの暴走が始まったので、アクティビティモニタを起動してこの二つを強制終了させたのが原因かもしれない。

外付けディスクの検索データなんかせっせと作ってくれたって意味ないし、この外付けボリュームをアンマウントしようとしたところ「アプリケーションが使用中なのでこのボリュームはアンマウントできない」というアラートが出たため、仕事中でのんびりそれが終わるのを待っていられなかったので、頭に来てそれらを強制終了させてしまったわけだ。

この仕様は本当に困る。
ノートを使うビジネスマンは時間に追いまくられているのだ。
MacユーザがみんなのんびりとMacの動作を見て喜んでいる人ばかりだと思われては本当に困る。

このことえりのクラッシュがこれが原因なのかどうかはまだ断定できないが、もしそうだとすると「勘弁しろよ」な問題だ。












Previous Topへ Next





site statistics