筑波大学技術報告
24: 111-118 , 2004

情報環境の整備と改善
筑波大学生命・情報等教育研究支援室（社会工学系）
川上彰、北原匡、北原その美〒305-8573 茨城県つくば市天王台 1-1-1

概要
平成１５年度社会工学系技官研修として「情報環境の整備と改善」というテーマでグループ研修を行った。ここでは、その研修の成果を報告する。

１．はじめに
今年度は、「計算機室での印刷数の管理」、「無線 LAN 環境の構築」、「NetBoot による Macintoshの管理」の３つについて、環境の整備及び改善を行った。

２．計算機室での印刷数の管理
計算機室利用者の印刷枚数は年々増加する傾向にある。このため、詳細な印刷状況を把握するとともに、予め設定した印刷枚数を超えた利用者に使用量を通知することにより、全体使用量を押さえることを目的として本システムを作成した。
2.1 印刷ログの収集
社会工学類の３つの計算機室には合計６台のネットワークプリンタが設置されている。６台のプリン
タから印刷された内容は、富士ゼロックス社のDocuHouse 履歴サービスという市販のソフトを使って Windows2000Server 上に収集される。各プリンタ
は、印刷時にユーザ名や枚数等をプリンタ内に記録し、DocuHouse が定期的に各プリンタの情報を収集する。

送する。転送には UNIX サーバ上に smbclient プログ
ラムを使ったシェルスクリプトを作成し、これをクーロンジョブとして定期的に実行することとした。
この概要を図 2-1 に示す。
2.3 データベース化
UNIX サーバに転送されたテキストベースの情報の内、以下の内容を取り出してデータベースに追加する。データベース機能は、MySQL を使って構築した。
• ユーザＩＤ• 印刷日時• 印刷枚数• 印刷先（プリンタ名）• 印刷タイトル
2.4 集計結果の表示とユーザへの通知
データベース内のデータを集計し、以下のように処理した。
(1) CGI プログラムにより、月別、曜日別、プリンタ別に集計し WEB 表示する。結果は図 2-2 のよ
うに表示される。

2.2 ログ情報の転送
UNIX サ ー バ 上 で 各 種 の 処 理 を 行 う た め 、Windows2000Server 上の印刷ログを UNIX サーバへ転

図 2-2 印刷結果の集計結果

図 2-1 ログ収集の概要(2) クーロン・ジョブで１日１回、夜間にチェック
して設定枚数を越えた利用者にメールを送る。プ
ログラム内には警告を出す際の印刷枚数の初期値と増分が指定されている。印刷枚数が初期値を超える利用者の内、以前に警告が送られていない者にはメールを送る。また、既に送られている利用者の場合は、以前にメールを送った際の印刷枚数と今回の枚数との差が設定された増分値より多い場合は、メールを送信する。

示する。これを利用者のパソコンにダウンロード、
インストールして利用する。利用者の秘密鍵が他人
3.1 IEEE802.1X による認証に利用されることを防ぐため、以下のような対策を
無線 LAN によるアクセスは非常に便利ではあるが、 講じた。
(a) 利用中のパソコン以外のブラウザからのアク
不特定多数の利用者に無制限に公開することは管理セスを防ぐために、http のアクセス制限設定を上問題がある。そこで、IEEE802.1X による認証機構
自動的に行う。
を取り入れることにより、事前に許可された利用者(b)
ファイルが作成されるディレクトリは、ＷＥＢ
のみがネットワークを使用できる環境を構築した。
サーバと管理者以外はアクセスできないように
パーミッション設定した。
(1) 構成(c) 認証用のファイルが作成されたディレクトリ
ネットワーク構成図を図 3-1-1 に示す。NAT ルー
は、作成後２０分で自動的に削除される。
タを使って既存のネットワークと無線 LAN 環境を分(d) 個人用の証明書と秘密鍵入ったファイルに、そけ、NAT ルータの DHCP サーバ機能を使ってパソコのユーザのパスワードを設定し、他人が利用でンにプライベートな IP アドレスを与える。また、無きないようにした。
線 LAN のアクセスポイントは、IEEE802.1X に対応した製品であり、Radius サーバと交信して認証を行う 。 Radius サ ー バ 用 の ソ フ ト ウ ェ ア と し て はFreeRadius を使用した。

３．無線ＬＡＮ環境の構築

