« 2008年03月 | メイン | 2008年05月 »

2008年04月 アーカイブ

2008年04月03日

HDDメンテナンスメモ

数日前からMacBookの調子がおかしい。
旧MacOSの修復作業は知っていたが、MacOSXになってからは行ったことがないので、作業メモを取りながら修復をする。
これまでの流れ
残っていたメモを頼りにこれまでを再現。
まず、定番の「ディスクユーティリティ」を実行した。
OSが固まった。
強制再起動。
再度、ディスクユーティリティを実行。
以下のようなエラーが出た。
ボリューム“Macintosh HD”を検証中

ライブ検証を実行中です。
ジャーナリングが有効な HFS Plus ボリュームを確認中です。
エクステントオーバーフロー・ファイルを確認中です。
カタログファイルを確認中です。
ファイル“_CACHE_003_”のブロックカウントが正しくありません
(正しい値 49、不正な値(現状)57)
マルチリンクファイルを確認中です。
カタログ階層を確認中です。
拡張属性ファイルを確認中です。
ボリュームビットマップを確認中です。
ボリューム情報を確認中です。
ボリューム“Macintosh HD”には、修復が必要です。
エラー:ファイルシステムの検証または修復に失敗しました。
ディスクユーティリティには「S.M.A.R.T.状況 : 検証済み」との表示。
とにかく起動ディクスは修復できないので、インストールディスクから起動。
再度「ディスクユーティリティ」を実行。
今度は正常と出た。
なんで?
とりあえず正常と出たので一日使ってみたが症状は変わらず。
ここからがメモ
どうも不良セクタがあるのかもしれない。
旧MacOSの「FirstAid」では不良セクタが検出されなくても、サードパーティのディスクメンテナンスツールで検査すると山のように見つかった記憶がある。
もしかしてMacOSXも同じかもしれない。
購入してからさほど時間も経っていないのになんてこった。
確かに数日前、HDDからカツンという音が聞こえた気がしたが...。
ぐぐったりTwitter上でほえたりして別の方法を探す。
せめてS.M.A.R.T.の詳細がわかれば...。
見つからなければサードパーティ製のやつを買わないといけないかも知れない。
出費は勘弁してください。
ATAにそんな機能があるとは知らなかった。
でも、初期化は嫌です。ごめんなさい。
Twitter上から情報が。
「ディスクユーティリティ」「fsck」「smartctl」
ディスクユーティリティは実行済。
fsckは聞いた覚えたある。
smartctlも聞いたことがあるけど、OSXに入ってたっけ?
これだけじゃfsckの使い方がわからない。
smartctlのほうはOSXにはやっぱりないみたい。
Googleで別の情報が見つかる。
10.4.3以降だと「Live Verification」という機能があり、起動中でも修復が可能らしい。
ディスクユーティリティは実行済みなので、「diskutil」を試してみる。
%diskutil verify /
Disk Utility Tool
Utility to manage local disks and volumes.
Most options require root access to the device

Usage:  diskutil <verb> <options>
(以下略)
と出て実行されない。
diskutilを再調査。
diskutilの使用方法があやふやらしい。
diskutilは保留。
fsckの方法も書かれていたのでこれを試すことにする。
Appleのsiteをよく見ると「Safe Boot」してもメンテナンスが走るらしい。
fsckの前にSafe Bootを試すか。
再起動する。
起動音がしたら、Shiftを押しっぱなしにする。
試してみたけど、修復できたかどうかのメッセージがないのでよくわからない。
コンソールを調べてみたけど、検証したかどうかもよくわからない。
仕方がないのでfsckを試してみる。
再起動する。
起動音がしたら、Command+Sを押しっぱなしにする。
/sbin/fsck -fy
The volume Macintosh HD appears to be OK.
と表示されるまで、fsckを何回も実行する。
(Macintosh HDの部分は環境によって違う。)
一発で表示された。
もしかしてさっきのSafe Bootで修復された?
このまま様子を見るか。
Appleのsiteに「fsck_hfs」があるのに今気づいた。(遅い!)
実行してみるべきかどうか悩んだが、とりあえず様子を見てみようと思う。
続きがないことを祈るが、もしかしたら続くのかもしれない。

Emacs移行経過(2008/04/03)

