home

Debian入門

Debian を手っ取 り早くネットワークインストールして使ってみるための簡単なメモです。

2009/11 更新

・ 用意するもの

  • Debianを入れるPC 普通のディスク、普通のNIC、普通のFDD または CD-ROM 付き
  • フロッピー数枚 または CD-R一枚
  • ネットワーク
  • フロッピーを作成するためのWindowsマシン

・ ダウンロード

2009年2月、Debian Projectは Debian 5 lenny をリリースし、これが 新しい stable となりました。現在のリリース名は、前stableは etch、 現stable は lenny、 testing は squeeze、unstable は sid です。 ここでは少し古いバージョンになりますが sarge/etch のインストール経験をベースにネットワークインストール手順を 説明します。ちなみにstable版を使っていて、新stableリリース時にすぐに アップグレードしたくない場合は、とりあえず/etc/apt/sources.listで 前版のリリース名を指定することで、更新を保留することができます。

まず、

から

  • root.img ... rootディスクイメージ
  • boot.img ... bootディスクイメージ
  • net-drivers.img ... ドライバディスクイメージ

をダウンロードします。

Windowsでダウンロードした場合、FD作成ツール rawrite2 もダウンロードします。

から、rawrite2.zip をダウンロードして展開します。

rawrite2.exeを、パスの通ったディレクトリか、イメージファイルを ダウンロードしたフォルダにコピーしておき、DOS プロンプトでそのフォルダに 移動して rawrite2 を実行します。イメージ名やドライブ名を聞いてきますので 適宜入れて、root と boot などのフロッピーを作ります。net-drivers.img は rawrite2.exe上では net-dr~1.img になります。

Linuxなどでダウンロードした場合は dd を使って

  • dd if=filename of=/dev/fd0 bs=1024 conv=sync ; sync

などとしてフロッピーを作成します。ここで必要なのはインストーラが パッケージを読み込む際に使用するデバイスのドライバです。すでにかなり 普及しているデバイスの場合は root と boot だけあればインストールは できるでしょう。

sarge にはネットワークインストール用のmini cd iso image があります。これを使う場合、

から mini.iso をダウンロードします。サイズは8.2MBです。この イメージからCDを作成し、CD-ROMドライブに入れて起動します。

・ インストーラ起動

Debian を入れる PC に boot フロッピーまたは CD を入れてブートします。 ブートに成功すると、起動画面に続きブートが始まり、フロッピーの場合は rootフロッピー入れろと言ってくるので入れます。次にドライバーをフロッピー から読み込むか聞いてきます。ある程度普及しているネットワークカードを 使っていれば、読み込まなくても大丈夫ですが、動かない場合は適宜先ほど 作成したフロッピーを入れます。CDの場合はそのまま設定画面に移ります。

・ 設定

言語、キーボード、ネットワーク設定、ネットワークインストール用の ファイルの取得先などを指定していきます。ここの言語で日本語を選ぶと、 インストーラと、システムの言語が日本語になります。

次にメニューに従ってパーティションを切ります。woodyのcfdiskに比べる とsargeのパーティションメニューは直感的に操作できるようになっています。 パーティションを完了して書き込むと、Debianベースシステムのインストール が始まり、MBRにローダーを書き込みます。その後再起動します。

・ ベースシステムの設定

タイムゾーン設定、ユーザアカウントの作成、ホスト名の決定、 パッケージの取得方法である aptの設定について、適宜質問に答えて設定します。 次にパッケージのインストールをします。

・ パッケージのインストール

woodyのtaskselかdselectを使うパッケージ選択方法が、sargeではtasksel かaptitudeを使った選択方法に変わっています。taskselとはいくつかの選択 肢からユーザが好みのコースを選び、パッケージを自動選択するものです。 「手動でパッケージを選択」を選ぶとパッケージ選択ツール aptitude が 起動しますので適宜パッケージを選択します。この選択はあとでも変更できるので、 よく分からなければコース選択か、手動にして初期状態のままで選択終了し、 次に進んでも大丈夫です。

選択終了すると、aptがパッケージをネットワークから取得し、 インストールしていきます。 パッケージによっては個別の質問事項がでますので適宜答えていきます。

パッケージのインストールが完了したら、メールサーバの設定をします。 パッケージ選択でデフォルトの exim を選んでいる場合は exim の設定画面 になります。メールサーバの設定が完了した時点で、ベースシステムの設定は 完了です。

