Mac OS X 10.6 Snow Leopard を再インストールした時の個人的な手順を記述します。
メモなので自分がわかる程度の記述しかしてません。忘れている物は随時追加予定。
目次
インストール
フォーマット
インストールは DVD からインストールしますが、この場合ハードディスクをフォーマットします。
フォーマットの形式は「Mac OS 拡張(大文字/小文字を区別、ジャーナリング)」を選択します。
自分の場合は大文字小文字を判別できないとまずいファイルを扱う機会が多いのでこうしています。
大文字小文字の区別は通常の人はしなくて良いと思います。また Adobe の Creative Suite アプリケーションおよび Acrobat は 大文字と小文字を区別するファイルシステムをサポートしていません ので Adobe 系のソフトを利用する方は大文字と小文字を区別しないのが良いでしょう。
アップデート
ソフトウェアアップデートをします。
ブラウザのプラグイン類のバージョンアップが必要な場合があります。特にFlash Playerのバージョンアップは必ず実施しておかないと最大のセキュリティホールになります。
セキュリティ、ウィルスチェック
当然のようにルータの設定等をしっかりします。
セキュリティに関しては重要なファイルや本気で漏れるとまずいような情報は GnuPG 等で暗号化するのが良いでしょう。
FileVault
FileVault は ディスクシステムの暗号化機能ですが、設定していません。
そもそも「Mac OS 拡張(大文字/小文字を区別、ジャーナリング)」を選択すると有効にできません。
他の理由としては、Linux、Solaris等と連携し利用するときに暗号化が問題になったためです。
暗号化機能はセキュリティ向上には良いと思うのですがなかなか難しいです。
外部に持ち出す Mac と 家で利用する Mac は完全分離しています。持ち出しするMacはログインパスワードなどは強化してあります。
そもそも家は物理的なセキュリティ(セコムの警備システムや入室認証等)があり、絶対に漏れるとまずいような情報はネットワークに接続されていない Mac 内に保存してある等しているのでとりあえず問題ないでしょう。
ssh
鍵の作成をします。
ssh-keygen -t rsa
ssh-add
Mac の場合、これで ssh-agent が起動している状態ですので、初回 SSH キーを利用しての接続時にパスフレーズが聞かれ、キーを保存しておくと次回からは聞かれなくなります。
ウィルスチェック
無料でやる場合は ClamXav か Sophos Anti-Virus for Mac Home Edition をインストールするのが良いでしょう。
Sophos Anti-Virus for Mac Home Edition の方が便利です。
有料だと以下のいずれかが良いでしょう。
- 作者:
- 出版社/メーカー:
- 価格:
- Amazon.co.jp(AA)
- 作者:
- 出版社/メーカー:
- 価格:
- Amazon.co.jp(AA)
軽快さとかだと Kaspersky の方が良い気がします。
環境設定
「システム環境設定」からの設定項目
Dock
- 「サイズ」をやや小サイズに変更
- 「しまうときのエフェクト」を「スケールエフェクト」に変更
- 「Dockを自動的に隠す/表示」にチェック
Spotlight
- 「検索結果」からフォントははずしている
- 「Spotlightメニューのキーボードショートカット」を「Option + Space」に変更
- 「プライバシー」にて検索条件から除外する場所を設定。不要な物を除外している
Spotlight をランチャがわりにも利用する。
ランチャとしては Quicksilver の方がおそらく機能が多いのだが使いこなせないので Spotlight で良いかと思う。
セキュリティ
- 「一般」の「スリープした後、またはスクリーンセーバが開始した後、すぐにパスワードを要求」を設定
- 「一般」の「自動ログインを使用不可にする」を設定
- 「ファイアウォール」を「入」に設定
デスクトップとスクリーンセーバ
- 「デスクトップ」で壁紙を変更
- 「スクリーンセーバ」を変更し「時計と一緒に表示」をチェック
言語とテキスト
- 「入力ソース」で「入力ソースのオプション」を「書類ごとに異なるものを使用」に設定
キーボードとマウス
- 「キーボード」で速度関連を変更。手指に問題があるので細かい調整をしている。
- 「キーボードショートカット」
- 「Front Frow を隠す/表示する」をOFF
- スクリーンショット関連頻繁に利用するので全部変更している
- 「フルキーボードアクセス」を「すべてのコントロール」に変更
Bluetooth
現在の所 Bluetooth 機器を利用していないので「切」にしています。
ユニバーサルアクセス
手指に問題があるのでいろいろ設定している。
- 「聴覚」で「警告音がなる時に画面を点滅させる」をチェック
- 「キーボード」で「複合キー」および「スローキー」の設定
- 「マウス」で「マウスキー」を有効にする。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個ぐらい動作している。ゲームはほぼやらないのインストールされていない。
ユーティリティ
KeyRemap4MacBook
- Space to Shift_L (+ When you type Space only,send Space)(Disable on Adobe Softwares)
- Control+M to Return
- Enable HHK compatible Arrow Key Mode
- EISUU to Control_L(+ When you type Shift+EISUU only, send Escape) (+ When you type EISUU only, send EISUU)
- KANA to Control_L(+ When you type KANA only, send KANA)
動画関連
MacPorts
Unixソフトウェアのインストールや管理。Fink に比較するとパッケージの品質がややよろしくない印象があるけど、メンテナンスがそれなりにされている。
/opt/local/bin
に PATH を通しておきましょう。
バージョンアップを実施しておきます。
sudo port -v selfupdate
いろいろインストールしておきます。
port install zsh-devel +mp_completion +pcre
port install gawk gsed lftp findutils lisp-hyperspec libxml2 libxslt scala28 smlnj screen w3m
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 がインストールされていますが、これには問題があるので MacPorts から別途インストールしておきます。
.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の接続先とか結構利用するので便利
- ログ機能は現在利用してない
- .screenrc の再読み込みは「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 でなくて MacPorts からインストールした物を利用しています。
.zshrcは以下のような設定。古い設定が残っているかも。
# 基本設定
WORDCHARS="*?_-.[]~=&;\!#$%^(){}<>"
HISTSIZE=4096
HISTFILE=${HOME}/var/zsh/zsh_history
SAVEHIST=4096
umask 022
# 文字コード
export LC_ALL="ja_JP.UTF-8"
# 環境変数
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 プログラムする割合が高いが他の言語も重要な場面で利用する。
以下は MacPors からインストールすることもできるが、自分は dmg 等からインストールしている場合が多い。
バージョン管理ツール
ソフト開発でバージョン管理は必須です。様々なバージョン管理ツールが必要になる場合があります。
Subversion
デフォルトでインストールされている物でも問題ありませんが、言語バインディング等を導入したい場合は自分でコンパイルするかパッケージをインストールする必要があります。
パッケージは以下で配布されています。
もしファイル名に日本語を利用し、かつ Windows ユーザと共同開発するならば、このバイナリだと不都合が発生します。MacPorts からインストールするのが良いでしょう。
sudo port -v install subversion +unicode_path
Mercurial
Python で easy_install が利用できるなら。
easy_install -UZ mercurial
でインストールするのが一番楽でしょう。
以下のサイトから取得することも可能です。
インストール後メンテナンス
時々メンテナンスする。
「このアプリケーションで開く」にアプリが重複する場合
以下のコマンドで修復できる。ただし今までの設定を失なう可能性があります。
cd /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/
lsregister -kill -r -domain local -domain system -domain user
修正履歴
- 2010-11-24: フォーマットにおいて Adobe 系ツールに関しての記述を追加
- 2010-11-16: バージョン管理ツールに関する記述を追加
- 2010/11/14: 公開
以下はゲストコメント可能です。名前とメールアドレスは任意の物を入力していただいてかまいません。 blog comments powered by Disqus