経過
okkez氏にプレフィックスキーの中断方法とコピーの方法を教えてもらった。
CとMの対称性から、もしやと思いC-wを調べるとやっぱりカットだった。
これで随分と作業が楽になった。
完全に覚えた完結キー
C-f forward-char
C-b backward-char
C-n next-line
C-p previous-line
C-a move-biginning-on-line
C-e move-end-of-line
C-d delete-char
C-i indent-for-tab-command
C-g keyboard-quit プレフィックスキーを中断する場合は2回
C-SPC   set-mark-command
C-x o   other-window
C-x C-c save-buffers-kill-emacs
C-g C-g プレフィックスキー(完結していないキー列)を中断
M-w kill-ring-save copyの事
C-w kill-region cutの事
C-y yank pasteの事
C-SPC C-SPC transient-mark-mode 範囲選択開始

覚えかけている完結キー
C-o open-line
C-m newline
C-k kill-line
C-x C-f find-file
C-x k   kill-buffer
C-x C-s save-buffer
C-h プレフィックスキーで始まるコマンドの一覧(プレフィックスキー入力後)
C-h k   describe-key
C-h f   describe-function
C-h v   describe-variable

覚えたい完結キー
M-f forward-word
M-b backward-word
M-< beginning-of-buffer(数引数対応)
M-> end-of-buffer
C-v scroll-up
M-v scroll-down
検索系全般
キーマクロ系

よく間違える完結キー
C-h MacOSXではDELと同様の為

保留中の完結キー
C-j newline-and-indent
C-x =   what-cursor-position
C-z iconify-or-deiconify-frame
C-q quoted-insert
M-r move-to-window-line
C-x C-n set-goal-column
C-u C-x C-n ???

完全に覚えたコマンド
なし

覚えかけているコマンド
set-variable

覚えたいコマンド
goto-char
goto-line

保留中のコマンド
なし

完全に覚えた変数
なし

覚えかけている変数
column-number-mode
tab-width

覚えたい変数
なし

保留中の変数
read-quoted-char-radix
目標
検索/置換全般とキーマクロみたいな特定の処理を繰り返す方法を覚えれば、他のエディタをほとんど併用しなくても良くなる。

2008年04月04日

DashboardのWidgetを常にデスクトップに表示する

以前どこかで、DashboardのWidgetを常にデスクトップに表示する方法を読んだ。
確か、F12でDashboardを表示して、Widgetを掴んだまま再度F12でデスクトップに引っ張りだせたはず。
そう思って試してみたけどできない。
で、調べてみた。
あ、設定が必要なのね。
開発モードを有効にするらしい。
開発モードON
defaults write com.apple.Dashboard devmode -boolean YES
Macを再起動するか、Dock諸共DashBoardを再起動する。
Dockの再起動
killall Dock
もとに戻したい場合は開発モードを無効に。
開発モードOFF
defaults write com.apple.Dashboard devmode -boolean NO
これでDashBoardの使い方ががらりと変わるはず。

2008年04月05日

プログラマという職業を家族に理解してもらう方法

IT系技術者の皆さん、自分の仕事を家族に理解してもらえていますか?
他の職種と比べて、システムエンジニア、特にプログラマという職業は理解して貰いにくいのではないでしょうか。
では、何故理解しにくいのでしょうか。
良く挙げられる理由として、プログラムというものが目に見えるものではないためイメージしにくい事、プログラマという職種は新しい職種でその仕事のイメージがあまり一般化していない事があります。
更に私は「家族の周辺にはIT系技術者が自分一人だけしかいない」事も起因しているのではと思っています。
どうすれば理解して貰えるのでしょうか。
家族に他の技術者を知ってもらうというのはどうでしょうか。
では、どのような方法が考えられるのでしょうか。
「家族を引き連れて皆で遊びにいく」、単純ですがこれが私が出した結論です。
こういう休日の使い方はいかがですか?
と言うわけで、広報です。
かなり堅い感じで書きましたが、やる事は非常にユルユルです。
勉強会なんかで知り合ったGeekと折角なんだから家族ぐるみで遊びに行きませんか?
家族同士でだべったり子供とじゃれたりしてみませんか?
主催を無茶ブリしたAWAWA氏のBlogはこちら

サイトウサン文字