・ 運用

apt

apt の設定は /etc/apt/ にあります。souces.list を編集することで、 パッケージの種類、取得先を設定できます。2009/7 時点で etch を使う 場合のもっとも標準的な設定は、

  • deb ftp://ftp.jp.debian.org/debian/ etch main contrib non-free
  • deb http://security.debian.org/ etch/updates main contrib non-free

です。etchではなく現在の stable を使う場合は etch を stableに 置換してください。

sources.list の最後の一行は Debian セキュリティ勧告が出たときに すばやく対策をダウンロードするための記述です。apache や ssh など影響の 大きいものは、それぞれの団体から報告とパッチが出ると1〜2日以内にパッチを 取り込んだパッケージを配布しているようです。

dselect

dselect はDebianのパッケージメンテナンスのための最も古くからある ツールです。dselect はメニューがあり、これを順番に実行していく構成に なっています。

dselect

とコマンドを入力して起動します。

メッセージが出て来たときの画面の切替えは Enterです。カーソルで上下 移動、emacsキーバインドも使えます。決定は Enter、検索は / です。 次候補へ移動は \ です。

左にステータスがでてます。* が入マークです。_ は無マークです。EIOM とありますがMのところだけ見とけばいいでしょう。いらないものが*になって いれば_を押して消し、いるものが _ になってたら + を押して追加です。

postfixを入れてみましょう。/ posftfix で検索します。デフォルトは_です。 + を押します。

一緒に入れておいたほうがいいプログラムがある、というメッセージ画面 が出てきます。Enter を押して画面を変えましょう。推奨リストが出てきます。 postfix以外にも、いくつかのプログラムが * になってインストールする状態 になります。_ になって削除予定になるものもあります。

postfix を入れるときに追加する、あるいは削除するパッケージを選んで、 提示してくれているのです。exim が削除予定になりました。exim は postfix と同種のプログラムで二つはいらないからです。

この推奨はたいがいの場合適切です。スペースを押しましょう。

これで、postfix をインストールできます。

ほとんどの場合は +/_ → スペース か Enter 連打ですみます。nkf のよ うな波及効果の小さなプログラムは + や _ だけですみます。最悪わけが分か らなくなったらX を押すと変更をやめてメニューに戻れます。たまに、ある パッケージのバージョンが新しすぎて依存関係がうまく認識できないときが あります。このようなときは Q を押すと依存関係を無視して先に進めます。 ヘルプは? k です。

最後にまた Enter を押し、このリストでOKとします。Installにうつり Enterを押すとapt 経由でひとつひとつ持って来ます。

あとはConfigでパッケージ個別の質問事項に答え、完了したらQuitします。

その他の運用ツール

dpkgは、

dpkg -l で現在入っているパッケージの一覧、

dpkg -L パッケージ名 でパッケージ内のファイルの一覧、

dpkg -S パス/ファイル名 でファイルを含むパッケージの検索

などといった使い方があります。

また、apt-get というコマンドがあり、ちょっとしたものならこれで

apt-get install nkf

とすると nkf が入ります。apt-get ばかり使ってしまう人も多いようです。

パッケージリストの更新は、apt-get update です。dselect の Update も 同じ意味です。apt-get update したあとで、apt-get upgrade とすると古い パッケージを更新してくれます。事前に apt-get -s upgrade とすると何を アップグレードするか分かりますので、問題なければ apt-get upgrade します。

これでパッケージを最新の状態に保てます。アップグレードしたくない ものがあるときは、dselect でホールドしておきます。= です。

パッケージリスト内は apt-cache というコマンドで探索できます。検索す る場合 apt-cache search 正規表現 です。Debian のプログラム収録数は 多いので、このコマンドでUNIX上のほぼ全てのフリーソフトウェアについての 簡単な説明を読めます。また関連するコマンドも同時に出ますので、これって なんだろ?と思ったときに、手元に Debian マシンがあると、検索エンジンより 手軽に調べることができて、大変便利です。

たとえば、apt-cache search tcsh とすると、

tcsh - TENEX C Shell, an enhanced version of Berkeley csh.
csh - Shell with C-like syntax, standard login shell on BSD systems.

などといった行が出ます。

