=begin JA
= セットアップ CD (2006 年度情報実験機用) の作成方法
* 福井 隆
* 2006/09/01 (福井 隆) 2006 年度版に更新.
* 2005/08/11 (森川 靖大) 来年度の利用に関して更新
* 2005/08/10 (森川 靖大) 完成
* 2005/08/09 (森川 靖大) 作成
[(())]
############################################################
== 概要
情報実験 (INEX) では, 受講者は授業の前半はセットアップ済みの
UNIX 系 OS を用いて実習を行う.
以下ではその初期状態の UNIX 環境を整えるためのセットアップ CD
の作成方法を記す.
=== ポリシー
整える UNIX 環境のポリシーを箇条書きにすると,
* OS は UNIX 系 OS を用いる
* 歴史的に ((<"Debian GNU/Linux"|URL:http://www.debian.or.jp/>))
を利用している
* 理由
* Linux 系 OS で, 授業の目的に沿っていた.
* 昔は Debian のインストーラは教育的 (ダサい) だった.
(個々のハードウェアの選択などを明示的におこなわなければ
ならなかった).
* 情報実験の立ち上げの時期, STAFF や TA に Debian 使い (Debian
好き?) が多かった.
* できるだけ「生」のシステムに触れるように
* ログインはコンソールから
* GUI な環境がシステムとは別箇のものであることを知っておいて
欲しいため
* なるべくアプリケーションはコマンドラインで
* GUI にクリックするものに関しても, 結局は下層でコマンドが
実行されているものである. そのため, ワンクリックで起動する
ものはできる限り減らし, アプリケーションの多くはコマンドを
実際に入力して起動してもらう.
* Windows の Explorer (KDE なら konquerer) のようなソフトウェアは
消しておく
* ブラウザは提供
* Web の情報を取得するため
* 日本語環境を提供
* ただし, 明示的に設定しない限りは日本語環境にスイッチしない
ようにしておく.
* それ以外はセットアップ CD 作成担当者の趣味… (-_-;)
なお, セットアップ CD を作成するのは, 個々の計算機の環境が
ばらつかないためである. Debian も sarge になり, インストールも
随分と簡単になってきたので, 簡単にドキュメントを作成して,
それに沿って VTA の皆さんにインストールを行ってもらっても
いいのかもしれない. その代わり, TA が作成された個々の環境を
チェックする手間は少々増えると思われる.
=== KNOPPIX による情報実験機セットアップ CD
2006 年度は 1 CD Linux である (())
[((<日本語版|URL:http://unit.aist.go.jp/itri/knoppix/>))] を用いた.
KNOPPIX はそのイメージを展開し, そのファイルを編集後に iso
イメージとして再構築することが可能なため, 情報実験用に
カスタマイズしたものを bootable CD にすることができる.
さらに, その CD の内容を HDD にインストールするためのユーティリティ
も揃っているため, 受講生が数ヶ月間使うという面でも向いている.
(たった数日ならば bootable CD 自体を用いると良いだろう).
また KNOPPIX はベースに Debian を利用しており, ディスクへのインストール
を行うとほとんど Debian と同じように動作する (Debian パッケージの
インストールやアンインストールも, ピュアな(?) Debian を利用するのと
全く同じように操作可能). これまで Debian を使ってきた経験も
長いのでいろいろ楽と思う.
なお欠点 (?) として, KNOPPIX は高密圧縮された約 650MB のデータを
約 2.0 GB に解凍し, PC のメモリ上に OS を展開するため, ある程度
大きなメモリ (無い場合はスワップ領域) を必要とする. そのため
古い PC では起動そのものに非常に時間がかかることも予想されるが,
少なくとも 2005 年度の情報実験機はそれなりに高性能なので,
これに関しては問題ないと考える.
==== 2007 年度以降にこれを呼んでいる方へ
もしも 2007 年度以降にも KNOPPIX を利用しようと考えている方
がいるのであれば, 2006 年度に作成したイメージや CD を
利用することで, 下記の作業をいくつかショートカットできる.
詳しくは最後尾の((<来年度以降の再利用に関して>))を参照していただきたい.
=== 参考書籍
下記の作成に関しては以下の書籍を参考にした.
この書籍と全く同様の内容に関しては本の該当箇所を指定するに留める.
EPnetFaN 書籍としても購入したので, 参照してもらいたい.
* Knoppix hacks ― カスタマイズとシステム管理のテクニック
* 著者 :Kyle Rankin 著, 須崎 有康 監修, 株式会社クイープ 訳
* 出版社:((<オライリー・ジャパン|URL:http://www.oreilly.co.jp/index.shtml>))
* ISBN :4873112281
* 値段 :2,940円
* URL :
* ((<オライリー|URL:http://www.oreilly.co.jp/books/4873112281/>))
* (())
############################################################
== 準備
=== KNOPPIX CD
今回はオープンソースマガジン 2006 年 9 月号付録の CD
(KNOPPIX 5.0 日本語版) を用いた. Web からイメージをダウンロードする
際には (()) から
iso イメージをダウンロード.
iso イメージを焼く方法については,
(())
を参照.
Mac で iso イメージを焼くには, 付属のディスクユーティリティを用いればよい.
Finder → アプリケーション → ユーティリティ → ディスクユーティリティで
起動. iso イメージを drag and drop し, それを選択した状態で
イメージ → ディスクを作成.
=== リマスタリングのための計算機
KNOPPIX のイメージを展開し, リマスタリング
(イメージの再構築) 行うための計算機が必要である.
((<参考書籍>))の「HACK #94」によれば, その計算機は以下の条件を
必要とする.
* Linux ファイルシステムでフォーマットされた, 3 GB 以上の空き領域
のあるパーティション.
* 実メモリとスワップの合計で約 1 GB が必要
* 実メモリが 1GB 未満で, パーティション上にスワップファイルを
作成する場合, 空き領域がもう 1 GB 必要となる.
基本的に情報実験機でスワップパーティションかスワップファイルを
作成すれば問題ない.
なお, 実メモリとスワップのチェックは free コマンドを用いればよい.
$ free
スワップの作成に関しては
(()),
または ((<参考書籍>)) の p. 333 を参照.
############################################################
== 起動してリマスタリング準備
(()) を CD または DVD ドライブに入れてコンピュータ
を起動する. 以下のような boot: プロンプトには何も入力せずに
Enter を押す.
boot:
あとは自動的に X まで起動するはずである.
=== リマスタリングで用いるデバイスに関する注意
以下では, リマスタリングに使用するデバイスを
((* /dev/hda7 *)) とする. デバイスが異なる環境で
リマスタリングを行う際には置き換えて読むこと.
=== ソースファイルシステムの準備
/dev/hda7 に KNOPPIX CD 上のファイルシステム全体を
コピーする. なお, デスクトップ上の hda7 アイコンを
クリックしてもマウントはされるが, その場合一度
unmount してから以下の作業を開始すること
# mount /dev/hda7 /mnt/hda7
# cd /mnt/hda7
# mkdir source
# mkdir source/KNOPPIX
# cp -Rpv /KNOPPIX/* source/KNOPPIX
コピーには, ディスクの回転速度にもよるが,
約 10 分強の時間がかかる.
=== chroot でのルートディレクトリ変更
chroot とは, ルートディレクトリを一時的に変更するためのコマンドである.
これを用いて一時的にコピーしたファイルシステムをシステム本体と
みなし, カスタマイズを行う.
なお, 以下では chroot でルートを変更して行う作業とそうでないもの
(デスクトップ環境のカスタマイズは現在稼動しているシステム上で
行う必要がある).
chroot の場合は始めに ((* chroot 下での作業 *)), 現在稼動している
システム上での作業の場合には始めに((* 非 chroot な稼動中のシステム上
での作業 *)) と明記するので注意されたし.
まず, 起動時に動的に変更されるファイルをコピーし,
その後に chroot での移動を行う. 移動後は, /proc を proc ファイルシステム
としてマウントする. (これ重要)
# cd /mnt/hda7
# cp /etc/dhcpc/resolv.conf source/KNOPPIX/etc/dhcpc/resolv.conf
# chroot source/KNOPPIX
# mount -t proc /proc proc
なお, この際に sbin などへのパスが通っていないことが考えられる.
その場合, /etc/profile などを読み込んでおくと良い.
# . /etc/profile
==== proc のマウント時の注意
$ mount -t proc /proc proc
でマウントした proc は, df で確認しようとしても, そのままでは
proc は表示されない. 確認の際は -a オプションをつけること
$ df -a
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/proc 0 0 0 - proc
以下のようなメッセージが表示されたら確認してみること.
mount: /proc は マウント済か proc が使用中です
mount: mtab によると、/proc は proc にマウント済です
==== /dev/null にアクセスできない問題
もう一つは, 以下のようなエラーが出る場合である.
bash: /dev/null: 許可がありません.
このような場合には, 一旦 /dev/hda1 (もちろんシステムによっては別の
デバイスの場合もあるが, ここでは /dev/hda1 を利用していると
仮定する) をアンマウントし, 手動でマウントしなおす.
# umount /dev/hda1
# mount /dev/hda1 /mnt/hda1
情報は
(())
より
############################################################
== システムの縮小化
((* chroot 下での作業 *))
[参照: (()) |
(())]
まずは一度, 簡単にカスタマイズした後, 一度 iso イメージが
無事に作成できるか確かめる. とりあえず不要そうな
パッケージを削除した後に((<マスタファイルシステムの作成 (練習)>))
にいってみる.
=== とりあえず重たそうで要らないパッケージの削除
# dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -n
重い方から適当に見繕って削除.
# apt-get --purge remove Package名
以下の圧縮作業後のサイズが CD-R の容量 (670 MB ?) より小さければ OK.
=== 一通りのインストール後にすること
==== 非依存ライブラリの削除
依存されていないライブラリを消すため, 以下のコマンドを
実行. 特にクリティカルなパッケージはないはずだが, 一応
確認した後 Y を押す.
非依存パッケージのリスト表示 (サイズつき)
# deborphan -z | sort -n
合計何バイトの節約になるのかチェック. 今回は 19.3 MB の節約
# deborphan | xargs apt-get --purge remove
以下で実行.
# deborphan | xargs apt-get -y --purge remove
==== ダウンロードした deb パッケージの削除
# apt-get clean
=== chroot 脱出
# umount /proc
# exit
############################################################
== マスタファイルシステムの作成 (練習)
((<システムの縮小化>))でも述べたが, とりあえず無事に
iso イメージが作成可能か調べてみる.
# cd /mnt/hda7
# mkdir master
# rsync -av --exclude "/KNOPPIX/KNOPPIX" /cdrom/ master/
# mkisofs -R -U -V "Knoppix_INEX_2005_TEST" -P "inex@ep.sci.hokudai.ac.jp" \
-hide-rr-moved -cache-inodes -no-bak -pad \
source/KNOPPIX | nice -5 /usr/bin/create_compressed_fs - 65536 > \
master/KNOPPIX/KNOPPIX
2006 年度の情報実験機 3n+1, 3n+2 ならば,
だいたい 40 分をみていれば作成できる.
=== 壁紙の変更
/usr/share/wallpapers から適当に見繕って, master/KNOPPIX/background.jpg
に上書き
# cp /usr/share/wallpapers/only_k.jpg master/KNOPPIX/background.jpg
=== md5sums の作成
# cd master
# rm -f KNOPPIX/md5sums
# find -type f -not -name md5sums \
-not -name boot.cat -exec md5sum {} \; >> KNOPPIX/md5sums
KNOPPIX/md5sums が作成されていることを確認し,
親ディレクトリへ戻る.
# cd ..
=== CD イメージの作成
# mkisofs -pad -l -r -J -v -V "KNOPPIX" \
-no-emul-boot -boot-load-size 4 -boot-info-table -b \
boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \
-hide-rr-moved -o knoppix.iso master/
2006 年度の情報実験機 3n+1, 3n+2 ならば,
ほぼ 5 分で完了.
############################################################
== iso イメージのチェックと CD ライティング
=== iso イメージがまともかどうかのチェック
再起動し, knoppix の boot プロンプトに以下のように
入力. 想定通りに起動するかチェックする.
knoppix bootfrom=/dev/hda1/knoppix.iso
=== iso イメージを CD に焼く
KNOPPIX 本体で CD を焼くことも可能なのかも知れないが,
ここでは他の PC にイメージをコピーしてそれをライティングソフトで
焼くことを考える.
scp /cdrom2.loop/knoppix.iso ftakashi@joho12:~/
==== CD でのブートを試してみる
他の PC にて CD を入れてブートしてみる.
当然, BIOS の boot priority の 1st を CD にしておくことを
忘れずに.
起動できたら第1段階は OK. 次はそのイメージを HDD にインストール
できるかをチェックする. インストールも出来たらほぼ完了.
いよいよ本格的なイメージ作成に入る.
############################################################
== システムの本格的カスタマイズ
((* chroot 下での作業 *))
[参照: (()) |
(())]
最初の(())を先ほどリマスタリングを行った計算機の
ドライブにいれ, 電源を投入する.
((<起動してリマスタリング準備>)) を再び行い, リマスタリングの
準備を整える. なお先ほどカスタマイズを行った部分
( ((<システムの縮小化>)) )に関しては /dev/hda1 の
source/KNOPPIX 以下にそのまま反映されているので, それを
そのまま利用する.
=== ソースリストを epftp に
/etc/apt/sources.list を以下のものに置き換える.
# mv /etc/apt/sources.list /etc/apt/sources.list_org
# vi /etc/apt/sources.list
deb ftp://ftp.ep.sci.hokudai.ac.jp/pub/Linux/Debian/debian sarge main contrib non-free
deb ftp://ftp.ep.sci.hokudai.ac.jp/pub/Linux/Debian/debian-jp sarge-jp main contrib non-free
deb ftp://ftp.ep.sci.hokudai.ac.jp/pub/Linux/Debian/debian-non-US sarge/non-US main contrib non-free
deb ftp://ftp.ep.sci.hokudai.ac.jp/pub/Linux/Debian/debian sarge-proposed-updates main contrib non-free
deb ftp://ftp.ep.sci.hokudai.ac.jp/pub/Linux/Debian/debian-security sarge/updates main contrib non-free
epftp からのパッケージリスト取得に失敗したため, 電脳サーバから.
deb http://dennou-h.gfd-dennou.org/arch-large1/cc-env/Linux/debian sarge main contrib non-free
deb http://dennou-h.gfd-dennou.org/arch-large1/cc-env/Linux/debian-jp sarge-jp main non-free contrib
deb http://dennou-h.gfd-dennou.org/arch-large1/cc-env/Linux/debian-non-US sarge/non-US main contrib non-free
deb http://dennou-h.gfd-dennou.org/arch-large1/cc-env/Linux/debian/ dists/proposed-updates/
deb http://security.debian.org/ sarge/updates main contrib non-free
=== リストを更新
# apt-get update
=== アップグレード
# apt-get upgrade --show-upgraded
最新版に近かったため, ほとんどアップグレードされなかった.
((<一通りのインストール後にすること>)) を行うのを忘れずに.
=== flash player をインストールする
(()) より,
(())
をダウンロードする.
展開し, 必要なファイルを mozilla-firefox の plugin ディレクトリに
移動する. 新しいターミナルを起動して (非 chroot 下),
$ tar zxvf install_flash_player_7_linux.tar.gz
$ cd install_flash_player_7_linux
# cp libflashplayer.so flashplayer.xpt \
/mnt/hda1/source/KNOPPIX/usr/lib/mozilla-firefox/plugins/
以下の URL より情報を入手
http://mland98.rc.kyushu-u.ac.jp/cgi-bin/debian/joyful/joyful.cgi
=== いくつかのツールのインストール
# apt-get install qiv tree qkc
=== ssh による外部からのログインを可能にする
ssh は元々インストールされているものの, セキュリティの
問題から鍵が生成されておらず, 外部からのログインができない.
以下のコマンドで sshd を起動するよう設定し, 外部からの ssh
ログインを可能にする. ちなみに, /usr/sbin への
パスが通っていない場合は, 以下のようにパスを通してから実行
# export PATH=$PATH:/usr/sbin:/sbin
# dpkg-reconfigure ssh
=== ntp サーバの設定
/etc/default/ntpdate に以下の記述を加える.
こうしておくことで, /etc/init.d/ntpdate start すれば時間合わせができる.
NTPSERVERS="time-nw.nist.gov"
=== ネットワーク設定
/etc/network/interface に以下のように記述.
DHCP は CD ブートの時には有効であるが, debian システムとして
ハードディスクにインストールした際には無効になる.
その際, 以下のコメントアウトを外してネットワーク設定を有効にする.
なお, 以下の設定は 2006 年度現在での情報実験機周りの
ネットワークの状況に拠っているので環境が変わった場合は
書き換えた方が良い.
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# The loopback interface
# automatically added when upgrading
auto lo
iface lo inet loopback
# For INEX VTA!!
#
# Please check "dmesg". And select only non Gigabit Ethernet device.
#
#auto eth0
#iface eth0 inet static
# address 192.168.16.???
# netmask 255.255.255.0
# network 192.168.16.0
# broadcast 192.168.16.255
# gateway 192.168.16.1
#auto eth1
#iface eth1 inet static
# address 192.168.16.???
# netmask 255.255.255.0
# network 192.168.16.0
# broadcast 192.168.16.255
# gateway 192.168.16.1
さらに, /etc/resolv.conf が以下のようになっているかチェック.
search ep.sci.hokudai.ac.jp
nameserver 133.87.45.70
nameserver 133.87.45.66
nameserver 133.87.1.11
=== startx の際の dpi の設定
コンソールログイン時に普通にユーザが startx すると,
dpi が 100 になってしまう. KDE デフォルトと同じ dpi 75 にするには,
/usr/X11R6/lib/X11/xinit/xserverrc を以下のように書き換えると良い.
#!/bin/sh
exec /usr/bin/X11/X -dpi 75 -nolisten tcp
############################################################
== KDE のデスクトップをシンプルに
((* 非 chroot な稼動中のシステム上での作業 *))
[参照: (()) |
(())]
((<ポリシー>)) よりできるだけシンプルなデスクトップにすべく,
KDE のデスクトップをカスタマイズする.
もちろん他のウィンドウマネージャを編集する手もあったが,
作業コストの問題からこの方法を選んだ.
なお, この作業は chroot 以下ではなく, 稼動中のシステム上で行うので,
chroot しているのであれば別のウィンドウを立ち上げてその中で作業
するか, もしくは(())すること.
=== /etc/skel/Desktop を綺麗に
デフォルトだと, ユーザーを作成した際に, /etc/skel 以下から
様々なファイルがコピーされる. 不要な以下を削除する.
$ cd /home/knoppix/Desktop
$ rm -rf sample_japanese Knoppix-J KNOPPIX.desktop .directory
$ cd ..
=== KDE のデスクトップ設定の整理と保存
デスクトップのアイコンや下部の「パネル」の掃除を行う.
==== ゴミ箱の場所の設定を変更
ゴミ箱は毎回 X の起動時に$HOME/Desktop に作成されてしまうので,
KDE の設定ファイルを変更して, 作成場所を変更し, 隠してしまう.
$ vi /home/knoppix/.kde/share/config/kdeglobals
以下の部分を
[Paths]
Trash=$HOME/Desktop/Trash/
以下のように変更する.
[Paths]
Trash=$HOME/.Trash
==== KDE の「パネル」をシンプルに
KDE デスクトップ下部のパネルの内, コンソール (konsole) 以外を
すべて削除する. 削除する方法はボタン上で右クリックし,
「…ボタンを削除」を選択する.
コンソールボタンは, 右クリックして「コンソールボタンの設定」を選択し,
「アプリケーション」で「コマンド」の部分の konsole を
消して, kterm を入れる.
このままでは終了できないので, 先ほどまでボタンがあったところで
右クリックし, 「パネルメニュー」→「アプレットをパネルに追加」→
「ロック/ログアウト アプレット」を選択し, ログアウト用のボタンを作成しておく.
更にログアウトボタンを右クリックして「セッション管理の設定」を
選択し, 「デフォルトのシャットダウンオプション」を「現在のセッションの終了」
にし, 「シャットダウンオプションの提供」のチェックを外し,
「ログイン時」は「空のセッションで開始」とする.
ちなみに, 一番左の 「K メニュー」は kmenuedit コマンドで,
「KNOPPIX」の「KNOPPIX の設定の保存」は saveconfig で
可能であるので, 利用したい場合はそれらのコマンドで代替する.
各アイコンの位置だが, 「ロック/ログアウト アプレット」は一番左,
その次に「kterm」, 4 つのウインドウの上の配置については
右側の言語設定のすぐ左に持ってくる.
現在開いているウィンドウ一覧は「kterm」のすぐ右に持ってくる.
==== 右クリックの動作の変更
デスクトップ上で右クリックにいろいろ余計な(?)動作が存在するので,
可能なことを少なくする.
まず kmenuedit コマンドを実行し, 最低限必要なアイコンを作成する.
(ほとんど趣味)
* 「システム」→「XShell」→「Kanji Terminal」を選択し,
右のアイコンをクリックして konsole のアイコンに入れ換える.
* 「設定」を開き, 右クリックして「新規項目」を選択,
「項目名」は, 「デスクトップの設定」とする. アイコンは
一つ上の「設定」と同じにする. コマンドは以下の一行
(改行して表示してあるが, 一行で入力すること
kcmshell [kdeinit] kcmshell --caption デスクトップ kde-background
kde-desktopbehavior kde-desktop kde-screensaver kde-display
この 2 つの設定が終了したら, 「ファイル」→「保存」する.
次に, 実際に右クリックの動作を変更する. デスクトップ上で
右クリックし「デスクトップの設定」を選択する. 「動作」を選択して
「マウスボタンの動作」で「右ボタン」を「カスタムメニュー1」にする.
そして右の編集ボタンをクリックし, 既にある「コンソール」を削除して
「新規」で, 上記で作成した Kanji Terminal と 「デスクトップの設定」を
選択する.
==== KDE 上の壁紙の変更
始めは cdrom や /UNIONFS 以下の壁紙を利用していたりするので, 新たに CD
イメージを作成した際, 壁紙が有効にならない可能性がある. そのため,
/usr/share/wallpapers 以下の壁紙を選択しておく.
このディレクトリならば, CD イメージ化した後にも反映される.
右クリックして「デスクトップの設定」を選択し, 「背景」の「画像」で
右側のフォルダの形をしたボタンを選択して, 今回は以下の画像を
選択する.
/usr/share/wallpapers/only_k.jpg
最後に「OK」を選択して完了.
=== mozilla-filefox の個人設定
==== 初期画面を INEX に
$ mozilla-firefox
Mozilla を一度起動し, デフォルトページを inex にする.
/home/knoppix/.mozilla/firefox/3d4ef4xp.default/prefs.js に
初期ページの設定が書き込まれるはずである.
==== 後かたづけ
最後に, 一度 firefox を起動し, 「編集」→「設定」
→「プライバシー」→「すべてをクリア」で情報を
クリアしておくこと.
=== デスクトップ環境設定ファイル knoppix.sh と configs.tbz の保存
==== 「最近の...」系の削除
最近のファイル, みたいなのを削除する
rm /home/knoppix/.kde/share/apps/RecentDocuments/*
rm /home/knoppix/.bash_history
rm /home/knoppix/.ssh/known_hosts
rm /home/knoppix/.viminfo
rm /home/knoppix/.emacs.el
==== 設定の保存
saveconfig コマンドで設定を保存する.
$ saveconfig
選択するのは以下の 2 つである. 他のものはちゃんと選択から外すこと.
* p:個人的な設定 (デスクトップ, プログラムなど)
* d:Desktop に含まれるすべてのファイル
保存先は /mnt/hda7 にする.
...予定だったのだが, 今回用いた日本語版 KNOPPIX 5.0.1 の saveconfig には
「保存先として "/mnt/floppy" しか選択できない」,
「"/mnt/floppy" を選択しても何も起こらない」というバグが仕込まれている,
とのこと. これは, ver. 5.0.1 から "/mnt" の代わりに "/media" を使用する
ようになったためらしい.
(()) を参考に /usr/sbin/saveconfig を書き換えたものが ((<こちら|URL:./saveconfig>)).
############################################################
== 言語関係の設定ファイルの編集
((* 非 chroot な稼動中のシステム上での作業 *))
[参照: (()) |
(())]
デフォルトの ~/.bashrc や ~/.bash_profile はいろいろ親切設定なので,
オリジナルはバックアップとして別に移動し,
簡単なものに変更する.
=== ~/.bash_profile
$ cd /home/knoppix
$ mv .bash_profile .bash_profile_knx_org
$ vi .bash_profile
# ~/.bash_profile: executed by bash(1) for login shells.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/login.defs
#umask 022
# include .bashrc if it exists
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
=== ~/.bashrc
$ cd /home/knoppix
$ mv .bashrc .bashrc_knx_org
$ vi .bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything:
[ -z "$PS1" ] && return
XIM=kinput2
############################################################
== source/KNOPPIX/etc/skel 以下へのコピー
((* 非 chroot な稼動中のシステム上での作業 *))
[参照: (()) |
(())]
=== /mnt/hda1/source/KNOPPIX/etc/skel/ への上書き
$HOME/.kde, $HOME/.mozilla など設定ファイルを
/mnt/hda1/source/KNOPPIX/etc/skel/ へ
上書きする.
# rsync --exclude cache-Knoppix --exclude socket-Knoppix \
--exclude tmp-Knoppix \
--delete -av /home/knoppix/.kde/ /mnt/hda1/source/KNOPPIX/etc/skel/.kde/
# rsync --delete -av /home/knoppix/Desktop/ /mnt/hda1/source/KNOPPIX/etc/skel/Desktop/
# rsync --delete -av /home/knoppix/.local/ /mnt/hda1/source/KNOPPIX/etc/skel/.local/
# rsync --delete -av /home/knoppix/.mozilla/ /mnt/hda1/source/KNOPPIX/etc/skel/.mozilla
# cp /home/knoppix/.bashrc /mnt/hda1/source/KNOPPIX/etc/skel/
# cp /home/knoppix/.bash_profile /mnt/hda1/source/KNOPPIX/etc/skel/
############################################################
== STAFF, TA ユーザを作成する
((* chroot 下での作業 *))
[参照: (()) |
(())]
/mnt/hda1/source/KNOPPIX/etc/skel/ が整理されたので, STAFF と
TA のユーザを作成する. 氏名などの情報は epwww から持ってくる.
パスワードは適当につけて, 本人たちのみに通知する.
# adduser shosuke
# adduser keikei
# adduser odakker
# adduser morikawa
# adduser totera
# adduser kk
############################################################
== 設定がインストール時に無効になるシステム設定への対処
((* 非 chroot な稼動中のシステム上での作業 *))
[参照: (()) |
(())]
以下のものは, 設定を行なっても iso イメージ → CD → ハードディスクへの
インストールとなる過程で無効になってしまうものである.
そのため, パッチとその置き換えスクリプトを用意することでさっくりと
更新する. 作成したパッチと置き換えスクリプトは以下に置いてある.
* (())
置場は /mnt/hda1/source/KNOPPIX/usr/local/KNOPPIX-INEX-PATCH に置く.
以下のをあなたの専攻メールサーバアカウント
に変更して, ダウンロードする.
# scp -r \
@www.ep.sci.hokudai.ac.jp:~inex/y2005/urakata/setupCD/KNOPPIX-INEX-PATCH \
/mnt/hda1/source/KNOPPIX/usr/local/
なおパッチの元ファイルと変更した後のファイルは
* (())
に置いてあるので, 変更を行う場合はそちらを参照のこと.
以下に変更の具体的な内容を記すが, これらを知らなくても問題は無いので
お時間が無い場合は((<マスタファイルシステムの作成 (本番)>))
へ行って欲しい.
=== パッチの作成手順
仮に hoge というファイルにパッチを当てたい場合, 以下のような手順で作成する.
オリジナルを保存.
cp hoge hoge.orig
hoge の方を好きなように編集した後,
diff -u hoge.orig hoge > hoge.patch
で完成.
=== KDE の初回ウィザードを表示させないために
KDE の初回設定ウィザードが起動されるかどうかは,
~/.kde/share/config/kpersonalizerc による, この中の FirstLogin
を false にすることで, ウィザードは起動しなくなる.
$ vi ~/.kde/share/config/kpersonalizerc
=== コンソールログインにする
再び /mnt/hda1/source/KNOPPIX に chroot したターミナルに
戻る.
/etc/inittab の initdefault を 3 にする.
具体的には以下を
# The default runlevel.
id:5:initdefault:
このようにする.
# The default runlevel.
id:3:initdefault:
その際, /etc/motd も以下のように編集しておく
Welcome to INEX!!
This machine is set up for your practices.
On this occasion, please learn a lot of
knowledge and technologies for the
computer and the network by all means.
More power to you!!
*** NOTE ***
If you want to use GUI applications,
please input "startx" and Enter.
But by default, your Japanese environment is not
set up. If you want read and write Japanese,
please input "export LC_ALL=ja_JP.eucJP".
************
=== 言語関係の設定ファイルの編集
==== /etc/profile
デフォルトはいろいろ設定しすぎなので,
オリジナルはバックアップとして別に移動し,
簡単なものに変更する.
# cd /etc
# mv profile profile_knx_org
# vi profile
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
PATH="/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:"
[ "$UID" = "0" ] && PATH="/sbin:/usr/sbin:/usr/local/sbin:$PATH"
if [ "$BASH" ]; then
PS1='\u@\h:\w\$ '
else
if [ "`id -u`" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
export PATH PS1
umask 022
==== /etc/environment
勝手に言語環境を設定されるので,
全部コメントアウト
# vi /etc/environment
#LANG="ja_JP.eucJP"
#LANGUAGE="ja"
#LC_MESSAGES=""
=== sudoers の設定
(())で作成したユーザを
sudoers に加えておく.
# visudo
shosuke ALL=(ALL) ALL
keikei ALL=(ALL) ALL
odakker ALL=(ALL) ALL
morikawa ALL=(ALL) ALL
totera ALL=(ALL) ALL
kk ALL=(ALL) ALL
############################################################
== マスタファイルシステムの作成 (本番)
((* 非 chroot な稼動中のシステム上での作業 *))
[参照: (()) |
(())]
ここまで終わったら, いよいよ本番のマスタファイルシステムを
作成する.
(()) で抜け出し, ((<マスタファイルシステムの作成>))
を参考にシステムを再構築する. この際, 古い /mnt/hda1/KNOPPIX/KNOPPIX
と knoppix.iso は一度消す. 具体的には以下の通り.
# umount /proc
# exit
$ cd /mnt/hda1
# rm master/KNOPPIX/KNOPPIX
# rm knoppix.iso
# mkisofs -R -U -V "Knoppix_INEX_2005_ver1" -P "inex@ep.sci.hokudai.ac.jp" \
-hide-rr-moved -cache-inodes -no-bak -pad \
source/KNOPPIX | nice -5 /usr/bin/create_compressed_fs - 65536 > \
master/KNOPPIX/KNOPPIX
必要であれば ((<壁紙の変更>)) を行なう.
=== デスクトップ設定の保存
((<デスクトップ環境設定ファイル knoppix.sh と configs.tbz の保存>))
で/mnt/hda1 以下に作成した knoppix.sh と configs.tbz を master/KNOPPIX
以下にコピーする
# cd /mnt/hda1
# cp knoppix.sh configs.tbz master/KNOPPIX/
続いて (()), (()) と進む.
具体的には以下の通り.
# cd master
# rm -f KNOPPIX/md5sums
# find -type f -not -name md5sums \
-not -name boot.cat -exec md5sum {} \; >> KNOPPIX/md5sums
# cd ..
# mkisofs -pad -l -r -J -v -V "KNOPPIX" \
-no-emul-boot -boot-load-size 4 -boot-info-table -b \
boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \
-hide-rr-moved -o knoppix.iso master/
最後に (()) した後,
(())して
(())する.
気に入らない部分がある場合は
再度カスタマイズを行い, イメージ及び CD を作成する.
############################################################
== ディスクへのインストール
CD ブートによる起動が確認されたら, 次はディスクへの
インストールを行ってみる.
((<インストール手順|URL:bootCD_install.html>))があるので, そちらを
参考にしてインストールを行う.
=== 確認事項
上記ページの「最終確認」にあわせ, 以下のことも確認してくこと.
(以下は 2006 年度にセットアップ CD の作成を担当したものの
趣味による)
* openoffice の動作と日本語入力
* firefox 上で flash が動作するか
* X の起動時に -dpi が 75 に設定されているか.
以下のコマンドを入力して -dpi よりも後ろの数字が 75 になっている
ことを確認.
$ ps aux | grep /usr/bin/X11/X
=== 注意点
今年度は, 作成した CD に以下のような意図せぬ挙動が見られた.
* 作成した CD での起動時, その CD から HD にインストールする際に
作成されるアカウント及び 2 つめ以降のアカウントで, それぞれ
デスクトップの設定 (壁紙など) が異なる.
これは CD 起動の場合には saveconfig で保存した設定が
反映され, アカウント作成時には /etc/skel/.kde の設定が反映される
ことによるものであるが, なぜ 1 人目と 2 人目以降で差異が生じるのか
は不明. ただし, 実用上は 2 人目以降のデスクトップの様子が自分の
意図した通りになっていさえすればよい.
* パネルに設置したはずのログアウトアプレットが消える.
パネル上のアプレットに関する情報はちゃんと
$HOME/.kde/share/config/kickerrc
に存在しているのだが...今年度はユーザ作成時に各自でアプレット
を追加してもらうことにした.
############################################################
== 来年度以降の再利用に関して
2006 年度以降, KNOPPIX をセットアップ CD として利用するならば,
2005 年度に作成した CD もしくはその iso イメージをそのまま
利用可能である. 基本的には ((<ポリシー>)) に従うとして,
以下で必ず必要になる作業と, 年度ごとに変更を必要とするような部分のみを
記す. 基本的には上記の作業へのリンクである.
* ((<準備>))
* (()), ((<リマスタリングのための計算機>))
* ただし, 今回利用する (()) は 2005 年度に
作成したものを使用する.
* ((<起動してリマスタリング準備>))
* ((<システムの本格的カスタマイズ>))
* かなり省略が可能だが, 以下の作業はきっと必要
* ((<ソースリストを epftp に>))
* もしも debian の apt のソース先が変わっている場合は必要.
* ((<リストを更新>)), ((<アップグレード>))
* これはソースリストの変更に関わらず必要
* ((<ネットワーク設定>))
* (())
* 過去の STAFF, TA のアカウントを一度削除し, 年度の
STAFF, TA のアカウントを作成する. 削除には
(({userdel -r})) コマンドを利用すると楽だろう.
* ((<設定がインストール時に無効になるシステム設定への対処>))
* (()) のみは必要となる. patch コマンドを
利用しているので経験がないと少々難解かもしれない.
インストール後に設定を行うようにしても良いかもしれない.
* ((<マスタファイルシステムの作成 (本番)>))
* これで完成 (…するはず.)
では, 頑張ってくだされ〜. (こんな奇特なことする人もう居ないか…?)
=end JA