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

更新日:2009年10月17日()

Mac OS X 10.5 Leopard を再インストールする場合の個人的な手順を記述します。

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

インストール

フォーマット

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

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

大文字小文字の区別は通常の人はしなくて良いと思うが、判別できないとまずいファイルを扱うので仕方ない。

アップデート

ソフトウェアアップデートは当然適用する。

ブラウザのプラグイン類のバージョンアップが必要な場合がある。特にFlash Playerのバージョンアップは実施しておく方が良い。

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

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

当然のようにルータの設定等をしっかりしている。

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

FileVault

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

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

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

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

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

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

ssh

鍵の作成を実施しておく。

ウィルスチェック

ClamXav http://www.clamxav.com/ をインストールしている。

ClamXav Sentry を設定してダウンロードフォルダ等の監視を実施。

環境設定

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

Dock

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

Spotlight

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

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

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

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

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

キーボードとマウス

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

共有

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

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

ユニバーサルアクセス

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

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

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

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

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

Dashboard

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

defaults write com.apple.dashboard devmode YES
killall Dock

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

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

Widgetは以下の物を主に利用

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

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 プログラムする割合が高いが他の言語も重要な場面で利用する。

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

時々メンテナンスする。

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

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

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

関連エントリ

Author: sakito Updated: 2009年10月17日() 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.