apt-get upgrade は便利なのですが、dselect による upgrade も、新しい フリーソフトが出て来たときに気が付きやすいという利点があります。新しい パッケージは New Package という最初のセクションに、デフォルトの インストールしない選択になって表示しますので、面白そうなものがあれば + して試しに使ってみるということができます。面倒でなければdselectや aptitudeのようなメニュー方式による更新をおすすめします。

2008/12現在、 リリースではdselectのメンテナンスが続いておりまったく問題なく使えて いますが、次バージョンとなるlennyではより新しいツールである aptitude を 推奨しています。

パッケージ名は分からないが、ファイル名が分かる場合、auto-apt という ツールの機能を使うと必要なパッケージを検索できます。auto-apt を dselect かapt で入れ、root で auto-apt update を実行するとパッケージDB を作成します。その後で auto-apt search ファイル名 とすると一致する ファイルを含むパッケージのリストが出ます。

debパッケージの中に入っているファイルの一覧を見る場合は、dpkg -c パッケージ名 です。パッケージをインストールするときに自動で各種設定を してくれますが、これを再度行いたいときは dpkg-reconfigure パッケージ名 とします。

ディレクトリ構成

/usr/local/ などにはパッケージ自身はほとんど何もいれません。

設定ファイルの類は /etc に入ってます。ログは /var/log に入ってます。 起動スクリプトは /etc/init.d に入っています。インストールしたツールの ドキュメント類は /usr/share/doc に入っています。

カーネル再構築

dselect で 欲しいバージョンの kernel-source を持って来て、/usr/src/ の該当ディレクトリで make menuconfig したあと、 make-kpkg clean, make-kpkg kernel_image と実行すると /usr/src にカーネルのdebパッケージ ができているので、それを dpkg -i で入れます。make-kpkg のターゲットに 他に何が指定できるは make-kpkg --targets とすると分かります。

・ TIPS: emacs での日本語入力

ATOK for Linuxを使う

sargeやetchのemacs上でatokデーモンと通信するにはiiimecfを使います。ATOK 一太 郎 統合スレッドにあがっているiiimecfへのパッチを当てると公式 バージョンで発生する各種の不具合が治ります。2005/6/15にジャストシステムが リリースしたアップデートで、iiimecfとの相性も改善しているようで、この アップデートをしたatokは公式パッケージのiiimecfから使っても不具合が 少ないです。 しかし公式版では私の環境ではIMEをonにした状態でスペースを入力できません。

2009/11/21追記: iiimecfは現在IIIMECFで配布されており、最新のATOKにも対応されています。 私は現在 ATOK Xとiiimecf-0.75を利用させてもらっていますが、 問題なく作動しています。.emacsについては

