Otani_logo
otani_logo.gifOtani-Knoppix3.7

Unix演習用カスタマイズKnoppix

福田 洋一 : 2005年5月30日

 大谷大学文学部人文情報学科は、文学部に所属する情報学科として独自の取り組みをしています。このOtani-Knoppixは、Unix関連の授業を担当する福田が、授業で使用する環境用にカスタマイズしたものです。050524版には若干の設定不良がありました。エラーではありませんが、後からインストールしたLaTeXのスタイルファイルが認識されませんでした。現在Web上で配布している050530版では、修正されています。

1. 経緯

 Unix入門、プログラミング入門、TeX入門、XHTML-CSS-XML入門などの演習をするのに必要な環境を提供します。

 大谷大学内のコンピュータは、全てWindows2000で統一されています。そのため、Unix関連の演習を行なうUnix環境を必要数用意することができない状況にあります。そこで、どの教室でも簡単にUnix環境で演習を行なえるようにしようと、2004年度より、1 CD-ROMで起動するKnoppixを導入しました。

 しかし、産総研オリジナルの日本語Knoppixのままですと、演習で必要となるツール、ソフトなどが不足しています。また、伝統的なUnixの演習に使用するのであって、Windows代替の環境を構築するわけではありませんので、OpenOffice.orgやWindowsエミュレータ、統合開発環境などは必要ありません。そこで、2005年度より人文情報学科での授業内容に合わせて、Knoppixのカスタマイズをすることにしました。

 基本的な方針は、できる限りシェル上でのコマンド操作を使用すること、文書作成やプログラム作成にはEmacsを使用すること、データベースサーバーとPHPを利用したWebアプリケーション作成ができること、XML関連を含めたテキストベースのプログラミング学習ができることにあります。

 現時点のKnoppix最新版は3.8.1ですが、学生の自宅のPC環境では、マウスやキーボードが反応しない、重いなどの症状が見られましたので、一つの前の3.7最終版をベースにカスタマイズしています。

 カスタマイズそのものは、一月おき程度で新しいバージョンを作っています。今回配布するのは、現時点での開発途中のスナップショットであり、追加・修正したソフト・設定の全てを十分にチェックしたものではありません。教育利用のためのKnoppix導入の一例として公開するものです。

 Knoppixの教育利用の試みは多数の機関で行われ、Knoppix教育利用研究会(Knoppix-Edu.org)という名称のメーリングリストもあります。この研究会では、今年のLinuxWorld Expo/Tokyo 2005にも参加しています。このOtani-KnoppixもLinuxWorldで配布しました。

2. 追加したパッケージとソフト

 大きく分けると、TeX関連、XML関連、プログラミング言語関連に分けられます。大部分は、Debianのパッケージをapt-getでインストールしています。

TeX関連
Debianのパッケージから、mendexやjBibTeX、dvipdfmxも含めて、日本語TeX環境一式をインストールしてあります。sazanamiフォント、奥村先生の新JISクラスもインストールしてあります。閲覧にはxdviおよびxpdfを使用します。Emacs上でのTeX文書作成のためには、YaTeXをインストール・設定してあります。スタイルファイルとして、長い下線を引くためのumolinejumoline、文系論文・レポート用の簡単レイアウトスタイルファイルEasyLayout(福田作成)などもインストールされています。
XML関連
XSLTプロセッサとしてXalan-C++をインストールしてあります。プログラミング言語としては、PerlのXML関連モジュール(XML::Parse, XM::DOM, XML::RSS, XML::XMLlibなど) をCPANからインストールしてあります。
プログラミング言語関連
Python2.4.1をインストールしてありますので、日本語のcodecが使えます。PythonではXML関連のモジュールは標準で付いてきます。Javaも演習で使いますので、gcjおよびgijをインストールしてあります。授業では結城浩さんの『Java言語プログラミング・レッスン』をテキストにしていますので、その範囲内のJavaプログラムであれば、gcjで十分です。趣味でGaucheをコンパイルしてインストールしてあります。DebianのGaucheのパッケージはUnicodeがデフォルトの言語になっていて使いづらいため、EUC-JPでコンパイルしました。
ブラウザー
XMLやCSS関係の対応が進んでいることもあり、Firefoxを使っています。現時点での最新版1.0.4をインストールしてあります。起動はパネルのアイコンからではなく、コマンドラインでfirefox &です。

