Mac OS X 10.5 Leopard を再インストールする場合の個人的な手順を記述します。
メモなので自分がわかる程度の記述しかしてません。忘れている物は随時追加予定。
目次
インストール
フォーマット
インストールは DVD からインストールするが、この場合ハードディスクをフォーマットする。
フォーマットの形式は「Mac OS 拡張(大文字/小文字を区別、ジャーナリング)」を選択している。
大文字小文字の区別は通常の人はしなくて良いと思うが、判別できないとまずいファイルを扱うので仕方ない。
セキュリティ、ウィルスチェック
当然のようにルータの設定等をしっかりしている。
セキュリティに関しては重要なファイルや本気で漏れるとまずいような情報は GnuPG 等で暗号化している。
FileVault
FileVault は ディスクシステムの暗号化機能ですが、設定していません。
そもそも「Mac OS 拡張(大文字/小文字を区別、ジャーナリング)」を選択すると有効にできない。
他の理由としては、Linux、Solaris等と連携し利用するときに暗号化が問題になったためです。
暗号化機能はセキュリティ向上には良いと思うのですがなかなか難しいです。
外部に持ち出す Mac と 家で利用する Mac は完全分離しています。持ちだしするMacはログインパスワードなどは強化してあります。
そもそも家は物理的なセキュリティ(セコムの警備システムや入室認証等)があり、絶対に漏れるとまずいような情報はネットワークに接続されていない Mac 内に保存してある等しているのでとりあえず問題ないでしょう。
ssh
鍵の作成を実施しておく。
環境設定
「システム環境設定」からの設定項目
Dock
- 「しまうときのエフェクト」をスケールエフェクトに変更
- 「Dockを自動的に隠す/表示」にチェック
Spotlight
- 「検索結果」からフォントははずしている
- 「Spotlightメニューのキーボードショートカット」を「Option + Space」に変更
- 「プライバシー」にて検索条件から除外する場所を設定。不要な物を除外している
Spotlight をランチャがわりにも利用する。
ランチャとしては Quicksilver の方がおそらく機能が多いのだが使いこなせないので Spotlight で良いかと思う。
デスクトップとスクリーンセーバ
- 「デスクトップ」で壁紙を変更
- 「スクリーンセーバ」を変更し「時計と一緒に表示」をチェック
キーボードとマウス
- 「キーボード」で速度関連を変更。手指に問題があるので細かい調整をしている。
- 「キーボードショトカット」
- 「Front Frow を隠す/表示する」をOFF
- スクリーンショット関連頻繁に利用するので全部変更している
- 「フルキーボードアクセス」を「すべてのコントロール」に変更
ユニバーサルアクセス
手指に問題があるのでいろいろ設定している。
- 「聴覚」で「警告音がなる時に画面を点滅させる」をチェック
- 「キーボード」で「複合キー」および「スローキー」の設定
- 「マウス」で「マウスキー」を有効にする。Optionキーを5回押すことでマウスポインタを制御できる
- 「カーソルのサイズ」を大きめにする
他にも自作ソフトとかでかなり指関連のことをやっている。
打鍵ミスがなくならないのは指だけの問題ではない。
Mac はこのあたりが昔から結構良くできていた。
Dashboard
開発者モードに設定する。
defaults write com.apple.dashboard devmode YES
killall Dock
F12 を押して、Widget をドラッグしながら再度 F12 を押すと Dashboard が終了しても Widget が表示されたままとなる。
自作の Dashboard 開発なんかでも必要なのでこのモードに設定している。
Widgetは以下の物を主に利用
- 世界時計(標準搭載)
- iCal(標準搭載)
- iStat pro http://islayer.com/apps/istatpro/
- Remember the Milk Widget http://www.people.cornell.edu/pages/yi38/rtm/
その他自作の物が2個ぐらい動作している。ゲームはほぼやらないのインストールされていない。
日本語入力
- AquaSKK http://aquaskk.sourceforge.jp/
Web ブラウザ
- Firefox http://mozilla.jp/firefox/
ユーティリティ
- The Unarchiver http://code.google.com/p/theunarchiver/
- KeyRemap4MacBook http://www.pqrs.org/tekezo/macosx/keyremap4macbook/index.html.ja
- Cyberduck http://cyberduck.ch/
- OnMyCommand http://free.abracode.com/cmworkshop/on_my_command.html
Growl は現在利用してない。また使うかもしれない。
動画関連
- Nice Player http://code.google.com/p/niceplayer/
- Perian http://perian.org/
- Flip4Mac http://www.microsoft.com/windows/windowsmedia/player/wmcomponents.mspx
- XiphQT http://xiph.org/quicktime/
fink
Unixソフトウェアのインストールや管理。最近は MacPorts を利用している人の方が多いのかもしれない。
http://www.finkproject.org/download/index.php?phpLang=ja
設定ファイルを修正します。
sudo vi /sw/etc/fink.conf
設定ファイルは Trees の所に unstable を追加しています。
Trees: local/main stable/main stable/crypto unstable/main
またバージョンアップを実施しておきます。
sudo fink selfupdate
sudo fink selfupdate-rsync
Apache
CGIはデフォルトでは有効ではないので設定しておく。
sudo vi /etc/apache2/users/ユーザ名.conf
内容を以下に変更します。AddHandler、Options、AllowOverrideが変更点です。
<Directory "/Users/ユーザ名/Sites/">
AddHandler cgi-script cgi
Options Indexes MultiViews ExecCGI FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
screen
screen を利用しないとターミナル作業が快適でないのでインストールします。
Leopard には screen がインストールされていますが、これには問題があるので fink から別途インストールします。
sudo fink install screen
.screenrc の内容は以下な感じ。
escape ^z^z
startup_message off
defutf8 on
defscrollback 10000
hardstatus alwayslastline "%{= rw} %H %{= wk}%-Lw%{= bw}%n%f* %t%{= wk}%+Lw %{= wk}%=%{= gk} %y/%m/%d %c "
markkeys h=^B:l=^F:$=^E:^U=^T:^D=^V
bind -c REGION 2 split
bind -c REGION 1 only
bind -c REGION 0 remove
bind -c REGION o focus
bind x command -c REGION
bind -c ENCODIG U eval "encoding utf8" "stuff 'export LANG=ja_JP.UTF-8\012'"
bind -c ENCODIG E eval "encoding euc" "stuff 'export LANG=ja_JP.EUC-JP\012'"
bind e command -c ENCODIG
- 「コントロールキー + z」を キープレフィックスに変更している
- startup_message を off にして起動時メッセージを抑止
- defutf8 で文字コードをUTF-8に設定。ちなみに「C-z i」で現在の文字コードが確認できる。
- hardstatus でステータスラインに出力する文字を設定
- 「C-z [」のコピーモードでのキーをmarkkeysでEmacsぽく再定義。
- h=^B: Ctrl+B で一文字後ろ
- l=^F: Ctrl+F で一文字前
- $=^E: Ctrl+E で行末
- ^U=^T: Ctrl+T で上スクロール
- ^D=^V: Ctrl+V で下スクロール
- 「bind -c REGION」でEmacsっぽいウィンドウ分割を実現。「C-z x 2」と打つと画面が上下分割される
- 「bind -c ENCODIG」で表示文字コードを変更。「C-z e E」と打つと「EUC-JP」になる。EUCの接続先とか結構利用するので便利
- ログ機能は現在利用してない
- .screenr の再読み込みは「C-z :」と打ち「source $HOME/.screenrc」するとリロードする。
補足:デフォルトでインストールされている screen では内部で通信が必要な物が動作しないようだ。
例えば以下のようなエラーメッセージがでて動作しない。
Returning nil _server
コマンドライン起動したソフトで AquaSKK で文字入力しようとすると以下のようなエラーがでる。
Timed out. AquaSKKServer.app didn't get online.
terminate called after throwing an instance of 'exception_CFMessagePortCreateRemote'
what(): AquaSKK: CFMessagePortCreateRemote() failed
pbcopy/pbpaste も内部通信が必要なので動作しないし、git のGUIフロントエンドも git と通信するので動作しない。
Zsh
shell は Zsh を利用します。 Leopard にインストールされている Zsh でなくて fink からインストールした物を利用しています。
sudo fink install zsh-multibyte
.zshrcは以下のような設定。古い設定が残っているかも。
# 基本設定
WORDCHARS="*?_-.[]~=&;\!#$%^(){}<>"
HISTSIZE=4096
HISTFILE=${HOME}/var/zsh/zsh_history
SAVEHIST=4096
umask 022
# 文字コード
export LC_ALL="ja_JP.UTF-8"
# fink
source /sw/bin/init.sh
# 環境変数
export MANPATH=/usr/bin/man:/usr/local/man:/usr/share/man:/sw/man
export MANPAGER=/usr/bin/less
export MANWIDTH=80
export HGENCODING=utf-8
# 再起動しても screen を保持(chmod 700すること)
export SCREENDIR=${HOME}/var/screen
# スクリプトとして起動された場合、ここでプロセスが終了する。
[ $#PROMPT -eq 0 -o $#TERM -eq 0 ] && return
# カラー記述を簡略化(設定すると色設定で32mみたいな記号を利用する必要はない)
autoload -Uz colors; colors
# プロンプトの設定
PROMPT="%{$fg[green]%}%n@%m%{$fg[red]%}${WINDOW:+[$WINDOW]}%{$fg[white]%}%#%{$reset_color%} "
precmd() { RPROMPT="[$PWD]" }
# 補完の利用設定
autoload -Uz compinit; compinit
# sudo でも補完の対象
zstyle ':completion:*:sudo:*' command-path /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin
# alias
alias ls='ls -vFG'
alias ll='ls -ltrh'
alias la='ls -a'
alias h='history 20'
alias more='less'
alias rm='rm -i'
#alias which='type -path'
alias rehash='hash -r'
#alias rmdir='rm -rf'
alias s=source
alias x=start
alias j=jobs
alias reload="source ~/.zshrc"
# キーバインド
bindkey -e
bindkey '^/' undo
bindkey '^g' undo
bindkey '^q' push-line
bindkey '^w' kill-region
bindkey '^i' expand-or-complete
bindkey '^d' delete-char-or-list
bindkey '^j' reverse-menu-complete
bindkey '^n' history-search-forward
bindkey '^p' history-search-backward
bindkey '^r' copy-prev-word
bindkey ' ' magic-space
# 設定
# 無駄なスクロールを避ける
setopt always_last_prompt
# ヒストリファイルに追加
setopt append_history
# 自動的に候補一覧を表示
setopt auto_list
# 自動的に補完候補を表示する
setopt auto_menu
# "~$var" でディレクトリにアクセス
#setopt auto_name_dirs
# 変数名に対して無駄なスペースの削除やカッコの補完をする
setopt auto_param_keys
# cdのタイミングで自動的にpushd
setopt auto_pushd
# 無駄な末尾の / を削除する
setopt auto_remove_slash
# csh スタイルのヒストリ置換
setopt bang_hist
# {a-za-z} をブレース展開
setopt brace_ccl
# 先頭に "~" を付けたもので展開
setopt cdable_vars
# 語の途中でもカーソル位置で補完
setopt complete_in_word
# 補完動作の解釈前にエイリアス展開
setopt complete_aliases
# "#", "~", "^" を正規表現として扱う
setopt extended_glob
# 履歴ファイルに開始/終了タイムスタンプを書き込み
setopt extended_history
# ヒストリ置換を実行前に表示
#setopt hist_verify
# "*" にドットファイルをマッチ
#setopt glob_dots
# 直前のヒストリと全く同じときヒストリに追加しない
setopt hist_ignore_dups
# 先頭がスペースで始まるときスペースを無視
setopt hist_ignore_space
# ファイル種別を表す記号を末尾に表示
setopt list_types
# "val=expr" のような = 以降でファイル名展開
setopt magic_equal_subst
# 一覧表示せずに、すぐに最初の候補を補完
#setopt menu_complete
# 複数のリダイレクトやパイプに対応
setopt multios
# ファイル名を数値的にソート
setopt numeric_glob_sort
# リダイレクトで上書き禁止
setopt noclobber
# ベルを鳴らさない
#setopt no_beep
# シェル終了時にジョブをチェックしない
#setopt no_check_jobs
# C-s/C-q によるフロー制御をしない
setopt no_flow_control
# 走行中のジョブにシグナルを送らない
setopt no_hup
# 補完の時にベルを鳴らさない
setopt no_list_beep
# ジョブの状態をただちに知らせる
setopt notify
# プロンプト内で変数展開
setopt prompt_subst
# 重複するディレクトリを無視
setopt pushd_ignore_dups
# "rm * " を実行する前に確認
setopt rm_star_silent
# 行末の "` (バッククウォート)" を無視
setopt sun_keyboard_hack
# 変数内の文字列分解のデリミタ
setopt sh_word_split
# ">" を ">!" としてヒストリ保存
setopt histallowclobber
# 8ビットクリーン表示
setopt print_eight_bit
# 無視設定
fignore=(.o .dvi .aux .log .toc - \~)
プログラム言語
Python プログラムする割合が高いが他の言語も重要な場面で利用する。
- Gauche http://practical-scheme.net/gauche/index-j.html
- The Glasgow Haskell Compiler http://www.haskell.org/ghc/
- Clozure CL http://trac.clozure.com/openmcl
- Rhino http://www.mozilla.org/rhino/
インストール後メンテナンス
時々メンテナンスする。
「このアプリケーションで開く」にアプリが重複する場合
以下のコマンドで修復できる。ただし今までの設定を失なう可能性があります。
cd /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/
lsregister -kill -r -domain local -domain system -domain user
修正履歴
- 2009/10/17:zsh設定ファイルを修正
- 2009/07/11:公開
以下はゲストコメント可能です。名前とメールアドレスは任意の物を入力していただいてかまいません。 blog comments powered by Disqus