以下ではセットアップ CD の作成方法とインストール方法について説明します. 2003 年度 VTA の方は 「1,セットアップ CD によるインストール方法」を参照 の上担当マシンのセットアップを完了してください。作業時間は順調に行って 30 分程度です。
1.1 用意するもの
準備として以下のものを用意する.
- セットアップ CD
- root.bin ディスク (フロッピー)
これらは情報実験室前方右側の棚にマシン毎にラベルを貼って保管してあります。
作業中に不具合が見つかった際には予備を用意してありますので申し出て下さい。1.2 BIOS の設定
セットアップ CD を入れる前に BIOS の設定を行う. BIOS の設定を行うためには計算機を起動後, しばらくして Del キーを押して下さい. すると, 画面左下に出るのでそのタイミングで Del キーを入力する. ブートシーケンスは CD-ROM から起動するようにする. そうしないと CD から起動しないので注意.
1.3 セットアップ CD で行う設定
セットアップ CD から起動し, 以下のことを行う. このディスクを入れると Debian GNU/Linux のインストーラが起動する.
起動する最中に root.bin のディスクを要求されるので, root.bin ディスクをフロッピードライブに入れる. しばし待つ.インストーラ画面では以下のことを行う.
- キーボードの設定 (Configure the Key Board)
- qwerty/jp106 Japan を選択
- ハードディスクのパーティション分け (Partition Hard Disk)
- 今までのパーティションを Windows 領域も含めて全て削除.
- ハードディスクの全ての領域を 1 つのパーティションとする.
(ハードディスクの全領域を hda1 とする)- 最後にパーティションテーブルをディスクに書き込む事を忘れない事.
- スワップパーティションの設定は行わない(alternative: do without swap partition).
- ハードディスクの初期化・マウント(Initialize Hard Disk)
- 不良ブロックのチェックは行わなくてよい.
- マウントポイントの設定 (Mount as the Root Fillesystem?)
- "Yes" を選択.
1.4 イメージの展開
マウントポイントの設定の後, インストーラーのメニュー画面を下の方までスクロールして 下から 3 番目の "Execute a Shell" を選択しシェルを起動する.
尚, この時のファイルシステムは以下のようになっている.
# df
/dev/ram0 / /dev/hda1 /target 以下はシェル(ash)上での作業となる. まずセットアップ CD を read-only でマウントする (/dev/hdb は CD-ROM を示す).
# mount -o ro /dev/hdb /mnt 一次保存ディレクトリとして TMP を用意する.
# mkdir /target/TMP
# cd /target/
CD 上の圧縮されたイメージ root.boot.gz をハードディスク上に展開する. この作業は 10 分程度かかる.
# gzip -c -d /mnt/root.boot.gz | /mnt/restore -r -f - -T ./TMP
"Missing blocks at the end of ./dev/xconsole, assuming hole "と表示されるが 気にせずに待つ.最後に lilo を実行する. -r オプションを付けて実行する. (target ディレクトリ以下で lilo が実行される.)
CD, フロッピーディスクを抜いて PC を再起動する.
# lilo -r /target
Added Linux *
# umount /mnt起動の途中で root コマンドを聞いてくるので中神までお知らせください. root でログインします.
# reboot 1.5 各種設定
- VTA のアカウントの追加と root 権限の委譲
中神が root でログインしたあとまず VTA のアカウントを作成します. この時同時に root 権限を中神から VTA に委譲します. TA の 柿並さん (kakinami), 佐々木さん (uwabami)のアカウントも 09/26 までに忘れずに作成するようにしてください. また VTA, TA のどちらにも sudo 権限も与えておくべく /etc/sudoers ファイルを編集してください.- /etc/fstab の編集
# vi /etc/fstab
/hda3, /hda5 の行を削除してください.
- 不要なファイルの削除
# cd /
# rm restoresymtable
- /etc/hostname の編集
joho05 と書かれているので, joho** (** ; 担当の情報実験機の番号 01,02,..09,10,11,.. 以下同様)を入れる.
- /etc/hosts の編集
joho05 と書かれているので, joho** を入れる.
- /etc/network/interfacesの編集
- 以下の auto lo, iface lo..., auto eht0, iface eth0 inet static, adress, netmask, network, broadcast, gateway のコメントアウト(#)を外す.
- adress には 192.168.0.1** を入力
# auto lo # iface lo inet loopback ............................ #auto eth0 #iface eth0 inet static # adress 192.168.0.101 # netmask 255.255.255.0 # network 192.168.0.255 # broadcast 192.168.0.255 # gateway 192.168.0.1
# /etc/init.d/networking restart 1.7 動作確認
最後に以下の動作についてチェックをしてください.
お疲れ様でした.
- 作成したユーザでログインできるか ?
- X Window System は正常に起動するか ?
% startx
- sudo で root になれるか?
- ホスト名が変更どおりになっているか?
- ネットワークがつながるか(ping hoge)?
- ブラウザーで日本語入力が可能か?
ブラウザーは mozilla とターミナルで入力して起動して下さい. 日本語入力の ON/OFF は [shift] + [space].- emacs で日本語が入力できるか? 日本語入力の切替えは [Ctrl] + [o] .
2.0 作業の目的
- 情報実験用のブータブルリカバリー CD を作成する上での雛型となるマシンの構築
- 雛型マシンのシステムをコピーし CD イメージを作成.
2.1 仕様
雛型マシンとして
- OS のインストール
- Windows とは共存させない. /dev/hda1 に Linux をインストール.
- デバイスドライバとして net/tulip ドライバをインストールする.
- ネットワークには DHCP を用いて接続する.
- インストールするパッケージ (最低限)
- ファイル&ディレクトリ管理
ls, cat, less, rm- エディタ, 言語環境
vi, emacs+canna, kinput2- ネットワーク関連
ping, traceroute, nslookup, netstat, ssh , telnet, ftp- ブラウザ
netscape, mozilla- X 関連
xserver, xfont, afterstp, twm- 環境設定
- X の設定 :解像度 1024 * 768
- .emacs の準備 → /etc/skel/ 以下に格納
- .xinitrc を準備 → /etc/skel/ に格納
- 文字コードのセット
/etc/profile に LANG=ja_J.ujis をセット
/etc/profile に alias kterm='kterm -km euc' をセット
リカバリー CD 作成準備
- パーティションは 2 個用意する。
- /dev/hda1 : Linux
- /dev/hda2 : コピー用
- インストールするべきパッケージ
- mkisofs
- dump
- 復旧に必要なコマンドの準備
- restore (dump ファイル内 : # apt-get source dump)
- gzip
- カーネルの再構築
- loopback デバイスをサポートしておく
- 必要とされるブートイメージ : rescue.bin
2.2 作業手順
目次
- OS のインストール
- 環境の設定
- パッケージのインストール(CD作成に必要なもの)
- カーネルの再構築
- バックアップファイルの製作
- CD イメージの作成
- OS のインストール
2002 年度情報実験を参照 http://www.ep.sci.hokudai.ac.jp/~inex/y2002/0110/Debian_install /install.html
[変更点]
- Partition hard disk
hda1 Boot Primary Linux 3002.23 hda5 Logical Linux swap 131.61 hda2 Primary Linux 3314.79- Select the mount point
hda1 / hda2 /home- Install the Base System
2003/09/11 現在専攻の ftp サーバが down していたため, 地球流体電脳倶楽部 の北大ミラーサイトを利用しました.
network : ftp://dennou-h.ees.hokudai.ac.jp/library/Linux/debian
- apt configuration
deb ftp://dennou-h.ees.hokudai.ac.jp/library/Linux/debian woody main contrib non-free
deb ftp://dennou-h.ees.hokudai.ac.jp/library/Linux/debian-jp woody-jp main contrib non-free
deb ftp://dennou-h.ees.hokudai.ac.jp/library/Linux/debian-non-US woody/non-US main contrib non-free
deb ftp://dennou-h.ees.hokudai.ac.jp/library/Linux/debian woody-proposed-updates main contrib non-free
- Select tasks to install
* X window system
* desktop environment
* Japanese environment
- セキュリティー上問題のあるパッケージだけ削除する.
- その他不必要なパッケージの削除はまだ行わない
- コマンドの作成時に必要なパッケージまで削除してしまう可能性がある.
- パッケージの削除は CD 作成の直前に行う.
- 環境の設定
- セキュリティー設定
# vi /etc/inetd.conf
全ての行をコメントアウトし再起動
# ps aux | grep intet
# kill -HUP xxx (xxx はinetd のプロセス番号)
- sudo の追加
nakagamiを /etc/sudoers に追加
- /etc/X11/Xsession の編集
最終行に以下を追加
LANG=ja_JP.ujis ; export LANG &
LC_ALL=jp_JP.ujis ; export LC_ALL &
exec afterstep
- /etc/X11/afterstep/autoexec
Function "InitFunction" で
EXEC "I" kterm & を追加
- 日本語の設定
日本語環境の構築(epdns)参照
http://www.ep.sci.hokudai.ac.jp/~epdns/dvlop/basic/japanize.html
- locale の設定
/etc/locale.gen に以下を追加
ja_JP.EUC-JP EUC-JP
以下のコマンドを実行
# locale-gen - emacs の設定
- パッケージのインストール
emacs20-dl, emacs20-dl-el, emacs20-dl-dev, canna, emacs-dl-canna
- /etc/skel/.emacs に以下を追加する。
(set-language-environment "Japanese") (set-default-coding-systems 'euc-japan) (set-terminal-coding-system 'euc-japan) (set-buffer-file-coding-system 'euc-japan) (set-default-font "-*-fixed-medium-r-normal-*-16-*-*-*-*-*-fontset-standard") (progn (load-library "canna" ) (canna) ) (global-set-key "\C-o" 'canna-toggle-japanese-mode)- kinput2 の設定
- インストールするパッケージ
kinput2-canna
- 設定ファイルの編集
/etc/skel/.bashrc, .bash_profile の両方に次の一行を追加する
export LANG=ja JP.ujis export LC_ALL=ja.JP.ujis export XMODIFIERS="@im-kinput2"/etc/skel/.xinitrc
xrdb -merge ~/.Xresources kinput2-canna& exec afterstep/etc/skel/.Xresources
*inputMethod: kinput2 #define XIM kinput2 Kinput2*conversionStartKeys: Shift/etc/skel/.emacs に以下の一行を追加space krxvt*inputMethod: XIM krxvt*kanji_encoding: eucj KTerm*inputMethod: XIM KTerm*VT100*KanjiMode: euc KTerm*openIm: true
(set-keyboard-coding-system 'euc-japan)
- /etc/network/interfaces
以下のように編集# The loopback interface # auto lo #iface lo inet loopback #iface eth0 inet static # address 192.168.0.105 # netmask 255.255.255.0 # network 192.168.0.255 # broadcast 192.168.0.255 # gateway 192.168.0.1※ この状態でままイメージを作成する。イメージ作成後はこの設定を有効にしてイメージファイルを転送する. ネットワークの設定を有効にするには以下のコマンドを実行.
# /etc/init.d/networking restart
- パッケージのインストール(CD 作成に必要なもの)
バイナリでインストール : mkisofs
ソースからインストールし静的リンク : dump, e2fsprogs
- mkisofs のインストール
# apt-get install mkisofs
- e2fsprogs, dump のインストール
ソースをダウンロードするために /etc/apt/sources.list に以下を追加する。
deb-src ftp://dennou-h.ees.hokudai.ac.jp/library/Linux/debian stable main contrib non-free deb-src ftp://dennou-h.ees.hokudai.ac.jp/library/Linux/debian-non-US stable/non-US main contrib non-fr deb-src ftp://dennou-h.ees.hokudai.ac.jp/library/Linux/debian-jp stable-jp main contrib non-freedump, e2fsprogs のソースを入手.
# apt-get source dump e2fsprogs
ef2psprogs のインストール (INSTALL ファイルを参照)
# cd e2fsprogs-1.27
# mkdir build
# cd build
# ../configure
# make
# make check
# make install-libs
dump を静的にインストール
# cd dump-0.4b27
# ./configure --enable-stabic
# make
# make install
本当に静的リンクされたか確認
# ldd dump
not a dynamic executable
# ldd /usr/local/sbin/restore
not a dynamic executable
※ 静的リンクとは?
コマンドが使用するライブラリをリンクしておけば、ディスク障害などで共有ライブラリを読み込めなくなった時でも、コマンドが使用できる。コマンドのビルト時に-static オプションを付ければライブラリを静的にリンクできる。
- カーネルの再構築
loopback デバイスをサポートする.
- ソースの入手
http://packages.debian.org/unstable/devel/kernel-source-2.4.21.html
より kernel-source.2.4.21 を入手
- カーネルの設定
[!注意事項]
※1 カーネルイメージをなるべく小さくするために必要のないものは組み込まないようにする。
・rescue.bin (1.44MB) に収まらない!
※2 DOSFAT fs, MSDOS fs は再インストール時の root.bin を読み込む時に必要となるので必ず y にすること!
[新たに追加するもの]net/ Dec tulip Block device / Loop back device RAM disk support File systems / DOS FAT fs support MSDOS fs support VFAT(Windows-95) support FIle systems / Native Language Support / Codepage 437 Japanese charset NLS ISO 8859-1[削除するもの]Processor type and features / Symmetric multi-processing support General setup / kernel suppport for a.out binaries networking options / IP: multicasting SCSI support / SCSI support network device support / EtherExpressPro/100 File systems / Network File systems / NFS file system support NFS server support Sound / Soound card support USB / Support for USB又、CD イメージ作成前に以下の作業を行なっておく.
- 不必要なパッケージの削除
- /etc/network/interfaces の設定をコメントアウトしてあるか確認.
- vmlinuz.old の消去
- /etc/lilo.conf
image = vmlinuz.old の行以下を消去
# lilo
- /boot/vmlinuz-2.2.20 の消去
# rm /boot/vmlinuz-2.2.20
- /vmlinuz.old の消去
# rm /vmlinuz.old
- バックアップファイルの製作
- Linux をシングルユーザーモードで起動する
ブート時に Lilo と表示したら Shift キーをおして
boot : Linux -s
とする。
- dump する
/dev/hda2 のイメージを /dev/hda3 の領域にフルダンプする。
# mkdir /home/nakagami/joho5/
# cd /home/nakagami/joho5
# mkdir root
# dump -0 -a -f - / | gzip -c > /home/nakagami/joho5/root/root.boot.gz
[オプションの意味]
- 0 : full dump
- a : メディアの終わりまでデータを書き込む
- f : 出力先ファイル名
gzip -c : 出力したファイルを gzip で圧縮
10 分少々で dump 終了。
# ls -l root.boot.gz
容量は 308 Mbyte.
- rescue.bin の編集
# mkdir ~/joho5/rescue
Windows 領域から rescue.bin を ~/joho5/rescue/ にコピーする. loopback デバイスを使ってイメージファイル rescue.bin をファイルシステムとしてマウントする.
# mount -o loop /home/nakagami/joho5/rescue/rescute.bin /mnt
linux.bin を vmlinuz-2.4.21 と入れ替える
# cp /boot/vmlinuz-2.4.21 /mnt/linux.bin
# umount /mnt
- CD イメージの作成
/home/nakagami/joho5/cdrom 以下に次のファイルを揃える
rescue.bin, root.boot.gz
gzip (/bin/gzip からコピー)
restore (/usr/local/sbin/restore からコピー)
次のコマンドを発行してイメージを作る。
# cd ~/joho5/cdrom/
# mkisofs -b rescue.bin -c boot.cat -R -o rcd0913.img ./
[オプションの意味]
- b : ブートフロッピーのイメージファイルへのパス
- c : ブートイメージに対するカタログファイルへのパス
- R : RockRidge 形式に対応したファイルの情報を CD イメージファイルへ 付加
- o : 出力先のファイル
確認
# mount -o loop ./rcd0912.img /mnt
# ls /mnt/
boot.cat, gzip, rescue.bin restore, root.boot.gz
- rcd****.img を CD-R に焼く
最終更新日: 2003/09/15 中神 雄一