Mac OS X 10.6 Snow Leopard インストールメモ

更新日:2010年11月24日(水)

Mac OS X 10.6 Snow Leopard を再インストールした時の個人的な手順を記述します。

メモなので自分がわかる程度の記述しかしてません。忘れている物は随時追加予定。

インストール

フォーマット

インストールは DVD からインストールしますが、この場合ハードディスクをフォーマットします。

フォーマットの形式は「Mac OS 拡張(大文字/小文字を区別、ジャーナリング)」を選択します。

自分の場合は大文字小文字を判別できないとまずいファイルを扱う機会が多いのでこうしています。

大文字小文字の区別は通常の人はしなくて良いと思います。また Adobe の Creative Suite アプリケーションおよび Acrobat は 大文字と小文字を区別するファイルシステムをサポートしていません ので Adobe 系のソフトを利用する方は大文字と小文字を区別しないのが良いでしょう。

アップデート

ソフトウェアアップデートをします。

ブラウザのプラグイン類のバージョンアップが必要な場合があります。特にFlash Playerのバージョンアップは必ず実施しておかないと最大のセキュリティホールになります。

http://get.adobe.com/jp/flashplayer/?Lang=Japanese

セキュリティ、ウィルスチェック

当然のようにルータの設定等をしっかりします。

セキュリティに関しては重要なファイルや本気で漏れるとまずいような情報は GnuPG 等で暗号化するのが良いでしょう。

FileVault

FileVault は ディスクシステムの暗号化機能ですが、設定していません。

そもそも「Mac OS 拡張(大文字/小文字を区別、ジャーナリング)」を選択すると有効にできません。

他の理由としては、Linux、Solaris等と連携し利用するときに暗号化が問題になったためです。

暗号化機能はセキュリティ向上には良いと思うのですがなかなか難しいです。

外部に持ち出す Mac と 家で利用する Mac は完全分離しています。持ち出しするMacはログインパスワードなどは強化してあります。

そもそも家は物理的なセキュリティ(セコムの警備システムや入室認証等)があり、絶対に漏れるとまずいような情報はネットワークに接続されていない Mac 内に保存してある等しているのでとりあえず問題ないでしょう。

ssh

鍵の作成をします。

ssh-keygen -t rsa
ssh-add

Mac の場合、これで ssh-agent が起動している状態ですので、初回 SSH キーを利用しての接続時にパスフレーズが聞かれ、キーを保存しておくと次回からは聞かれなくなります。

ウィルスチェック

無料でやる場合は ClamXavSophos Anti-Virus for Mac Home Edition をインストールするのが良いでしょう。

Sophos Anti-Virus for Mac Home Edition の方が便利です。

有料だと以下のいずれかが良いでしょう。

軽快さとかだと Kaspersky の方が良い気がします。

GnuPG

暗号化ソフト。 http://www.gnupg.org/

自分は Emacs 経由で利用しています。

環境設定

「システム環境設定」からの設定項目

Dock

  • 「サイズ」をやや小サイズに変更
  • 「しまうときのエフェクト」を「スケールエフェクト」に変更
  • 「Dockを自動的に隠す/表示」にチェック

Spotlight

  • 「検索結果」からフォントははずしている
  • 「Spotlightメニューのキーボードショートカット」を「Option + Space」に変更
  • 「プライバシー」にて検索条件から除外する場所を設定。不要な物を除外している

Spotlight をランチャがわりにも利用する。

ランチャとしては Quicksilver の方がおそらく機能が多いのだが使いこなせないので Spotlight で良いかと思う。

セキュリティ

  • 「一般」の「スリープした後、またはスクリーンセーバが開始した後、すぐにパスワードを要求」を設定
  • 「一般」の「自動ログインを使用不可にする」を設定
  • 「ファイアウォール」を「入」に設定

デスクトップとスクリーンセーバ

  • 「デスクトップ」で壁紙を変更
  • 「スクリーンセーバ」を変更し「時計と一緒に表示」をチェック

