数理解析研究所講究録
第 1793 巻 2012 年 46-49

46

KNOPPIX/Math/2011 について
濱田 龍義

福岡大学理学部/JST CRESTTATSUYOSHI HAMADAFUKUOKA UNIVERSITY/JST CREST*Abstract
KNOPPIX/Math offers many documents and mathematical software packages. Once you run
the live DVD system, you can enjoy a wonderful world of mathematical software without installing
anything yourself. KNOPPIX is a good live system, and there are some ways to use it, with DVD, on
Virtual Machine, or booting from USB memory disk. Each of these ways has its merits and demerits.
We will introduce a new approach of making live linux system for displaying mathematical softwaresystems.

1

序
本稿は 2007 年 7 月 5 日に行われた数理解析研究所共同研究「数式処理研究の新たな発展」における講演 $[KNOPPIX/Math$ 作成方法」 [2] に続く内容となる．これまで，KNOPPIX/Math はドイツで開発されている KNOPPIX 英語版，もしくは産総研によって公開されている KNOPPIX 日本語版を原型に作成してきた．2011 年 3 月 3 日に KNOPPIX/Math/2011 を公開したが，これは産総研によって公開されている
KNOPPIX-jp $6.4.4\beta$ を原型として数学ソフトウェアやフリードキュメントを追加，調整を行ったものであ$Risa/Asir$ 20110218, Singular 3.1.2, Macaulay21.4, CoCoA 4.7.5,
る．主な数学ソフトウェアとしては，
Reduce 2010.12.19, Sage 4.6.1, Maxima 5.22.1 を収録している．新たに追加された数学ソフトウェアとしては，量子場の理論に特化した計算機代数システム Cadabra, マンデルブロー集合などのフラクタル幾何学のための Fraqtive, Qfract, 凸多面体のための計算ソフトウェア Polymake などである．また，数学ソフト
ウェアではないがストレージ共有サービス Dropbox を新たに収録している．

1 年に 1 度新たな版を公開し，様々な数学ソフトウェアを紹介してきたが，現在，ある問題点が顕在化してきている．本稿では，これらの問題点を解決するための一つの提案を行う．

2

KNOPPIX 基礎知識
まずは KNOPPIX について簡単に紹介をしておく．KNOPPIX とはドイツの Klaus Knopper が中心となって開発を進めている CD/DVD から起動できる Linux である．このような Linux は Live Linux と呼ばれる．KNOPPIX 以前から Live Linux は存在したが，ハードウェア自動認識能力が高いこと，ハードディスクで 2GB 近くに換算される容量を圧縮して CD の 700MB 弱に収録できることなどが KNOPPIXは特に優れていた．2002 年秋に産業技術総合研究所の須崎有康氏のグループが日本語化した KNOPPIX を紹介して以来，日本においても KNOPPIX は良く知られる存在となった．
*hamada@holst.sm.fukuoka-u.ac.jp

47
KNOPPIX では，CD もしくは DVD 上に圧縮ファイルシステム cloop を用いて，ファイルが収録されている．また，CD-ROM $/DVD$ -ROM は，その性質上，追記や変更が不可能であるが，メモリー上に展開された透過ファイルシステム aufs を用いることで，一時的にであれば，パッケージ等のインストールが可能であり，設定ファイルの変更もできる．Live DVD の起動システムは Isolinux を用いている．また，同種の Syslinux を利用して，USB からの起動にも対応しており，CD/DVD から起動した状態で且 ash-knoppixというスクリプトで手軽に USB 起動ディスクを作成できる．USB 起動ディスク上には，ホームディレクトリやパッケージインストール用の領域を確保することもでき，非常に便利なものとなっている．
KNOPPIX は Debian GNU $/Linux$ の成果を利用しており，構成するパッケージは多くが Debian Projectで公式に開発，公開されているものである．Debian GNU $/Linux$ はボランティアベースで開発が進められている Linux ディストリビューションの一種であるが，パッケージ管理システムとして APT を採用している．また，Debian のパッケージ群には固有のコードネームがある．例えば，現在の stable 版は squeezeと呼ばれている．次期バージョンである testing 版のコードネームは wheezy である．unstable と呼ばれる版については，常に sid というコードネームが割り当てられる．これらのコードネームは，全て Disney 映画「トイストーリー」のキャラクターの名前である．
一方，Debian をベースとした Linux ディストリビューションで注目を浴びているのが Ubuntu である．

Ubuntu は Canonical Ltd. という企業から支援を受けており，半年に一度，定期的にリリースが行われている．各リリースには Jaunty (09.04), Karmic (09.10), Lucid (10.04), Maverick (10.10), Natty (11.04),
Oneiric (11.10) 等のコードネームが割り当てられている．
一般に，Debian 系のシステムはライブラリの依存性の問題から，同一コードネームのパッケージ群で構成することが望ましい．また，testing で管理されていた版は，stable になることで正式リリースとみなされるが，KNOPPIX は Debian の testing や unstable の混ざった状態で公開される傾向があるため，安定性に問題があることは否定できない．

3

KNOPPIX/Math 作成方法
ここで，現在の KNOPPIX/Math の作成方法を簡単に述べる．これまでのところ，以下のような手順を踏んで作成されている．

1. 原版の KNOPPIX を HD に展開 4GB$arrow$

約 $10GB$2. 不必要なパッケージを削除

3. 数学ソフトウェアパッケージを追加
4. 設定ファイルの追加
5. iso9660 でアーカイブ
6. cloop で圧縮7. ISO イメージの作成
特に労力を要するのが 2 番目の「不必要なパッケージを削除」することである．DVD の容量は限られているため，そのままでは数学ソフトウェアを収録することができない．そこで，収録するための領域を確保するために不必要なパッケージを削除する．現在，KNOPPIX DVD には約 3000 前後のパッケージが収録されているため，その中から適切なパッケージを選択し，削除することは非常に煩雑な作業となっている．

48
KNOPPIX ベースの問題点

4

2003 年 2 月以来，日本数学会，情報処理学会，日本数式処理学会，応用数理学会等の国内学会，およびASCM, ICM, ICMS, IMA, ISSAC, CASC 等の国際会議でブースを出展し，KNOPPIX $/Math$ を紹介してきた．ブースでは，ユーザから様々な質問を受けるのだが，これまでに何度もハードディスクにインストールするにはどうしたら良いかと聞かれることがあった．実は KNOPPIX は Own という簡易インストーラを備えているが，ハードディスクをフォーマットする際に注意が必要であり，利用者も少なく，あまり検証されていないことから，積極的には紹介はしていない．ただ，確実に要望はあるので，なんらかの対策を考える必要がある．

先ほども述べたが，KNOPPIX の問題点としては testing, unstable, experimental 等が混在していることである．混在している環境であるため，アップデートを試みるとシステムが破綻する場合がある．また，

KNOPPIX は少なくとも一年に一度はリリースされるとは言え，公開時期が不安定であるため，テスト期間を確保しにくいなど，開発に支障をきたすことがある．起動時に選択できるようになったとは言え，64ビット対応が見送られていることも残念であるし，再構築作業はー 所で行う必要があるため，分業も難し
い．このような問題点への対策として Debian Live [3] というプロジェクトの成果の利用を考えている．
$F$

5

Debian Live Project

Debian Live は Debian の公式なプロジェクトである．Daniel Baumann を中心に進められているこのプロジェクトは，live-config, live-build, live-boot というパッケージ群から構成される Live システム構築スクリプトである．国内でも関西 Debian 勉強会 [4], 技術評論社の解説記事 [5], [6], 信州大学ロボティックス入門ゼミ [7] 等で紹介されている．
Debian Live は，ISO イメージ，USB メモリー用イメージの両方に対応している．圧縮ファイルシステ
ムとして SquashFS, 透過ファイルシステムとして aufs を採用している．また，Debian の squeeze, lenny等に対応しており，Ubuntu ベースのシステムを作成する事もできる．アーキテクチャも 32 ビットの i386,64 ビットの amd64 等にも対応している．KNOPPIX の再構築と大きく異なる点として，deb パッケージをネットワーク上から収集し，その都度，1 から新規に構築を行う．Debian システムのインストーラとしての利用も可能であり，ハードディスクヘインストールして継続的に利用することもできる．

5.1

作成方法

Live システムを構築するには以下のような手順で行う．なお，以下で $ は一般ユーザ，#は root 権限のプロンプトと仮定する．
1. Debian がインストールされた作業環境を用意する．

2. 必要なパッケージをインストールする．
$\#$

apt-get install live-boot live-build live-config

3. ハードディスクに作業領域を確保する．
$ mkdir debian-live; cd debian-live

4. ここでは省略しているが必要に応じてオプションで設定を指定する．
$ lb config

49
5. 構築を行う．
$\#$

lb build

6. virtualbox, kvm, qemu 等の仮想マシンで確認を行う．

7. さらに再構築を行う際は作業ファイルの削除を行う．
$\#$

lb clean

このような手順を踏むことで，新たな Live システムを構成することができる．任意の deb パッケージを指定してインストールすることはもちろんだが，展開されたファイル，ディレクトリ群を決められた場所に配置することで，パッケージシステムを離れて，インストールや設定を行うこともできる．

現在，2012 年度を目処にプロジェクト名を KNOPPIX $/Math$ から MathLibre に変更し，KNOPPIX だ
けでなく Debian Live または，その他のシステムについても検討して，数学ソフトウェア群を統合的に利用することができるシステムを構築していく予定である．
今後の課題としては，Live DVD としての評価をさらに進める．起動時や利用時の速度、 安定性などの検証が必要である．また，詳細なカスタマイズ方法とインストーラの評価を行う．最近の USB メモリーディ
スクの低価格化にともない，配布形態を DVD から USB 環境へ移行できないかについても検討する．これには試験的な配布や，チュートリアルビデオの作成等が必要と思われる．
Debian Live については，開発環境が手軽に用意できること，また，設定ファイルを元に新規構築を行うことから，開発システム自体のの再配布や協同作業化の進展についても期待している．

参考文献[1] KNOPPIX/Math Project, http: $//www$ . knoppix-math. org/

[2] KNOPPIX/Math 作成方法，濱田龍義，数理解析研究所講究録第 1572 巻 2007 年 p94-108.
[3] Debian Live Project, http: //live. debian. net/

[4] 関西 Debian 勉強会 Wiki, のがたじゅん，http: $//www$ .nofuture. $tv/$ index.rb?DebianLive[5] Ubuntu Weekly Recipe: 第 113 回

Debian Live の live-helper を使って Ubuntu Live を作成する，のがたじゅん，http: $// gihyo.jp/ad\min/serial/01/ubuntu-$ recipe/0113[6] Ubuntu Weekly Recipe: 第 114 回

Debian Live の live-helper を使って Ubuntu Live を作成する (2),のがたじゅん，http: $// gihyo.jp/ad\min/serial/01/ubuntu-$ recipe/0114[7] 信州大学ロボティックス入門ゼミ，松本成司，http //yakushi. shinshu $-u$ . ac. $jp/$ robot ics/$:$?DebianLive