Ubuntu 9.04 Jaunty Jackalopeの初期設定メモ。

最新バージョンでの初期設定内容はUbuntuにて掲載しています。

インストール時の設定

  1. [ネットワークの設定]
    1. [ネットワークを手動で設定]
      1. IPアドレス、ゲートウェイ、ホスト名、ドメイン名、DNSサーバ等を設定
  2. [ディスクのパーティショニング]
    1. [手動]
      1. /usr, /, /srvを別々のパーティションにマウント
      2. マウントオプションはrelatime
      3. ファイルシステムは/usrと/でext3、/srvでext4を使用
      4. スワップは念のため実メモリの2倍のサイズを用意
  3. [ユーザーとパスワードのセットアップ]
    1. 「ホームディレクトリを暗号化しますか?」→[しない]
  4. [ソフトウェアの選択とインストール]
    1. 「言語サポートをダウンロードしますか?」→[はい]

上記以外の設定はデフォルトのまま。

サービスの設定

常時起動するサービスの設定

[システム]メニュー→[システム管理]→[サービスの管理]

  1. 以下のサービスだけ起動する
    1. anacron
    2. cron
    3. alsa-utils
    4. apport
    5. gdm
    6. dbus
    7. hotkey-setup
    8. avahi-daemon
    9. rsync
    10. klogd
    11. sysklogd
    12. acpid
  2. 停止するサービス
    1. bluetooth
    2. atd
    3. cups
  3. 開始するサービス
    1. alsa-utils

自動起動するプログラムの設定

[システム]メニュー→[設定]→[自動起動するアプリ]

  1. 「自動起動するプログラム」から下記のもの以外を削除
    1. GNOME Login Sound
    2. GNOME キーリングのデーモン
    3. GNOME スプラッシュスクリーン
    4. GNOME 設定デーモン
    5. GNOME 設定デーモンのヘルパー
    6. Indicator applet
    7. Seahorse のデーモン
    8. アップデート通知
    9. ネットワーク・マネージャ
    10. 新しいハードウェアのドライバを確認する
    11. 電源の管理
  2. 停止するもの
    1. AT SPI レジストリのラッパー
    2. Bluetooth Manager
    3. Evolution Alarm Notifier
    4. ユーザ・フォルダの更新
    5. リモート・デスクトップ
    6. 印刷キューのアプレット
    7. 視覚支援

端末の設定

ランチャのgnome-terminalの起動オプションに引数を追加。

gnome-terminal --geometry=120x20

デフォルトのエディタをvimにする。

$ sudo update-alternatives --config editor