言語とテキスト

  • 「入力ソース」で「入力ソースのオプション」を「書類ごとに異なるものを使用」に設定

キーボードとマウス

  • 「キーボード」で速度関連を変更。手指に問題があるので細かい調整をしている。
  • 「キーボードショートカット」
    • 「Front Frow を隠す/表示する」をOFF
    • スクリーンショット関連頻繁に利用するので全部変更している
    • 「フルキーボードアクセス」を「すべてのコントロール」に変更

Bluetooth

現在の所 Bluetooth 機器を利用していないので「切」にしています。

共有

  • 「コンピュータ名」を変更
  • 「ローカルホスト名」を変更する場合は「編集...」を押して名前を入力

「ローカルホスト名」が shell 等で表示される名前になっている。

ユニバーサルアクセス

手指に問題があるのでいろいろ設定している。

  • 「聴覚」で「警告音がなる時に画面を点滅させる」をチェック
  • 「キーボード」で「複合キー」および「スローキー」の設定
  • 「マウス」で「マウスキー」を有効にする。Optionキーを5回押すことでマウスポインタを制御できる
  • 「カーソルのサイズ」を大きめにする

他にも自作ソフトとかでかなり指関連のことをやっている。

打鍵ミスがなくならないのは指だけの問題ではない。

Mac はこのあたりが昔から結構良くできていた。

Dashboard

開発者モードに設定する。

defaults write com.apple.dashboard devmode YES
killall Dock

F12 を押して、Widget をドラッグしながら再度 F12 を押すと Dashboard が終了しても Widget が表示されたままとなる。

自作の Dashboard 開発なんかでも必要なのでこのモードに設定している。

Widget は以下の物を主に利用

その他自作の物が2個ぐらい動作している。ゲームはほぼやらないのインストールされていない。

ユーティリティ

KeyRemap4MacBook

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)

Growl

Growl

以下のテーマを追加している。

http://www.komodomedia.com/download/#hud-growl-theme

MacPorts

Unixソフトウェアのインストールや管理。Fink に比較するとパッケージの品質がややよろしくない印象があるけど、メンテナンスがそれなりにされている。

http://www.macports.org/

/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

デフォルトでインストールされている物でも問題ありませんが、言語バインディング等を導入したい場合は自分でコンパイルするかパッケージをインストールする必要があります。

パッケージは以下で配布されています。

http://svnbinaries.open.collab.net/servlets/ProjectDocumentList?folderID=344&expandFolder=344&folderID=0

もしファイル名に日本語を利用し、かつ Windows ユーザと共同開発するならば、このバイナリだと不都合が発生します。MacPorts からインストールするのが良いでしょう。

sudo port -v install subversion +unicode_path

Git

以下からバイナリでインストールするのが楽です。

http://code.google.com/p/git-osx-installer/

Mercurial

Python で easy_install が利用できるなら。

easy_install -UZ mercurial

でインストールするのが一番楽でしょう。

以下のサイトから取得することも可能です。

http://mercurial.selenic.com/

Bazaar

以下からバイナリが取得できます。

http://bazaar.canonical.com/en/

インストール後メンテナンス

時々メンテナンスする。

「このアプリケーションで開く」にアプリが重複する場合

以下のコマンドで修復できる。ただし今までの設定を失なう可能性があります。

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: 公開

関連エントリ

Author: sakito Updated: 2010年11月24日(水) category: /mac Permalink: Permalink
このエントリーをはてなブックマークする はてなブックマーク数 このエントリーをdel.icio.usに登録する このエントリーを Tumblr する このエントリーに Twitter 経由でコメントする
以下はゲストコメント可能です。名前とメールアドレスは任意の物を入力していただいてかまいません。
blog comments powered by Disqus

このページの先頭へ

copyright (CC-by) 1999-2024 sakito
Powered by pyblosxom. Theme: TheBuckmaker.