(setq iiimcf-server-control-hostlist '("tcp:localhost:9010"))
(setq iiimcf-server-control-default-language "ja")
(setq default-input-method 'iiim-server-control)
(require 'iiimcf-sc)

としています。

iiimf関連のパッケージ群はdebian公式のものでも、ATOK 付属の rpmをalienでdeb化したものでも使えますが、現在stableのetchには パッケージが入っていません。iiimfはできるだけ新しい バージョンを使った方が問題が少ないようです。バグフィックスなどを 自動で取り込めるdebian の利点を考えるとdebian 公式パッケージを入れた方が 良いのですが、etchに入ってないのはちょっと面倒です。 ATOK for LinuxをDebianで使う | Momokuri's、こちらの方がetchで 使えるパッケージを公開されています。iiimecfを使う場合 htt_server は localhost:9010 経由で アクセスできるように /etc/im か /etc/iiim のhtt.confを編集し再起動する必要があります。 ATOK本体は、rpmをdeb 化したものをそのまま入れてもいいのですが、 ディレクトリ構成などが独特に なってしまいますので、debianでのインストールには、Taku YASUI さんの atokx2 パッケージを使わせてもらうと楽ですが、etchの場合はiiimfと同様 パッケージがありませんので、sargeかsidのものを入手するしかありません。 武藤さんのapt-lineを利用させてもらう手もあるようです。 sargeからetchにアップグレードした環境ですと、 atokx2やiiimf関係のパッケージはobsoluteになるものの、それを 入れたままにすれば動いています。

ATOKとiiimecfを使う際に私が.emacsへ追加している行は以下の通りです。

(setq iiimcf-server-control-hostlist '("localhost"))
(setq iiimcf-server-control-default-language "ja")
(setq default-input-method 'iiim-server-control)
(require 'iiimcf-sc)

ATOK for Linux は Xを前提にしているので各種設定や単語登録はXを使い ます。gnomeが入ってなければgnomeをdselect等でインストール後、環境変数 GTK_IM_MODULE を iiim とし、atokx/bin/atokx2_client.sh を実行後、gedit などのgnomeアプリケーションが立ち上がっている状態でCtrl-スペースを押せば ATOKパレットが起動します。アップデートを当てていないATOKでは、 gnome2.4以降の環境では、ATOKの環境設定ダイアログが出ません。

FreeWnnを使う

  • freewnn-common
  • freewnn-jserver
  • libwnn0
  • egg

を入れて、.emacs で input-method を

(set-input-method 'japanese-egg-wnn)

とすることで emacs 上から FreeWnn を使えるようになります。

あとは.emacs に好みの設定を追加します。私は以下の設定を使っています。

---
(toggle-input-method nil)
(setq egg-mode-hook
'(lambda ()
(define-key egg-conversion-map "\C-g" 'egg-abort-conversion)
(define-key egg-conversion-map "\C-h" 'egg-abort-conversion)
(define-key its-mode-map "\C-h" 'its-delete-backward-SYL)
(define-key its-mode-map "\C-g" 'its-cancel-input)
(define-key its-mode-map "\C-n" 'its-katakana)
)
)

Anthyを使う

  • anthy
  • anthy-cannadic-2ch
  • anthy-el
  • libanthy0

を入れて、.emacs で input-method を

(set-input-method 'japanese-anthy)

とすることで emacs 上から使えるようになります。また、

(setq anthy-wide-space " ")

とするとスペースが半角になります。

Cannaを使う

2003/5 現在 sid では emacs20-dl が obsolete になっており、emacs21 には canna を組み込んだパッケージがありません。canna で漢字変換するには egg を使う必要があります。sid にて emacs21 と canna を使うときの私の 環境です。

パッケージ

  • emacs21
  • emacs21-common
  • emacs21-el
  • emacsen-common
  • canna
  • canna-shion
  • canna-utils
  • libcanna1g
  • egg

/etc/defaults/canna を編集

---
# Enable cannaserver
CANNA_SERVER_RUN=yes

# Enable inet socket connection
CANNA_ENABLE_INET=yes
---

/etc/hosts.canna を編集

---
localhost
unix
---

セキュリティには注意してください。

.emacs に追加

---
(set-input-method 'japanese-egg-canna)
(toggle-input-method nil)
---

あとは.emacs に好みの設定を追加します。私は以下の設定を使っています。

---
(global-set-key "\C-o" 'toggle-input-method)
(setq egg-mode-hook
'(lambda ()
(define-key egg-conversion-map "\C-g" 'egg-abort-conversion)
(define-key egg-conversion-map "\C-h" 'egg-abort-conversion)
(define-key its-mode-map "\C-h" 'its-delete-backward-SYL)
(define-key its-mode-map "\C-g" 'its-cancel-input)
(define-key its-mode-map "\C-n" 'its-katakana)
)
)

gcanna辞書

なくても使えますが、好みにより追加します。

gcanna のREADME にしたがって インストールします。cannadic の 2004/2 時点での最新版 0.95a の場合 /etc/canna/default.canna および /etc/canna/dics.dir.d/00canna.dics.dir を編集し、update-canna-dics_dir を実行することになります。その後、 /usr/share/emacs/site-lisp/egg/eggrc に以下の行を追加します。

---
(canna-add-dict "gcanna" nil)  
(canna-add-dict "gcannaf" nil)
---

・ オマケ: Linspire

dpkg を webインタフェース化した Click-N-Run というツールを持つディ ストリビューションです。再配布自由ではありませんので、Debianコミュニティ とは無関係です。2005/7 現在の最新版は 5.0 です。

インストール

linspire.com から ISO イメージをダウンロードして CD を作成して インストールします。2003/12 現在のところ、ディレクトリ構成や CUI コマンド 類は Debian とほぼ同じようですので、ドットファイルなどはそのまま 流用できます。

日本語 locale がないというメッセージが出る場合 /etc/locale.gen に

ja_JP.utf-8 utf-8
ja_JP.UTF-8 UTF-8

などを追加して locale-gen を実行します。

・ 無保証

ここに書いた内容は無保証です。おかしいことがあったらメールください。 修正するかもしれません。

LINK FREE.
kawauso_at_pobox.com