もくじ

Squeezeを40台にコピーするまでの手順(2010/9/10)

概要

40台の生徒用コンピュータを用意するために、1台の雛形を作ってHDDの内容をコピーする。コピーの道具は以前はpartimageを使っていたが、今回はClonezillaを使った。

すでにOSのインストールを終え、残る作業は次のとおり。

  1. (1)使用するソフトを揃える
  2. (2)ユーザー認証をサーバーに任せるよう設定する
  3. (3)ユーザーホームをマウントするように設定する
  4. (4)全部のコンピュータにコピーする

今回はとりあえず概要だけ。今後詳細を書く予定。

(1)使用するソフトを揃える

パッケージの加除

これはいつでもできる。Debianではaptitudeやsynapticで必要なソフトを豊富なパッケージから選択して導入ができる。ただしインターネットに接続していない場合は、対応するCD-ROMまたはDVD-ROMが必要である。

メニューに出るパッケージ

gameを削除 
OpenOffice.org(Debian版でなくオフィシャルパッケージを入れる)
Blender(3Dモデリング・レンダリングツール)
Audacity(デジタルオーディオエディタ) 
VLC(メディアプレーヤ)
Geany(editor/軽量IDE) 
ghex(GUI Hex editor)
KSeg, Maxima(数学)
Stellarium(天文)
Tkgate(電気回路)

メニューに出ないパッケージ

bsdmainutils(hd:hexdumpのため) 
hexer(CUI Hex editor)
nautilus-open-terminal(端末の中に開く)
flashplugin-nonfree(flashプラグイン)
libstdc++5, libnspr4(firefoxのプラグイン HTML Validator に必要)
ntpdate(時刻同期)
firmware-linux-nonfree(ドライバいろいろ)
ibus(uim,scimに代わる input method)
ibus-anthy(日本語入力システム)
Java (openjdk-6 がおすすめらしいが…sun-java6-jdkで)
ruby (ruby1.8)
gcc-4.4 (GNU C Compiler 最近はデフォルトで入らない)
g++-4.4 (GNU C++)

プログラミングの仮想項目などメニューのカスタマイズ

KnoppixEduの真似をしてプログラミングのメニューに、エディタと端末を開くだけのスクリプトを入れる。Linuxで Java, C, Perl, Ruby などたくさんのプログラミング言語を使えるということをアピールする。

/usr/local/bin/start-* というスクリプトを作成
/usr/share/apprications/*.desktop を作成
/usr/share/icons/hicolor/48x48/apps/*.png メニューに使うアイコンを格納
# gtk-update-icon-cache /usr/share/icons/hicolor を実行

Firefox, Thunderbird がそれぞれ Iceweasel, Icedove としてパッケージされている。メニュー表記に iconと文字で Firefox, Thunderbird と同じものであることをアピールする。

/usr/share/apprications/*.desktop への書き加え
/usr/share/icons/hicolor/48x48/apps/*.png メニューに使うアイコンを格納
# gtk-update-icon-cache /usr/share/icons/hicolor を実行

排除設定

デフォルトのままでは困ることが若干あります。

ユーザーリストの禁止

Squeezeから、前回ログインしたユーザー(あるいは登録されているユーザー)がリストになって表示され選択するインターフェースになったこれを排除する。(/etc/gdm3/greeter.gconf-defaults)

DHCP関係のソフトを削除・交換

デフォルトの状態では、DHCPからホスト名ドメイン名がとれない。DHCP関係のソフトを削除・交換する必要がある。

より快適にするための設定

/etc/default/grub を編集

Firefoxのデフォルト値

gconftool-2 による設定

勝手にできるディレクトリ抑制

(2)ユーザー認証をサーバーに任せるよう設定する

インストールするパッケージ(関連でいくつか自動追加される)

libnss-ldap
libpam-ldap

設定が必要なファイル

/etc/pam_ldap.conf
/etc/libnss-ldap.conf
/etc/nsswich.conf
/etc/pam.d/* (今回はこれはデフォルトのままでよい。これは朗報)

(3)ユーザーホームをマウントするように設定する

インストールするパッケージ(関連でいくつか自動追加される)

libpam-mount
cifs-utils

設定が必要なファイル

pam_mount.conf.xml (nobrl, file_mode=0600 などのオプションの効果も特筆すべし)
/etc/pam.d/* (今回はこれはデフォルトのままでよい。これは朗報)

(4)全部のコンピュータにコピーする

あらかじめ雛形コンピュータのHDDのディスク全体、またはパーティションのイメージをサーバーにsaveしておき、40台のPC各個でLiveCDなどで起動してHDDのリストアを繰り返すという手法を使う。

以前はKnoppixEduをUSBメモリにコピーしたものを使っていた。USBにしたKnoppixは起動時に実行するシェルスクリプトを記述できるので便利であった。

古めのKnoppixで起動できない(SATAを探さない,ネットワークインターフェースRTL8111に対応しない?)という問題が発覚。KnoppixEduはVer8まで全滅。

Knoppix6.2とClonezillaLiveで起動できる。機能の高さからClonezillaを使うことにする。

ただしClonezillaLiveをUSBにして自動実行したいがUSB起動がうまくいかなかった。(まだやっていないが再トライする価値あり)

GRUBの特殊部分もClonezillaが面倒をみてくれる。partimageではみてくれないのでddコマンドで対応したことを考えて、Clonezillaを使う意志を固める。

Clonezillaのnfsマウントトラブル。これはClonezillaの責任でないが、Clonezillaのスクリプト書き変えで対処できる。(ネットワークドライバ/nfsサーバ/nfsv4/Kernel ntm738.html)

ClonezillaのHDDtoHDDコピーは取り付け前ならお勧めnfsができなくてもローカルでコピーは速い。

Clonezillaのsave最終トラブル。"Saving hardware info by Ishw..." で "Framebuffer devices" と表示したままハングアップすることがある。non vga で始めると日本語にはできないが save は必ず成功する。

ClonezillaのUSB化がうまくいかず、CD起動ではnfsマウントトラブルの回避が手動になる。能率があがらないので、ClonezillaリカバリDVDを作ってリストアした。HDDイメージもDVDに入るのでnfsの問題もなく快適。

saveの前に

ネットワークインターフェースの記録削除(/etc/udev/rules.d/70-persistent-net.rules)が必要。


Linuxクライアント/サーバ運用
聖愛中学高等学校
安達 順一
http://www.seiai.ed.jp/
2010-09-10