3. 削除したパッケージ

 とくにサイズの大きいものを中心に、OpenOffice.org、Wine、KDevelop3、Widestudio、Scribusなどを削除しました。結果として、イメージファイルのサイズは620MBほどに抑えられています。まだ余裕があるので、今後、さらに別のソフトをインストールすることもできます。

4. 新規に作成したスクリプトなど

 学生には、できるだけコマンドを覚えてもらうよう指導していますが、よく使うのに面倒な指定が必要 なものは、シェル・スクリプトにしてあります。

startapache
Apacheサーバーを起動するためのシェル・スクリプト(引数なし)。スーパーユーザーで使用。大谷大学版では、ドキュメント・ルートをホーム・ディレクトリ下のwwwに、CGIディレクトリをホーム・ディレクトリ下のcgi-binにするようにhttpd.confを変更してあります。このスクリプトでは、ホーム・ディレクトリ下にwwwとcgi-binディレクトリを作成し、アクセス権を変更してから、/etc/init.d/httpdを呼び出します。
startsql
MySQLサーバーを起動し、mysqladminでルートのパスワードを設定します。スーパーユーザーで使用。デフォルトではsemiというパスワードを使用していますが、オプション引数で 別のパスワードを設定することもできます。
startftpd
教室内での一時的なftpの練習のために(あるいは、ファイルのやりとりのために)、ftpサーバーを起動します。スーパーユーザーで使用します。hosts.allowではftpを許可するように設定済みです。ユーザーknoppixのパスワードを設定するよう尋ねてきますので、一時的にパスワードを設定して下さい。
chmodall
現在のディレクトリにある拡張子付きのファイル(xxxx.htmlやzzzzz.texなど)のアクセス権を644に、所有者をknoppixに変更します。スーパーユーザーで使用。フロッピーなどのDOS領域からコピーしたファイルは、実行属性が付加され、root所有のファイルになってしまい、knoppixユーザーでは書き込みができなくなっていることがあります。それを解消します。
setproxy
Firefoxでのhttpプロトコルとhttpsプロトコルのプロキシ・サーバーを設定します。プロキシサーバーのURLまたはIPアドレスを引数に起動します。ポートは8080固定です。もちろんスクリプトを書き直せば、設定変更することは可能です。一度設定したプロキシ情報をクリアするために、unsetproxyというコマンドも作ってあります。引数なしです。これらは一般ユーザーの権限で使います。もちろん、自宅など、直接インターネットに接続しているときには、必要ありません。またKonquererには対応していません。
xslt
xalanに対するラッパー。Emacs上でXMLおよびXSLTの作成をした場合、文字コードがEUC-JPになります(UTF-8でも編集できますがEUC-JPの方が安定しているので)。それをUTF-8エンコードに変換して、xalanにかけます。XSLTファイルは、XMLのスタイルファイル指定から読みとり、書き出すファイル名はXMLファイルの拡張子を変更したものにします。第一引数はXMLファイル名、第二引数は、書き出すファイルの拡張子(html、xml、txtなど)で起動します。
sjis2euc, euc2sjis
qkcを利用した文字コード変換のスクリプトです。ファイル名(ワイルドカードを使用することも可)を指定するだけで、シフトJISとEUC-JPの間の変換をします。

5. Emacsのカスタマイズ

 プログラムコード作成、文書作成、HTMLやCSSの作成にはEmacsを使用しますので、それらに必要な環境をインストール、設定しています。

6. イメージファイルのダウンロード

 現在の配布バージョンは、産業技術総合研究所版Knoppix3.7をベースにカスタマイズしたOtani-Knoppix3.7_050530です。[ダウンロード(641,411,072 Bytes)]