`editor' を提供する 3 個の alternatives があります。

  選択肢       alternative
-----------------------------------------------
          1    /usr/bin/vim.tiny
          2    /bin/ed
*+        3    /bin/nano

デフォルト[*] のままにするには Enter、さもなければ選択肢の番号のキーを押してください: 1
'editor' を提供するために '/usr/bin/vim.tiny' を使います。

以下の内容で~/.vimrc作成。

~/.vimrc
set encoding=utf-8
set fileencoding=utf-8
set fileencodings=utf-8,utf-16,japan

set backspace=2
set tabstop=2
set shiftwidth=4
set expandtab

highlight tabs ctermbg=green guibg=green

set list
set number
set ruler
set smartindent

~/.bashrcに以下追記。

~/.bashrc
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

PS1='\!> \u@\h [\t \w]\$ '
cd ~

ソフトウェアの削除・インストール

リポジトリの設定

medibuntuリポジトリを追加

sudo wget http://www.medibuntu.org/sources.list.d/jaunty.list --output-document=/etc/apt/sources.list.d/medibuntu.list
sudo apt-get update && sudo apt-get install medibuntu-keyring && sudo apt-get update

Synapticパッケージマネージャの設定

[システム]メニュー→[システム管理]→[Synaptic パッケージ・マネージャ]

  1. [設定]メニュー→[設定]
    1. [全般]タブ
      1. メインウィンドウ内でパッケージ情報を表示する
      2. 変更のを正常に適用できた場合に終了の確認をする
  2. [設定]メニュー→[リポジトリ]
    1. [Ubuntuのソフトウェア]タブ
      1. main, universe, restricted, multiverse
      2. 「CD-ROM/DVDからのインストール」しない
    2. [サードパーティのソフトウェア]タブ
      1. (Medibuntuが追加されていることを確認)
    3. [アップデート]タブ
      1. アップデートの確認 2日ごと
      2. インストールできるアップデートを通知のみする
    4. [統計情報]タブ
      1. 統計情報を提供する

ソフトウェアの削除・インストール

不要なソフトウェア、自分でビルド・インストールするソフトウェアの削除。

sudo apt-get remove --purge \
  apparmor apparmor-utils \
  bluetooth \
  bogofilter bogofilter-bdb bogofilter-common \
  brasero \
  cdparanoia \
  cups cupsddk cupsddk-drivers cups-bsd cups-client cups-common cups-driver-gutenprint hal-cups-utils \
  ekiga \
  espeak \
  evolution evolution-common evolution-data-server evolution-plugins evolution-webcal \
  example-content \
  foomatic-db foomatic-db-engine foomatic-filters foomatic-db-hpijs foo2zjs \
  gnome-cards-data gnome-games gnome-games-data gnome-mag gnome-orca gnome-pilot gnome-pilot-conduits gnome-pilot gnome-pilot-conduits gnome-spell \
  hpijs hplip hpijs-ppds hplip hplip-data hplip-dbg pxljr \
  libgoffice-0-6 libgoffice-0-6-common libgoffice-dbg \
  libgutenprint2 \
  min12xxw \
  ntfs-3g \
  rdesktop \
  rhythmbox rhythmbox-dbg \
  sound-juicer \
  speedcrunch \
  splix \
  strigi-client strigi-daemon \
  splix \
  system-config-printer-common system-config-printer-gnome \
  tomboy \
  toshset \
  tracker tracker-search-tool libdeskbar-tracker
sudo apt-get remove --purge 'bluez(-.*)?'
sudo apt-get remove --purge '^(lib)?beagle(-.*)?'
sudo apt-get remove --purge '^mono-' cli-common '^lib.+-cil$'
sudo apt-get remove --purge '^pidgin(-.*)?'

使用するソフトウェアのインストール。

sudo apt-get install \
  audacity \
  autoconf automake1.9 autotools-dev \
  bison \
  build-essential \
  cadaver \
  colordiff \
  dontzap \
  dnsmasq \
  epiphany-browser \
  gedit-plugins \
  gettext \
  git-core \
  gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly \
  highlight \
  icedax \
  libtool \
  lighttpd lighttpd-mod-magnet lighttpd-mod-webdav \
  logwatch \
  nasm \
  nautilus-open-terminal \
  ngrep \
  nkf \
  ntp \
  rsync \
  ruby1.8 libwww-mechanize-ruby1.8 libhpricot-ruby1.8 \
  samba samba-common smbfs \
  subversion subversion-tools \
  telnetd \
  tree \
  thunderbird thunderbird-gnome-support \
  w3c-dtd-xhtml \
  xinetd

サーバカーネル・ヘッダのインストール。

sudo apt-get install linux-server linux-headers-server

パッケージ情報の更新とアップデート。

sudo apt-get update && sudo apt-get dist-upgrade

その他のソフトウェアの削除

[システム]メニュー→[システム管理]→[不要パッケージの管理]

  1. 削除できる不要なソフトウェアを削除する

ローカルネットワーク用DNSサーバの設定

/etc/hostsに追記。

/etc/hosts
127.0.0.1	localhost

(ローカルネットワークのマシンを追加)

/etc/resolv.confに追記。

/etc/resolv.conf
nameserver 127.0.0.1

dnsmasqの設定を書き換える。

$ sudo cp dnsmasq.conf dnsmasq.conf.org
$ sudo vi dnsmasq.conf
$ diff dnsmasq.conf.org dnsmasq.conf
499c499,500
< #log-queries
---
> log-queries
> log-facility=/var/log/dnsmasq

$ sudo mv /etc/dnsmasq.conf* /etc/dnsmasq.d/
$ sudo chown dnsmasq:adm /var/log/dnsmasq
$ sudo /etc/init.d/dnsmasq restart

再起動

ここまででいったん再起動。 再起動後にps, pstree, topで必要なさそうなプロセスが動いてないかチェックする。

デスクトップ環境の設定

NTPサーバとの同期

[システム]メニュー→[システム管理]→[日付と時刻の設定]

  1. 設定を「インターネット上のサーバと同期させる」に変更
  2. 近くのNTPサーバを設定

キーボード設定のカスタマイズ

[システム]メニュー→[設定]→[キーボード]

  1. 適当にカスタマイズ

マウス設定のカスタマイズ

[システム]メニュー→[設定]→[マウス]

  1. 適当にカスタマイズ

スクリーンセーバー設定のカスタマイズ

[システム]メニュー→[設定]→[スクリーンセーバー]

  1. 適当にカスタマイズ

サウンドデバイスのテスト・効果音等のカスタマイズ

[システム]メニュー→[設定]→[サウンド]

  1. 各デバイスをテスト
    1. ミキシングが正常に動作することを確認
  2. サウンドの設定をカスタマイズ

パワーマネージメント設定のカスタマイズ

[システム]メニュー→[設定]→[電源の管理]

  1. [AC電源使用時]タブ
    1. 「システムをスリープする」→しない
    2. 「画面をスリープする」→しない
  2. [バッテリー使用時]タブ
    1. 「システムをスリープする」→しない
    2. 「画面をスリープする」→5分
  3. [全般]タブ
    1. 「電源ボタンを押したら」→「ダイアログを表示する」
    2. 「通知エリア」→「充電中または放電中の時だけアイコンを表示する」

SCIMのカスタマイズ

[システム]メニュー→[設定]→[SCIM入力メソッドの設定]

  1. [フロントエンド/全体設定]
    1. 「キーボード配列」→「日本語」に変更
    2. 「SCIM開始」→Zenkaku_Hankakuのみに変更
  2. [IMエンジン/Anthy]
    1. キーバインド
      1. 「キーバインドテーマ」→ATOKに変更

キーボードショートカットのカスタマイズ

[システム]メニュー→[設定]→[キーボードショートカット]

  1. [デスクトップ/Lock screen]→Ctrl+Alt+Deleteに変更 (Ctrl+Alt+Deleteを押したときログアウト画面ではなくスクリーンのロックが起動するようする)

デフォルトで使用するアプリケーションのカスタマイズ

[システム]メニュー→[設定]→[お気に入りのアプリ]

  1. [インターネット]タブ
    1. 「ウェブ・ブラウザ」→Firefoxに変更
    2. 「メール・クライアント」→Thunderbirdに変更
  2. [マルチメディア]タブ
    1. 「マルチメディア・プレイヤー」→Totemに変更
  3. [システム]タブ
    1. 「端末エミュレータ」
      1. その他に変更
      2. コマンド: gnome-terminal
      3. 起動オプション: --geometry=120x20

テーマ・壁紙・フォントのカスタマイズ

[システム]メニュー→[設定]→[外観の設定]

  1. [テーマ]タブ
    1. 適当にカスタマイズ
  2. [背景]タブ
    1. 適当にカスタマイズ
  3. [フォント]タブ
    1. フォントをSansからVL Pゴシック、MonospaceからVLゴシックに変更
    2. フォントサイズをカスタマイズ
    3. 描画の種類をカスタマイズ

Ctrl+Alt+BackspaceでXorgを再起動できるようにする

sudo dontzap --disable

マウントしたデバイスのアイコンを非表示にする

gconftool-2 -t bool --set /apps/nautilus/desktop/volumes_visible false

/home/の不要なディレクトリを削除する

「デスクトップ」を含めデフォルトで作成されるディレクトリの表記を英語にする。

LANG=C xdg-user-dirs-gtk-update

表示されるダイアログにしたがって変更すればOK。 ディレクトリを削除する前に、削除しても二度と作成させないようにする。

$ sudo vi /etc/xdg/user-dirs.conf
enabled=False # TrueからFalseに変更

Desktop, Pictures以外を削除する。

rmdir Documents/ Music/ Public/ Templates/ Videos/

グラフィックスドライバを有効にする

[システム]メニュー→[システム管理]→[ハードウェア・ドライバ]

  1. ドライバをインストールして有効にする

開発環境の設定

Ruby

Ruby 1.8とRuby 1.9をインストールする場合、リンクを張る。

sudo ln -s /usr/bin/ruby1.8 /usr/bin/ruby
ruby -v

lighttpd + WebDAVの設定

/etc/lighttpd/lighttpd.confを編集。

/etc/lighttpd/lighttpd.conf
server.modules = ( 
  "mod_access",
  "mod_alias",
  "mod_accesslog",
  "mod_indexfile",
  "mod_webdav",
)

server.username      = "www-data"
server.groupname     = "www-data"

server.document-root = "/srv/www/default"
server.pid-file      = "/var/run/lighttpd.pid"
server.tag           = "lighttpd"
server.errorlog      = "/var/log/lighttpd/error.log"
accesslog.filename   = "/var/log/lighttpd/access.log"

server.max-keep-alive-requests = 2
server.max-keep-alive-idle     = 4
server.max-fds                 = 2048
server.event-handler           = "linux-sysepoll"

$HTTP["remoteip"] !~ "(192.168.1.|127.0.0.1)" {
  url.access-deny = ("")
}

include_shell "/usr/share/lighttpd/create-mime.assign.pl"
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"

index-file.names = (
  "index.xhtml", "index.html",
)

server.dir-listing   = "enable"
dir-listing.encoding = "utf8"

$HTTP["url"] =~ "^/dav($|/)" {
  server.dir-listing = "enable"
  webdav.activate    = "enable"
  webdav.is-readonly = "disable"
}

ディレクトリを作成。

sudo mkdir -p /srv/www/
sudo chowm www-data:www-data /srv/www/
sudo -u www-data mkdir -p /srv/www/default/dav/

ログ出力ディレクトリのパーミッションを変更。

sudo chmod a+rx /var/log/lighttpd/

lighttpdを再起動

sudo /etc/init.d/lighttpd restart

xinetdを使用するサーバのアクセス制御設定

/etc/hosts.deny
ALL: PARANOID
/etc/hosts.allow
in.telnetd : 127.0.0.1 192.168.1.0/24
svnserve : 127.0.0.1 192.168.1.0/24
rsync : 127.0.0.1 192.168.1.0/24

telnetdの設定

/etc/xinetd.d/telnetを作成。

/etc/xinetd.d/telnet
service telnet
{
        disable         = no
        flags           = REUSE
        socket_type     = stream
        user            = telnetd
        wait            = no
        server          = /usr/sbin/in.telnetd
        server_args     = -h
        only_from       = 192.168.1.0/24 127.0.0.1
        log_on_failure  += USERID
}

svnserveの設定

/etc/xinetd.d/svnを作成。

/etc/xinetd.d/svn
service svn
{
        disable         = no
        socket_type     = stream
        user            = svn
        wait            = no
        server          = /usr/bin/svnserve
        server_args     = -i -r /srv/repos/svn
        only_from       = 192.168.1.0/24 127.0.0.1
        log_on_failure  += USERID
}

ユーザを追加。

sudo useradd -s /bin/false svn

ディレクトリを作成。

sudo mkdir -p /srv/repos/svn
sudo chown svn:svn /srv/repos/svn/

rsyncdの設定

/etc/xinetd.d/rsyncを作成。

/etc/xinetd.d/rsync
service rsync
{
        disable         = no
        socket_type     = stream
        user            = root
        wait            = no
        server          = /usr/bin/rsync
        server_args     = --daemon --config=/etc/rsyncd.conf
        only_from       = 192.168.1.0/24 127.0.0.1
        log_on_failure  += USERID
}

/etc/rsyncd.confを作成。

/etc/rsyncd.conf
hosts allow = 192.168.1.0/24 127.0.0.1
hosts deny = *
use chroot = yes
max connections = 1

[rsync]
  comment = rsync root
  path = /srv/rsync
  uid = nobody
  gid = nogroup
  read only = yes

ディレクトリを作成。

sudo mkdir -p /srv/rsync
sudo chown nobody:nogroup /srv/rsync

root宛てメールの送信先の変更

/etc/aliasに追記。

/etc/alias
# Added by installer for initial user
root: root@example.com

aliasを更新。

sudo newalias

Subversionクライアントの設定

~/.subversion/configのテンプレートを作成する。

svn help

~/.subversion/configを編集。

~/.subversion/config
[auth]
# 認証情報を保存しない (毎回ユーザ名とパスワードを入力する)
store-passwords = no
store-auth-creds = no

[helpers]
# editor-cmd = editor (vi, emacs, notepad, etc.)
# diff-cmd = diff_program (diff, gdiff, etc.)
# diff3-cmd = diff3_program (diff3, gdiff3, etc.)
# diff3-has-program-arg = [true | false]

# diffの代わりにcolordiffを使う
diff-cmd = colordiff

[tunnels]
# ssh = $SVN_SSH ssh
# rsh = rsh
# rsh = /path/to/rsh -l myusername

[miscellany]
# log-encoding = latin1
# use-commit-times = yes
# no-unlock = yes
enable-auto-props = yes
global-ignores = *.o *.lo *.obj *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store *.suo *.pidb *.mdb *.userprefs *.usertasks

[auto-props]
(省略)

~/.colordiffrcをコピーする。

cp /etc/colordiffrc ~/.colordiffrc

~/.colordiffrcを編集。

~/.colordiffrc
banner=no
color_patches=no

plain=off
newtext=yellow
oldtext=blue
diffstuff=green
cvsstuff=red

ソフトウェアのビルド・インストール