※ 環境により正常に表示できない可能性があります。
アラビア文字の「لا」がサイトウサンに見えてしかたがない。
لاかわいいよلا
サイトウサン作者のBlogはこちら。

2008年04月06日

Macによるインターネット共有の方法

勉強会でよく行っているMacによるインターネット共有の方法を説明します。OSはLeoperdを使用します。
Windowsによるインターネット共有方法はid:iseebiによる以下の記事をご覧下さい。
今回は上流であるインターネット側にEthernet、下流の参加者側にAirMacを想定しています。(上流側をEMobileにしても構いませんし、上流がAirMacで下流がEthernetでも可能です。)ちなみにAirMacというのは、MacOSX上の無線LANのことを指します。海外ではAirPortという名称ですが、日本国内では商標の関係でAirMacとなっています。尚、設定には管理者権限が必要です。
無線LAN化のセキュリティ
会場のLANを無線化するために、セキュリティには十分注意しなくてはなりません。Macの位置付けはルータではなくハブと同等です。会場のLANに無線LANアクセスポイントを直接接続する事を想像すれば暗号なしの無線LAN化は問題外というのがご理解いただけると思います。最低でもWEPの40bitは設定して下さい。WPAやWPA2が利用できれば良いのですが、MacOSXのインターネット共有では暗号化はWEPしか使用できません。よって現状で設定できる暗号化方式はWEPの128bitになります。WEPなので高セキュリティとはいえません。それでも暗号化をしておけば、会場外より接続されて会場のネットワークに迷惑をかけることが「誰にでも」できる状態は避けられます。少なくとも暗号を解くために専用のツールを使用する等の専門的な知識が必要になります。暗号化は、会場を借りる側が当然やらなければならない事ではないでしょうか。尚、WEPの脆弱性に関しては以下のURLをご覧下さい。
インターネット共有を設定する
それではMacによるインターネット共有の設定方法を説明します。
「システム環境設定」の「共有」を開きます。
左下の南京錠のアイコンが閉じているのであればロックがかかっていますので、南京錠アイコンをクリックし管理者の「名前」と「パスワード」を入力し、ロックを解除して下さい。
ログインユーザに管理者権限がない場合
ログインユーザに管理者権限がない場合
ログインユーザに管理者権限がある場合
ログインユーザに管理者権限がある場合
ロックがかかっていない場合、左下の南京錠のアイコンは開いた状態になっています。
それでは、左にある一覧の中から「インターネット共有」を選択して下さい。この時、まだチェックを入れないで下さい。選択すると右側にインターネット共有の設定が表示されます。
「共有する接続経路」が上流になります。「Ethernet」を選択して下さい。
下流は「相手のコンピュータが使用するポート」です。「AirMac」にチェックを入れて下さい。次に「AirMacオプション...」をクリックします。
AirMac側の設定が表示されます。「ネットワーク名」を入力します。「チャンネル」は「自動」のままで構いません。「暗号化 (WEP を使用)」にチェックが入っている事を確認します。
「パスワード」の前に「WEP キーの長さ」を選択して下さい。これは「WEP キーの長さ」により必要なパスワードの長さが変わるためです。
選択した「WEP キーの長さ」にあわせて「パスワード」と「パスワードの確認」を入力します。「OK」を押してAirMacの設定を閉じます。
左の一覧内のインターネット共有にチェックを入れて下さい。
ダイアログが表示されますので「開始」を選択します。
これでインターネットの共有が開始されます。
これが実は一番大事かもしれませんが、勉強会が終了した後は必ず「インターネット共有」のチェックを外して下さい。これを怠ったままMacを他のネットワークに接続すると接続されたネットワークが無線LANで公開されてしまいます。WEPのまま長時間公開されるのは由々しき事態です。AirMacの状況をメニューバーに表示するようにしておくと、以下のようにアイコンで状態を確認できます。
インターネット共有中(下流がAirMacの場合)
インターネット共有中(下流がAirMacの場合)
AirMac : 入
AirMac : 入
AirMac : 切
AirMac : 切
Macによるインターネット共有をさっとではありますが説明してみました。勉強会等のイベントの役に立てばと思います。私が主催しているJavaScriptの勉強会、Kanasan.JSについては以下のURLをどうぞ。