図 3-1-2 証明書の発行(4) テスト結果
図 3-1-1 ネットワーク構成図(2) 認証プロトコル
IEEE802.1X では EAP 認証方式が使われるが、これにも幾つか認証方法がある。今回は、Windows XP とMacOS X(バージョン 10.3 以降)で標準でサポートされている EAP/TLS 方式を利用した。EAP/TLS 方式は
公開鍵認証を利用し、パソコンと Radius サーバとの間で相互に証明書を交換して認証を行う。ここで利用したパソコンとサーバの証明書は自己署名型のRoot 認証局を構築し、これを使って各々の証明書を発行した。この方式の特徴としては、ネットワーク
への接続には利用者の ID やパスワードをその都度入力する必要はなく、パソコンにインストールされた証明書を使って行われる。

表 3-1-1 に示す機器を使用してテストを行った。
クライアントとしては、Windows XP のインストール
されたパソコンを使用した。クライアントとしてパ
ソコン１台のみを使用したテストではあるが、通常の状態では問題なく使用できた。ただし、サスペン
ドやレジューム状態になると、その後再接続することができなかった。パソコンとアクセスポイントとの間の接続に問題があるようであるが、原因の特定はできていない。これを回避するために利用者のパ
ソコンをレジュームやサスペンドしない状態に設定して利用することとした。
Macintosh については機器の調達ができず、残念ながらテストできなかった。

表 3-1-1 使用機器

(3) 利用者の証明書発行
証明書の発行は、OpenSSL のツールを使って行うことができる。ただし、証明書発行のためのコマン
ド入力やサーバで作成された証明書のパソコンへのコピー等、煩わしい操作を行わなければならない。
これを簡単にするため、ＷＥＢ上で証明書の発行ができるシステムを作成した。
図 3-1-2 に示すＷＥＢページで NIS サーバに登録されている個人 ID とパスワードを入力すると、証明書と秘密鍵の入ったファイルと Root 認証局の公開鍵ファイルの２つのファイルを作成し、ブラウザに表機器＆ソフトRadius サーバ

GP7000S model45,Solaris 8
FreeRadius,Ver.0.9.3

アクセスポイント

Aironet 1220B (CISCO)

パソコン
無線ＬＡＮカード

DELL INSPIRON 8000
WLI-PCM-L11GP (BUFFALO)

NAT ルータ

BA 5000 PRO (NTT-ME)

3.2 無線 LAN を含んだ情報環境整備の一例
社会工学系資料室1は、中央図書館2の分室としての性格上、図書・雑誌等資料の貸借およびそれに係わる経理業務の仕組みが非常に複雑である上に、その殆どを担当者の手作業で行っていた。また、利用者
は、目的の資料を得るため「ネットワーク環境の整った別の場所で」「事前に」OPAC3で検索した上で、資料室を訪れていた。そこで、利用者、管理者両側面の視点より、以下の３項目について整備を行った。
(1) 無線 LAN 環境の整備
資料室内での無線 LAN 環境を整え、利用者の利便性向上を目指す。ここでは、「セキュアなネットワー
ク」と同時に「利用者、管理者双方にとって簡易な使い勝手」を考慮する。
一般的なセキュリティ対策としては、■MacOS [PowerBook,iBook,iMac_Apple]■WindowsXP [Latitude_Dell,VAIO_Sony]■PalmOS [CLIe_Sony]

で動作確認済み、若しくは稼働中である。
(2) 所蔵資料のデータベース構築
既存の OPAC との使い分け、即ち機能および登録件数を縮小することによって、容易に目的の資料情報を得られることを第一の目的とする。そのため、所蔵資料を大分し、種類別データベース（アプリケーション：FileMaker）を作成する。学系予約雑誌目録、寄贈図書、Discussion Paper に関しては、web 公
開し、利便性の向上を図る（図 3-2-2）。

■SSID の設定により SSID を知らないユーザーの接続を阻止する■AP に MAC アドレス(Media Access Control Address)を登録し、登録したもの以外の接続を拒否する■無線を通じてやりとりされる内容を暗号化し、傍受されても内容が分からないようにする（WEP 暗号化）等が有効とされてはいるが、何れも解析可能であり不確実性は否めない。
そこで、RADIUS 認証方式（3.1 参照）を導入し、よりセキュアなネットワークを構築する。但し、ここでは、AP に、AirMacExtremeBaseStation（認証ＩＤ
として MAC アドレスを採用、NAT ルータ機能含）を使用する（図 3-2-1）。
図 3-2-2 データベースの web 公開
3C201é–âÔçHäwó¼ÉvÉåÉ[ÉìÉeÅ[ÉVÉáÉìÉãÅ[ÉÄñ ê¸LANóòópïÞñ@F1200é–âÔçHäwånéëóøé

CÇQÇOÇPÇ®ÇÊÇ—FÇPÇQÇOÇOê›íuÇÃAP(ÉAÉNÉZÉXÅEÉ|ÉCÉìÉg)ÇÕÅAà»â ÇÃÉZÉLÉÖÉäÉeÉBëŒçÙÇ¾çsÇ¡ÇƒÇ¢Ç‹Ç ÅB(3) 業務の効率化

Å° SSIDÇÃê›íËÇ…ÇÊÇËÅASSIDÇ¾ímÇÁÇ»Ç¢ÉÜÅ[ÉUÅ[ÇÃê¹ë±Ç¾ëjé~Ç ÇÈ
Å° APÇ…MACÉAÉhÉåÉX(Media Access Control Address)Ç¾ìoò^ÇµÅAìoò^ÇµÇžÇ‡ÇÃà»äOÇÃê¹ë±Ç¾ãëî€Ç ÇÈ

ÇªÇÃÇžÇ½ÅA
①éñëOÇ…MACÉAÉhÉåÉXÇÃê\êøÇ¾çsÇ§Å@②ÉpÉ\ÉRÉìè„Ç-à»â ÇÃÅ°ê›íËíl Ç¾éËçÏã²Ç-ê›íËÇ ÇÈÅ@ïKóvÇ™Ç†ÇËÇ‹Ç ÅB
Å°ê›íËéËèá Ç¾ÇŠéQè²â Ç Ç¢ÅBÅiWindows,MacintoshÇ²Ç‡ñ ê¸LANÉAÉ_ÉvÉ^ÇÕÅAä×Ç…égópâ¬î\Ç»èÛë‘Ç-Ç†ÇÈÇ±Ç²Ç¾ëOíÒÇ²ÇµÇƒÇ¢Ç‹Ç Åjê›íËïÞñ@Ç™ÇÌÇ©ÇÁÇ»Ç¢èÍçáÇÕÅA

Å°APã@éÌ

AirMac Extreme Base StationÅiAppleÅj

Å°ÉfÅ[É^í êMïÞñ@IEEE 802.11gÅiIEEE 802.11bå›ä Åj

Å°ê¹ë±è¾åè

Wi-FiîFíËÇÃIEEE 802.11b(àÍïîg)ëŒâûÉèÉCÉÑÉåÉXÉJÅ[ÉhÇ¾ëïíÖÇµÇžWindowsìãç¹É}ÉVÉìÅC
AirMac ExtremeÇ®ÇÊÇ—AirMacÉJÅ[ÉhÇ¾ëïíÖÇµÇžMacintoshÉRÉìÉsÉÖÅ[É^Å°MACÉAÉhÉåÉXê\êøÅF54MbpsÇ-ÇÃÉfÅ[É^í êMÇ™â¬î\Ç-Ç

ê\ êø çÄñ¹ ÅFéÅñº,óòópäÝä‘,ñ ê¸LANÇÃEthernetÉAÉhÉåÉXÅió·Ç¶ÇŒÅA00:0A:95:89:FF:70ÇÃÇÊÇ§Ç»Ç‡ÇÃÅjÅ@íçÅñ
ìØàÍÉ}ÉVÅ[Éìè„Ç…ÅuóLê¸ÅvÇ²Åuñ ê¸Åvà·Ç§ÇQÇ¬ÇÃÉAÉhÉåÉXÇ™Ç†ÇËÇ‹Ç

ê\ êø êÊ ÅFãZäØé ñkå¥ [E-mail:skitahar@sk.tsukuba.ac.jp]
Å°ê›íËílàÍóó

çÄñ¹

íl

ÉlÉbÉgÉèÅ[ÉNñº [SSID]É`ÉÉÉìÉlÉã [CH]********
10

まず、マスタファイルとして、過去１０年間社会
工学系経費で購入した全雑誌データ「雑誌マスタ」（図 3-2-3）を作成し、年度毎に見直される購入継続・中止および新規購入状況を把握することにより、年度別雑誌目録「年度データ」（図 3-2-4）の情報を得る。(2)の予約雑誌目録も、この学系購読雑誌 D.B シ
ステム中の一機能である。

ÅFÇ Ç³ÇƒîºäpÅA****ÇÕëÂïŽéöÇ-Ç

図 3-2-1 無線 LAN（AP 仕様）

さらに目的の一つである「簡易な使い勝手」として、社会工学類プレゼンテーション室（2003 年 9 月
より開室）との一元的管理運用を目指す。即ち、ユーザーは一度の MAC アドレス申請のみで、管理者はRADIUS サーバへの一度の登録のみで、両システムが利用可能となる。尚、同システムは、[データ項目]ID：学系雑誌識別番号 区分：和/洋
タイトル：雑誌名
中止：中止年度
備考：個人購読等
ISSN：共通
Sub：継続・変更誌名1

概要 http://infoshako.sk.tsukuba.ac.jp/~tosho/
筑波大学電子図書館 http://www.tulips.tsukuba.ac.jp/
3
学内蔵書検索 http://www.tulips.tsukuba.ac.jp/opac.html2

図 3-2-3 雑誌マスタ表 3-2-1 作業手順（新着・返却）「年度データ」に、i)図書館からの新着・返却情報を設定することにより（図 3-2-5）、資料室に所蔵されている学系購読雑誌の最新現況や延滞状況が把握可能となる。

[データ項目]

ID,区分,タイトル,中止：雑誌マスタ参照
申請見積：過去の実績による参考額
予算見積：学系予算申請時計上額
概算：契約見積額（図書館通達）
積残 1：前年度繰越使用替額（〃）
積残 2：前年度以前繰越使用替額（〃）
必要経費：前年度繰越支払額（〃）
使用替額：当年度使用替額（〃）
更新日：最新受入日
Vol：最新号
重複学系：同誌購入他学系
重複貸出：新着期間後資料室保管

図 3-2-4 年度データ

1) borrow_new.xls(Excel)を開き「すべてを選択」「削除」
2) mail から data を copy、セル A1 に paste
3) マクロ[データ読込]を起動  +op+r4) 保存終了
5) return_list.xls(Excel)を開き「すべてを選択」「削除」
同様に 2)3)4)
6) return(FM)を開き、スクリプト[返却した時_入替]を起動
7) borrow(FM)を開き、[返却した時_削除]を起動
8) 続けて、[貸出 1_追加]を起動
9) 年度データ xx(FM)を開き、[貸出 2_貸出日更新]を起動
FM 終了

また、ii)図書館より通知された学系購読雑誌の概
算価格を組み込むことにより、予算案作成時における雑誌費の見積額（年度データ：予算見積）がより正確となる。
さらに、iii)実際の使用替額を組み込むことにより、次年度予算案作成時における見積額の補填的データとしても有効となる。これらの作業手順についても、マニュアル化し（表 3-2-2）担当者のガイドとする。
表 3-2-2 作業手順（使用替）
図書館より「雑誌購入費の使用替について」の通知がきたら…

手順
1

図書館より使用替リストのファイルを入手

2

データを年度毎に別ファイルに保存

3

年度データファイルに「リレーションの定義」を設定

4「フィールドの定義」で使用替リストのデータを参照

金額が合わない場合は．．．
5

Master
リレーション

No
title
key_1

・・・
・・・

「使用替リストの誌名」と「年度データのタイトル」が一致していることを確認

違っている場合は．．．

ルックアップ

*

スクリプト

6

年度データxx
No
title
key_1
key_2

Vol

date

「雑誌マスタのタイトル」を「使用替リストの誌名」に変更

・・・
・・・*貸出2_貸出日更新

borrow

mail

title

Vol

date

rtn

key

key_2

[=title&Vol]

key_3

1 週目List
copy&paste

Excel

2

〃

3

〃

4

borrow_new.xls
誌名巻号〃*貸出1_追加*返却した時_削除

append

貸出日

deletereturn_list.xls
誌名巻号

return
貸出日

返却日

replace

title

Vol

date

rtn

key

[=title&Vol]

key_3*返却した時_入替

図 3-2-5 データフロー（新着雑誌）

実際の作業手順は、上記のデータフローの概念図とともにマニュアル化し（表 3-2-1）、担当者の理解を得る。

D.B システムとしては非正規形にならざるを得な
いデータ構造を持つ業務内容のため、完全定型化を敢えて避け、作業行程を幾つかに分けたオブジェク
ト単位での自動化にとどめ、システム全体に柔軟性を持たせる。このことは同時に、実際の担当者が、単純なオペレーションの繰り返しとならず、業務内容に対する理解を深めるためにも有益となる。
また、このシステムの実現には、従来図書館より文書の形で通達されていた情報の「デジタル形式による入手」が前提となる。事務文書全般を通じて徐々にデジタル化の方向にはあるが、新着・返却リスト
等通常の手続きとは別に、図書館担当者の方の協力を必要とする部分も残る。
このような組織間の連携性は、業務の効率化を考える上で、重要な課題の一つであると考える。

４. NetBoot による Macintosh の管理
4.1 NetBoot システムの概要
Mac OS X Server で標準提供されている NetBoot 機
構を用いることにより、各クライアント Macintosh
はローカル HDD から起動するのではなく、ネットワーク経由で NetoBoot サーバに保存されているディス
クイメージから起動する。管理する側からみると、サーバ上の一つのディスクイメージのみを保守管理すれば、全てのクライアント Macintosh に同等の環境を提供することができ、OS やアプリケーションのアップデートをクライアント台数分適用する煩わしさはなくなる。また、クライアントに障害が起きたとしても再起動するだけでよく、再インストール、再設定等の作業が不要になる。この方法で数カ月運用
して特に問題はない。
本報告では、当研究科での NetBoot システムの構成と設定手順を紹介する。
4.2 システム構成
図 4-1 に示す本システムは、以下のような構成とする。
4.2.1 クライアントパソコン• iMac 400MHz/512MB 4 台• Mac OS X 10.2.8 を NetBoot させる• 研究科サブネットに接続し、既存の DHCP, DNS サービスを利用する• ユーザ認証は社会工学類計算機システムの NIS を利用する• ユーザディレクトリは社会工学
類計算機システムの NFS を利用
する
4.2.2 NetBoot サーバ• MacintoshServerG4 733Mhz/1GB• Mac OS X Server 10.2.8• 研究科サブネットに接続し、既存の DHCP および DNS サービスを利用する

• NetBoot サーバ機能のみ稼働させる
図 4-1 システム構成

4.2.3 DHCP サーバ• 研究科サブネットにある既存の DHCP(MAC アド
レスによる静的 IP 割当)
4.2.4 ネットワーク• 研究科サブネットに接続し、既存の DHCP, DNS
サービスを利用する• 筑波大学キャンパスネット下の単一の研究科サブ

ネットを利用し、NetBoot 用に新たにローカルサブ
ネットは作らない。
4.3 NetBoot システムの設定と起動
本システムの設定手順は以下の通りである。
4.3.1 ディスクイメージの作成• 雛形システムの設定
1. 任意の Macintosh（クラアント iMac と同一ハードが望ましい）上にテンプレートとなるシステム（OS, アプリインストール, 基本環境設定含む）
を管理者権限で構築する。当然の事ながら、NIS
および NFS の設定もここで行い、動作確認をしておく。（本報告では、NIS,NFS の設定は省略する）
2. 新たに雛形ユーザを登録し利用環境を設定する。
（user 名を tempuser と仮定）「4.4.1 ユーザの利
用環境の設定」を参照。
3. NetBoot 時にクライアントの「コンピュータ名」
および「Rendezvous 名」を DNS 上のホスト名に自動設定するために、処理パッケージを/Library/StartupItems に埋め込む。「4.4.2 コンピ
ュータ名の設定」を参照。
4. /etc/hostconfig に "COMPUTERNAME=-YES-" のエントリーを追加する。
• イメージ作成
5. 外付けのディスク（FireWireHDD 等）を接続し、空の任意のパーティション(MacIMG とする)をマ
ウントする。
6. Disk Copy を起動し、「ファイル」メニューから「新規」を選び、次にサブメニューから「フォルダまたはボリュームのイメージ」を選び、起動ボリュ
ームを選択する。
7. 「イメージ」をクリックし、「ボリュームのイメージ作成」パネルでイメージ名（起動ディスクボリューム名）を入力し、作成先として外付けディス
クのパーティションを選択し「イメージフォーマット」のポップアップメニューから「読み込み／
書き込み」を選択する。
8. 「保存」をクリック。イメージ作成には長時間を要する。
9. Disk Copy で、作成したイメージファイルのイメージサイズを増やす。概ね元サイズの２倍を目安にする。
10. 「ターミナル」(/Applications/Utilities)を起動し、以下のコマンドを入力。
#kextcache -l -n -m/Volumes/MacIMG/mach.macosx.mkext/System/Library/Extensions
11. 外付けディスクをアンマウントし外す。
• NetBoot イメージ設定
12. サーバに外付けディスクを接続しマウントする。
13. ターミナルで/Library/NetBoot/NetBootSP0/MacHD.nbi ディレ
クトリを作成する。

14. 作成したイメージ MacHD.dmg とmach.macosx.mkext ファイル を上記ディレクト
リにコピーする。
15. MacHD.dmg ファイルをダブルクリックしてデス
クトップ上にマウントする。
16. 以下のコマンドを入力。
# cd /Library/NetBoot/NetBootSP0/MacHD.nbi# cp/Volumes/MacHD/usr/standalone/ppc/bootx.bootinfo
booter# cp /Volumes/iMacHD/mach_kernel mach.macosx
17. 以下のプロパティーを NBImageInfo.plist という名称で作成。
- BootFile, String, booter- Index, Number,（任意の整数）- IsDefault, Boolean, Yes or No- IsEnabled, Boolean, No- IsInstall, Boolean, No- Name, String,（イメージ名。この場合 MacHD）- RootPath, String,（イメージファイル名。この場
合 MacHD.dmg ）- Type, String, NFS
4.3.2 NetBoot サーバの設定と起動
NetBoot イメージを選択(MacHD.dmg)し、デフォル
トイメージとし、NetBoot サーバを起動する。
4.3.3 クライアントの起動
クライアントの電源オン時に、同時に n キーを押したままにすると、自動的にネットワークイメージを検索して、NetBoot する。Apple Remote Desktop を用いると、再起動等の一括制御が可能になるので更に管理しやすくなる。
4.4 利用環境の設定
4.4.1 ユーザの利用環境の設定
はじめて Macintosh にログインするユーザは、その利用環境（言語設定や、ファインダーの設定、Dock
へのアプリケーション登録等）はシステムの初期設定になっている。それらは手作業で個人毎になされるべきものではあるが、研究科に特化した環境を簡単に初期設定するための図 4-2 のようなアプリケー
ション(InitEnv.app)を Project Builder を用いて作成した。このアプリケーションは、あらかじめ作成された雛形ユーザ（tempuser）の利用環境情報を各ユーザのホームディレクトリ内の各種設定ファイルに上書き保存する。この操作はユーザが任意で一度だけ実行可能である。
雛形となるローカルユーザ（tempuser）が設定した動作環境を tar でまとめて保管する図 4-3 のシェルス
クリプトを作成し、LogoutHook として登録する。登録は以下のコマンドを用いる。
# defaults write com.apple.loginwindow LogoutHook/Library/Management/logout.sh

図 4-2 InitEnv アプリケーション#!/bin/csh -f## /Library/Management/logout.sh for LOGOUT HOOK## $1: user name provided from login panel## Make prototype resource file and InitEnv application
set TEMPUSER = tempuser
set TARDIST = /Users/Shared/TempRsrc
if ( ! -d $TARDIST ) then/bin/mkdir $TARDIST/bin/chmod 777 $TARDIST
endif
set RSRC = $TARDIST/TempUserRsrc.tar
set CMND = $TARDIST/InitEnv.tar
set APPDIR = /Applications
if ( "$1" == "$TEMPUSER" ) thencd ~$TEMPUSER/usr/bin/tar -cf $RSRC Library .CFUserTextEncoding .Trashif ( ! -e $CMND ) then
cd $APPDIR/usr/bin/tar -cf $CMND InitEnv.app
endif
endif
exit 0

図 4-3 LogoutHook スクリプト

また、ユーザログイン時、既に環境設定されているかどうか検査し、未設定であればこのアプリケーシ
ョンをユーザデスクトップ上にコピーするような図
4-4 のシェルスクリプトを LoginHook として登録する。登録は以下のコマンドを用いる。
# defaults write com.apple.loginwindow LoginHook/Library/Management/login.sh#!/bin/csh -f## /Library/Management/login.sh for LOGIN HOOK## $1: user name provided from login panel## Copy InitEnv.tar to user's Desktop, and untar
set TEMPUSER = tempuser
set TARDIST = /Users/Shared/TempRsrc
if ( ! -e ~$1/.keisei ) thenif ( "$1" != "$TEMPUSER" ) thenif ( ! -e ~$1/Desktop ) then/usr/bin/sudo -u $1 /bin/mkdir ~$1/Desktop
endif
if ( -e $TARDIST/InitEnv.tar ) then/usr/bin/sudo -u $1 /bin/chmod 777 ~$1/Desktop/usr/bin/sudo -u $1 /bin/cp -f $TARDIST/InitEnv.tar ~$1/Desktop
cd ~$1/Desktop/usr/bin/sudo -u $1 /usr/bin/tar -xf InitEnv.tar/usr/bin/sudo -u $1 /bin/rm -f InitEnv.tar/usr/bin/sudo -u $1 /bin/chmod 700 ~$1/Desktop
endif
endif
else
/usr/bin/sudo -u $1 /bin/rm -Rf ~$1/Desktop/InitEnv.app
endif
exit 0

図 4-4 LoginHook スクリプト

図 4-5 は図 4-4 のスクリプトによってデスクトップ上
4.5 ディスクイメージの更新に現れた InitEnv アプリケーションのアイコンである。
OS およびアプリケーションの新規インストール、
アップデートはサーバ上の NetBoot ディスクイメー
ジを変更するだけでよい。既存イメージの変更は２つの方法がある。
4.5.1 サーバ上で行う方法
ディスクイメージをマウントした後、所定のアップデータをそのボリュームに対して実行させ、

図 4-5 DeskTop 上の InitEnv アイコン

4.4.2 コンピュータ名の設定
一つのディスクイメージから起動するため、Macintosh 特有の AppleTalk 名（コンピュータ名）、
Rendezvous 名はどのクライアントも同じになってしまう。図 4-6 のような Startup スクリプトを設定し、DNS 名で置き換えるようにした。
/Library/StartupItems/ComputerName
Resources/English.lproj/Localizable.strings<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd"><plist version="0.9"><dict><key>Checking Computer Name</key><string>Checking Computer Name</string><key>Setting Computer Name</key><string>Setting Computer Name</string></dict></plist>StartupParameters.plist{}

Description = "Computer Name";
Provides= ("ComputerName");Requires= ("Core Services","NetworkExtensions");
OrderPreference = "Last";

ComputerName#!/bin/sh### ComputerName by M.Kitahara##. /etc/rc.common
StartService (){if [ "${COMPUTERNAME:=-NO-}" = "-YES-" ]; thenConsoleMessage "Setting Computer Name"
prefdir="/var/db/SystemConfiguration"
pref="preferences.xml"
keyCN="\<key\>ComputerName\<\/key\>"
keyHN="\<key\>LocalHostName\<\/key\>"#macad=`ifconfig en0 | grep ether | awk '{print($2)}'`
atnam=`hostname | awk -F"." '{print($1)}'`
cat ${prefdir}/${pref} | awk ' \/'"${keyHN}"'/ \{ printf("%s\n\t\t\t\t\<string\>%s\<\/string\>\n",$0,"'"$atnam"'")getline vanish
next } \/'"${keyCN}"'/ \{ printf("%s\n\t\t\t\<string\>%s\<\/string\>\n",$0,"'"$atnam"'")getline vanish
next } \{ print $0 }' >| /tmp/CompName$$
mv /tmp/CompName$$ ${prefdir}/${pref}fi}
StopService (){return 0}
RestartService (){return 0}
RunService "$1"

図 4-6 コンピュータ名設定スクリプト# cd /Library/NetBoot/NetBootSP0/MacHD.nbi# vsdbutil -a /Volumes/MacHD# kextcache -l -n -m mach.macosx.mkext/Volumes/MacHD/System/Library/Extensions# cp/Volumes/MacHD/usr/standalone/ppc/bootx.bootinfo
booter# cp /Volumes/MacHD/mach_kernel mach.macosxを実行することで可能である。この場合、環境の設
定変更は GUI ではできないので、直接設定ファイル（preferences.xml 等）を編集する必要がある。
4.5.2 クライアント上で行う方法
サーバ上でイメージをマウント後、シェアウェア
の Carbon Copy Cloner 等を用いて、外付けディスクの空パーティション上に全てコピーする。
クライアントマシンにその HDD を接続し、そのパーティションから起動する。通常のアップデート作業
および、設定等を行い、外付けディスクを再びサーバに接続し、Carbon Copy Cloner 等でサーバ側にある元のイメージ（まだマウントしてあるはずの/Library/NetBoot/NetBootSP0/MacHD.nbi のMacHD.dmg）に戻す。そして以下のコマンドを入力。
# cd /Library/NetBoot/NetBootSP0/MacHD.nbi# kextcache -l -n -m mach.macosx.mkext/Volumes/MacHD/System/Library/Extensions# cp/Volumes/MacHD/usr/standalone/ppc/bootx.bootinfo
booter# cp /Volumes/MacHD/mach_kernel mach.macosx
4.6 本 NetBoot システムの現状
当研究科のクライアント Mac は４台であるため、研究科ネットにサーバとともに全て直接接続したが、クライアント台数が多い場合は、ネットワークおよびサーバの負荷を考慮すると、複数サーバに複数のNIC を装備しサブネットを構成して負荷分散をはかる必要がある。また、ディスクイメージを分散化させて配置する必要もある。概ねサブネットあたり十数台のクライアントが実用限度ではないだろうか。
ただし、マシンやネットワークの能力が向上すればさらに多くのクライアントを処理できると考える。
ちなみに Apple では最大２５台としている。
本システムでは、クライアント４台を同時に NetBoot

境を整備していくことが、研究・教育・事務各々にさせた場合、マシンによってばらつきが出るが、約とっての効率化に有益であると考える。
１分〜３分でログインパネルが出現し、利用可能状
Mac OS X 10.2.x での NetBoot システムはまだ改善態になった。
の余地はあるものの、
小規模な Macintosh 端末室等に今回の NetBoot 構成は、shako システムの NIS によよる運用では管理面および利用面双方において十分るユーザ認証サービスおよび、NFS マウントによるなメリットがあると言える。Mac OS X のバージョン
ユーザホームディレクトリサービスを受けるため、アップとともに、NetBoot の機能は更に向上している
Apple 推奨のシステムは構築しがたく、プロトタイプ
システム上でそれらの設定を含む全ての設定を施し、 ので、今後のシステム構築に積極的に導入することとしたい。
アプリケーションソフトをインストールした上で、なお、この研修の内容については、ウェブページ
ディスクイメージを作成している。NetBoot による起にも掲載されているので参考にして頂きたい。
動においても、それらは問題なく正常に動作してい(http://infoshako.sk.tsukuba.ac.jp/kenshu)
る。ただし、当然のことながら、各アプリケーショ
ン等は、ネットワークライセンス等が必要で、Mac OS
X についてもクライアント数分のライセンスは必要である。
4.7 今後の課題
今後の課題として以下があげられる。

• イメージ作成、アップデート作業の際のコマンド
操作の簡略化• 学類 Mac と研究科 Mac 両方使うユーザに対して、謝辞
研修にあたっては、「社会工学系技官研修経費」から補助を受けました。研修に御理解、御協力頂きました橋本社会工学系長に感謝いたします。
また、図書館部情報管理課各位には、種々のデジ
タル情報の提供依頼さらには細かなフォーマット修
正の要求等に善処して頂きましたことに対し、厚くお礼申し上げます。

Dock の自動切替の仕組み• クライアント Mac のディスクレス化の可能性• NetBoot サーバの負荷分散• 既存 DHCP サーバとの両立性の向上• 他プラットフォーム上での NetBoot サービス
本システムは Mac OS X 10.2.8 (Jaguar)をベースに構築されているが、運用試行および本報告作成中既に Mac OS X 10.3.2 および同 Server (Panther)がリリースされている。この新 OS では、NetBoot に関連する操作環境が著しく改善されており、本報告で用いた
方法はもはや不要となっている部分も多い。また上に挙げた課題も解決されているようである。
今後はクライアントおよびサーバを 10.3 ベースにアップデートし、さらに操作性、機能性を向上させた NetBoot システムを構築したい。
また、ユーザ認証およびディレクトリサービスの面
でも新たな効率の良い方法を検討する必要がある。

５．まとめ
印刷枚数の制限を行うことにより印刷量を約１４％削減することができた。また、印刷ログをデー
タベース化することにより、集計方法や利用者への対応方法等、柔軟な対応が可能となった。
認証機構を使った無線 LAN 環境の構築については、対応したハードウェアとソフトウェアが必要とされる。新たな規格も策定されているようで、今後更に環境も充実してくるものと思われる。そのような技術開発そのものが途上の中で、常によりセキュアなシステムを模索しつつ、少しでも使い勝手のよい環

参考資料[1] 日本 MySQL ユーザー会著："MySQL 徹底入門"，翔泳社[2] "Software Design" 2003 年 3 月号第２特集 ゼロからはじめる MySQL，技術評論社[3] I/O 第１編集部："暗号攻略マニュアル"，工学社[4] Mac OS X Server 管理者ガイド[5] Apple Support Discussion Board
http://discussions.info.apple.co.jp/[6] Apple Tech Info Library
http://til.info.apple.co.jp/[7] Apple Mac OS X Server ドキュメンテーション
http://www.apple.co.jp/server/documentation/[8] Apple ディレクトリサービスビジネスソリューション
セミナー資料[9] Apple Mac OS X Server 10.3 ハンズオンセミナー資料