特集•ThinkPad 570 で FreeBSD 0 トールされています。 anago% ls /usr/src/sys Makefi1e ddb netinet pccard -C /usr/src/sys . ORG tar xf 現在の /usr/src/sys が /usr/src/sys. ORG へバック アップされます。バックアップしたファイルをもとに 戻すには、以下のようにします。 # cd /usr/src/PA03 # make restore¯sys 4. カーネルソースに PAO のカーネル用パッチを当てる。 # cd /usr/src/PA03 # make patch もし、 make patch を実行して、 Reversed ()r previously applied) patch detected ! Assume —R? [y] と表示された場合は、すでに PAO 対応のカーネルソ ースがインストールされている可能性があります。 AC ([ctrl] 十 [C]) でキャンセルしましよう 2 5. PAO のインクルード・ファイルをインストールする。 # cd /usr/src/PA03 # make install—include 6. ( 必要なら ) /usr/include を /usr/src/include. ORG へバックアップ # mkdir —p /usr/src/include. ORG # cd /usr/include & & tar cf —C /usr/src/include . ORG tar xf これで PAO カーネルを作成する準備カきました。 こまでの結果をバックアップしておくとよいでしよう # tar cvfz PAO-kerne1—source . tgz /usr/src/sys /usr/include /usr/src/PAO カーネルの築 カーネルを明冓築するには、ます力ーネル設定ファイル を編集します。設定ファイルは /usr/src/sys/i386/conf にあります。 # cd /usr/src/sys/i386/conf # ls devices . i386 Makefi1e . i386 GENER I C PAO_ALL majors . i386 LINT files . i386 options. i386 LKM kernel . script PCCARD usr/src. orig" のように 20 うまくいかない場合は、 mv /usr/src /usr/src をリネームし、再隻カーネルソースと PAO を颶用しなおし てみてください。 もとに戻すときは•tar xvfz PAO-kerneI-source. tgz -C / " と 21 します。 1 ibkern alpha /usr/src/sys がなかったり、再度インストールする場 合は次のようにします。 sysinstall で、 FreeBSD の疋 (Configuration)' → 、配布物 (Distributions)' →、ソース (src)" →、、カーネ ルソース ( sys ) " も尺してインストールします 18 今回は、ノート PC である ThinkPad 570 でのカ ーネル作成ですから、 PAO をあわせてインストールし、 PAO を含めたカーネル作成をおこないます。したがって、 PA019 もインストールしましよう。なお、 PAO のインス トーラを使って paosrc をインストールしている場合は、 PAO カーネルのソースとアプリケーションが /usr/src/ PA03 にすでに展開されているはずなので、この作業は不 要です。 PAO がインストールされていない場合は、以下に示す 手順で PAO を含めたカーネルを作成します。 1. カーネルソース (sys) をインストールし、 PAO を入手 する。 2. PAO を展開する ( PA03 ー 20000130. tar. gz の位置に 合わせて修正します ) 。 # cd /usr/src # tar xvfz PA03 ー 20000130. tar. gz PA03/ PA03/sys/ PA03/sys/sys—pao . diff PA03/etc/ PA03/usr. sbin/wlpconfig/wlpconfig. 8 PA03/usr. sbin/wlpconfig/wlpconfig. c 3. 必喫ならカーネルソース (/usr/src/sys) のバックアッ プをおこなう。 # cd /usr/src/PA03 # make backup—sys # rm -rf /usr/src/sys . ORG & & mkdir -p /usr/src/sys . ORG # cd /usr/src/sys & & tar cf 18 もちろん、 FTP や CDROM といったメディア言置が必要です。 19 詳しくは 3 月号を参照してください。 ftp://daemon.jp.FreeBSD. ORG/pub/FreeBSD-jp/PAO/から入手でき、 3 月中異点での 最新阪は PA03-20000130. tar. gz です。 0 21 90 UNIX MAG AZINE 2000.5
連載 / 遠隔オフィスとの接続ーの 図 4 telnet について調べる $ grep telnet /etc/inetd. conf # Ftp and telnet are telnet stream tcp 図 5 inetd. confØf 列 # Ftp and telnet are ftp stream telnet stream t cp t CP standard lnternet nowait root standard lnternet nowait root nowait root servlces . /usr/sbin/in. telnetd servxces . /usr/sbin/in. telnetd /usr/sbin/in. ftpd # Tnamed serves the obsolete IEN—116 name server protocol. name dgram udp wait て 00t /usr/sbin/in. tnamed # She11, login, exec , comsat and talk are BSD protocols . shell login exec comsat t alk stream stream stream dgr am dgr am t cp tcp tcp udp udp nowait nowait nowait wait wait root root root root /usr/sbin/in. rshd /usr/sbin/in ・ rlogind /usr/sbin/in /usr/sbin/in /usr/sbin/in. talkd . comsat . rexecd 1Ⅱ . telnetd 1 取 . ftpd 1れ . telnetd ln . talkd 1 Ⅱ . comsat 1 Ⅱ . rexecd 1 Ⅱ . rlogind 1 Ⅱ . rshd ln . tnamed inetd. conf にかかわるトラブル 項目の順番か設っている 項目か不足している たとえば、 ほとんどは、 inetd. conf の言当に間題があります。 inetd から起動されるサービスか利用できないケ ースの などの問題があっても、 inetd 自体は起動できてしまうの で、当の誤りに気つ、かないことが多いようです。 また、ごく稀に、 inetd に対応していないプログラムを ⅲ etd. c 。 nf に設定してしまうこともあります。しかし、デ ーモンプロセスを inetd から起動させるには、常駐させる 場合とはプログラムの作り方を変える必要があります。し たがって、 RC から起動させていたプログラムをそのまま inetd から起動させることはできません。 これらの inetd 特有の問題は、通常はサーピスのプログ ラムをインストールするときに気づくものですが、 inetd. c 。 nf の設定を変更するときにミスを犯すことも珍しくあ りません。設定を変更したときには、サービスか利用でき るかどうかを石忍するよう心がけてください。 66 inetd. conf の記述形式 上記のように、 inetd に関するトラブルは inetd. conf の言当の誤りに起因することが多いようです。そこで、以 下では inetd. conf の記「彡式について説明します。 inetd. conf では、 1 行に 1 つのサーピスの成疋を言己 します。各行はスペース文字またはタブ文字で区切られた 7 つのフィールドから構成されます。 図 5 に inetd. conf の例を示します。なお、、 # " で始 まる行はコメント行です。 6. プログラムのノヾス 5. 実行ユーヨガーー 4. タイムアウト前にソケットを解放するかどうか 3. プロトコル 2. ソケットタイプ 1. サービス名 各フィールドには次の内容を設定します。 UNIX MAGAZIN E 2000.5 ドキュメントなどの説明に従って設定します。 よって決まるので、プログラムをインストールするとき 1 ~ 4 番目のフィールドの値はプログラムの実装カ 1 去に 7. プログラムに渡す引数
特集 'ThinkPad 570 で FreeBSD 0 表 4 ・ URL [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ 17 ] [ 18 ] http://www.x.org/ http://www.xfree86.org/ http://www.xigraphics.com http://www.neomagic.com/ http://www.neomagic.com/products.html ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-3-stable ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/3.4-install.iso ftp://ftp.jp.freebsd.org/ ( 国内ミラー ) ftp://ftp.jp.freebsd.org/FreeBSD/releases/i386/3.4-RELEASE/floppies/*.flp ftp://ftp.jp.freebsd.org/FreeBSD/releases/i386/3.4-RELEASE/floppies/pccard/*.flp http://www.intel.com/design/usb/ohcilld.pdf http://www.intel.com/design/usb/uhcilld.pdf http://www.opensound.com http://www.cirrus.com/products/overviews/cs4280.html http://www.real.com/ http.//www.FreeBSD.org/releases/4.0R/announce.html ftp://ftp.jp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/4.()-install.iso ( 国内ミラー ) http://www.FreeBSD.org/releases/4.0R/notes.html http://www.karne.net/ http://www.v6.wide.ad.jp/ (WIDE プロジェクト lPv6 WG) カードは満足に使えないので ( 原因を調査中 ) 、とりあえ したりしています。 す USB Ethernet アタブタ ( メルコ LUA-TX aue0) を 利用して生活しています。アプリケーションに関しては、 ( おおえ・まさふみ奈良科 ! 物支術大凝完々学 ) リケーションに朮点をおいて説明する予定です。 次回は、メールや WWW といった生活に必要なアプ Section "Fi1es' # XF86Config auto-generated by XF86Setup リスト 1 ThinkPad 570 用の /etc/XF86Config ( 図 25 ) 。気分しだいで 4. OR を起動したり、 3.4R を起動 と 4. OR のバイナリを併用して生活環境を構築しています 3.4R のスライスを 4. OR でマウントし、 3.4R のバイナリ RgbP ath FontPath FontPath FontPath FontPath FontPath EndSection "/usr/X11R6/1ib/X11/rgb" "/usr/X11R6/1ib/X11/fonts/10ca1" "/usr/X11R6/1ib/X11/fonts/misc:unsca1ed,/usr/X11R6/1ib/X11/fonts/75dpi :unscaled" "/usr/X11R6/1ib/X11/fonts/100dpi :unsca1ed,/usr/X11R6/1ib/X11/fonts/Typel" "/usr/X11R6/1ib/X11/fonts/Speedo,/usr/X11R6/1ib/X11/fonts/misc" "/usr/X11R6/1ib/X11/fonts/75dpi,/usr/X11R6/1ib/X11/fonts/100dpi" Section "ServerF1ags " EndSection Section "Keyboard" Protoc01 AutoRepeat LeftA1t RightA1t Scr011Lock RightCt1 XkbKeycodes XkbType s XkbC ompat 98 " Standard" 500 30 Meta Meta Compose Co Ⅱ t て 01 "xfree86' "default' "default " UNIX MAGAZINE 2000.5
環境設定とカーネルの再構築 図 23 デバイスの認 (dmesg の出力から抜粋 ) ・ IDE (PCI-IDE) 周りのデパイスの認識 uhciO: く lntel 82371AB / EB USB Host Contr011er> rev 0X01 int d irq 11 on pciO. 6.2 ・ USB 周りのデパイスの認識 wdc0 : unit 0 (wdO) : く IBM-DARA—218000> , DMA , 32-bit wdcO at 0X1f0 ー 0X1f7 irq 14 flags 0Xa000a0000n isa ide—pciO: く lntel PIIX4 Bus-master IDE controller> rev 0X01 on pciO. 6.1 uhubO: lntel UHCI root hub, class 9 / 0 , rev 1 .00 / 1 .00 , addr 1 uhubO at usbO usbO : く lntel 82371AB / EB USB Host Contr011er> uhubO : 2 ports with 2 removable , self powered カーネルの作成か開始されます。作砌間は、 Pentium Ⅱ 366MHz のモデルで約 8 分です。カーネルができると 次のように表示されます。 loading kernel data bss de c hex filename text 2074813 141456 164952 2381221 2455a5 kernel # 1s —1a kernel —rwxr-xr—x 1 て 00t wheel 1870547 Mar 24 00 : 00 kernel リネームして、再度カーネルソースをインストールしなお ラーになった場合は、 /usr/src を /usr/src. ORG などに 能性か高いのでチェックしましよう。 PAO-ALL でも工 それでエラーが出なけれは、設定ファイルに問題がある可 ALL で config 、 make depend 、 make を実行します。 工ラーが出て終了した場合は、疋ファイルの PAO- カーネルのコンパイルカ院了したら、インストールをお しましよう。 カーネルが /kernel にインストールさオし以前のカーネ ke rne 1 / instaII —c —m 555 ー 0 root —g PATH=$PATH : /sbin : /usr/sbin ; mv /kernel /kernel .01d chflags noschg /kernel # make insta11 こないます。 # cd /usr/src/PA03 # make t001S ()d /usr/src/PA03/usr. sbin ; SYS=/usr/src/sys) = > cnvctl # make insta11—t001s make if [ whe e 1 PAO のアプリケーション ルは /kernel. old にリネームされます。 sysctl -fschg PAO を新規インストールしたりバージョンを更新した 場合は、 PAO のアプリケーションの作成とインストール UNIX MAGAZINE 2000.5 を実行しておきます。 PC カードのデータベース・ファイルなどの設定ファイ ルのインストールや、デバイスファイルの作成もおこない ます。 # make install—etc insta11 —c ー 0 root —g wheel —m 0644 etc/rc. pccard etc/etc . i386/disktab /etc/ # make devices cd /dev & & sh MAKEDEV cardO cardl card2 card3 PAO を使用していない PC に初めてインストールす る場合は、次のエントリを /etc/rc. conf に追加するか、 sysinstall を夫行してメインメニューから、、成正メニュー (Configure)" →、、スタートアップサーピス (Startup)" で pccard を尺します ( 詳しくは前回を参照 ) 。 pccard—enab1e="YES" pccard—beep="2" pccard—mem="DEFAULT" pccard—ether="edO epO s 取 0 feO cnwO" pccardd—flags= ー i 10 ー i 11 " ifconfig—common="DHCP" ifconfig—ed()=$ifconfig-common ifconfig—ep()=$ifconfig—common ifconfig—sn()=$ifconfig-common ifconfig—fe()=$ifconfig—common ifconfig—cnw()=$ifconfig-common 新カーネルで再起動 新しいカーネルのインストールか終ったら、イ年起動しま しよう。さきはどのカーネル設定ファイルを使った場合 93
特集 IThinkPad 570 で FreeBSD 0 図 24 /usr/local/etc/rc. d/oss. sh # ! /bin/sh [ —x /usr/local/bin/soundon ] & & /usr/local/bin/soundon & & echo ーⅡ ' OSS , 写真 2 メルコの USB Ethernet アタブタ LUA-TX # chmod a + x /usr/local/etc/rc . d/oss . sh soundon を夫行すると、 3 日試用できるとのメッセー ジか表示されます。これで、サウンドドライバの糸ムみが 終りました。 次はアプリケーションです。たんに音が鳴るかどうか を確認するなら、次のようにすれば FreeBSD COPY- RIGHT の、、音 " カけます : ー ) cat /COPYRIGHT > /dev/dsp やはりちゃんとした ( ? ) 音か聴きたいので、コマンドラ インから MP3 か再生できる mpg123 をインストールし ・ハングアップ 特定のアプリケーション ( 石薩忍したものでは xllamp) ます。これは packages か ports を使ってインストール します。 と組み合わせると、再生中にハングアッフすることがあ ります。 packages なら、 sysinstall を使って packages/audio の mpg123 お尺し、インストールします 30 。 ports な したがって、製品版の OSS は体阪を使い - } ・分糸断等し ら、 /usr/ports/audio/mpg123 で make install しま たうえて購入してください。購入は、主要なクレジットカ す。 ードで決済することになり、購入後に電子メールで送られ mpg123 のインストールカ院了したら、適当な mp3 フ てくる、、ライセンスシート " を soundconf で読み込むと ァイルを用意して再生してみましよう。 製品版の OSS となります。なお、 OSS の購 . 入時の注意点 % mpg123 hoge ・ mp3 として、 CS4280 を利用する場合は FreeBSD 3. x 用 32 の OSS 単体 ( 30 ドル ) と、オプションの Crystal CS4280 音カ咄るようになると感動も大きいものです。その勢い (CRYSTAL) ( 10 ドル ) の両方を購入しなくてはなりま で、 Linux 工ミュレータ 31 と Linux 版の ReaIPIayer7 せん。 (BASIC)[14] を組み合わせて、ストリーム医の受信が可 能なことも石忍しました。 なお、現在の FreeBSD 版 OSS の欠点としては以下の ものか挙げられます。 ・画面の描画による音飛び OSS のマニュアルには、サウンドカードにプライベー ト IRQ を割り当てることとなっています。しかし 570 では、 VGA (NeoMagic) と SOUND (CrystaI) は かならす IRQ を共有するため、グラフィック描画に負 担がかかると音カ呱ふ場合があります (OSS によれば、 この問題は修正されるそうです ) 。 30 公開されているインストール CD-ROM の packages には mpg123 ( 劃求されていません。 kmp3 や xllamp などがあります。 31 sysinstall の "Startup" で言殳定できます。 物 4 ないい 0 0 4. O-RELEASE 3 月 14 日に、 FreeBSD 4. O-RELEASE ( 以下、 4. OR と表記 ) の公開かアナウンス [ 15 ] されました。 4. OR のイン ストール CD-ROM[16] も公開されています。 4. OR のリ リースノート [ 17 ] や、実際に 570 に 4. OR をインストール した結果から気になる点を以下にまとめます。 1. PC カードのサポート 3.4R でも PAO が一部統合されましたが、 4. OR に なって統合がさらに進み、 PC カードカ鰾準て利用で きるようになっています。しかし、改善されたとはい 32 FreeBSD 4.0 用のバージョンもあります。 96 UNIX MAG AZINE 2000.5
環境設定とカーネルの再構築 ロその 1 、起重加の ThinkPad のロゴから、プートセレクタが表示さ れるまて時間がかかる " のは、接続されていないフロッピー デバイスのタイムアウト待ちが原因です。ですから、フロッ ピーから起測ける必要がないときは、 BIOS トップメニュー → Startup → Boot" で、 Removable Device ( フロッ ピー・ドライフ ) の優先順位をハードディスクより一ド位に設定 すれは、を矢宿できます。 ロその 2 本体背面のシリアルポートを利用する ( もしくはうまく動 作しない ) 場合は、 BIOS トップメニュー→、 Config" → Advanced" →、 Serial Port" で、 EnabIe" 、 3F8/IRQ 4 " と設定しておきましよう。逆に、赤タ泉 (IrDA) ポートや パラレルポートを IRQ 資源を呆するためなどで使わない場 合は、、 DisabIe" にしておけばよいと思います。 ロその 3 FreeBSD を使用中に、 [Fn] 十 [F11] ( 蛇ロのロゴが付い たキー ) で電源の消費コントロールができます。 [ F 司十 [ F11 ] フノレ " 、ノヾッテリ 、カスタム " の順で切 を押すたびに、 り替えられます。、カスタム " の設定は BIOS でおこなえま す。 BIOS トップメニュー→、 Config " →、、 Advanced" → Power の Customize Timer VaIues" の項目を成疋して ください。たとえば、 Processor Speed を、 Auto Slow " に すれはバッテリー持続時間カ張くなるでしよう。また、バッ テリー重川御は液品か暗くなりますが、これを AC 接続時と 同し明るさにするには、 BIOS トップメニュー→、 Config →、、 Advanced" → Others" の Brightness を "HI" にし ます。 ます、 OSS の Web ページから督媽剣 { 反の FreeBSD 3. x 用 OSS を入手します ( すでに製品版を購入している場合 は、アップグレード版をダウンロードしましよう ) 。 http://www.opensound.com/で [Download] ボタ ンをクリックします。イ版をダウンロードするには、住 戸 ) 氏名などの個人情報の登録が必要です。これらを入力 すると、・最辛形ヾージョンの 3.93g (ossfreebsd393g-34. tar. (z) がダウンロードできます ( 3 月下旬時占 ) OSS バージョン 3.93g では PCI の IRQ の共有をサ ポートしていないので、 CS4280 と他の内蔵 PCI テンヾイ スに対して別の IRQ を割り当てなくてはなりません。そ のため、 OSS のダウンロードか完了したらいったんシャ ットダウンし、 BIOS メニューを立ち上げてください 27 27 起動時に表示される ThinkPad のロゴク刈点で [FI] を糾せは・ BIOS メニューに入ります。いったん電源を切らないと BIOS メニューを起 動にきないこともあります。 日 OS Tips UNIX MAGAZINE 2000.5 usr/local/lib/oss/soundconfo /usr/local/bin にリンクが 29 、、 OSS をインストールしたディレクトリ /soundconf 。たとえは、 28 IRQ の変処寺 = に空いている IRQ を探して表示してくれます。 ます。 な /usr/local/etc/rc. d/oss. sh を作成し、実行可能にし 起重加に自重加勺に soundon する場合は、図 24 のよう CS4280 base addressl f4000000 = 00000000 CS4280 base address0 f4100000 = C5bC6000 for limited evaluation use only. This Open ;Sound System copy is licensed # s oundon バの組み込まれていないカーネルでなけ川まなりません ) 。 ジュールを組み込みます ( サウンド関係のデバイスドライ soundconf を夫ィ丁します。次に、サウンドドライバのモ ーを終了させます。再隻この設定メニューを利用するには Save changes and Exit" を〕尺し、 OSS の成正メニュ が表示されます。サウンドカードの検出を確認したら、 す。 570 の場合は、、、 Crystal CS4280 PCI *BETA*" ストールカ鮗了し、サウンドカードが自重加勺に検出されま /usr/local/lib/oss にしています。 j 尺すると OSS イン ルするか訊かれるので、適当な場所を指定します。私は、 択して次に進みます。次に、どこに OSS をインストー 示されるので、同意する場合は [Accept] か [OK] を選 Open Sound System ー License Agreement" カゞ表 # . /oss—install 次に、インストーラを起動します。 oss ・ pkg oss—install LICENSE I NSTALL # tar xvfz -masa/ossfreebsd393g—34. tar ・ gz # cd /usr/tmp/OSS # mkdir /usr/tmp/OSS したドライバを適当なディレクトリ上で展開します。 し、 FreeBSD を起動します。 root 権限で、さきほど入手 PCI の設定か完了したら Save and Exit [ F10 ] を j 尺 5 ) に変史します 28 います。これを、 lst PCI IRQ のみ別の IRQ ( たとえは PCI IRQ から 4th PCI IRQ までが 11 に設定されて 、、 PCI" の IRQ を修正します。出荷時の設定では、 lst BIOS トップメニュー→、、 Config " →、、 Advanced" → 作成されています。 95
連載 / UN Ⅸ知恵袋ー 0 図 2 ports 使用時の configure スクリプトの実行 ()h 系 ) $ GLIB_CONFIG=/usr/10ca1/bin/g1ib12-config GTK_CONFIG=/usr/X11R6/bin/gtk12—config . /configure 図 3 ports 使用時の configure スクリプトの実行 (csh 系 ) % setenv GLIB-CONFIG /usr/10ca1/bin/g1ib12-config % setenv GTK—CONFIG /usr/X11R6/bin/gtk12—config % . /configure ( 誌面の都合上、で折り返しています。以下同様 ) pcap ライプラリを利用します。 pc 叩ライプラリがシステ ムに含まれていない場合は別途入手し、あらかじめインス トールしておく必要があります。 pcap ライプラリは ftp: / / ftp.ee.1b1.g。v/から入手できます。 pcap ライプラリの インストール時には、ライプラリのヘッダファイルをイ ンストールするのを忘れないでください。明カ勺に指定し ないかぎり、 pcap ライプラリはヘッダファイルをインス トールしません。詳しくは pcap ライプラリのインストー ル・マニュアルを参照してください。 ethereal はコンパイ ル時に、 pcap ライプラリのヘッダファイルカ鰾勺なイ ンクルード・ファイルの位置に置かれていると仮定します。 GUI コンホーネントとしては、 GTK 十を利用します。 最新の安定ノヾージョンは 1.2.7 です。 GTK 十をコンノヾ イルするためには、ユーティリティ・ライプラリとして GLIB が必要です。いすれも http://www.gtk.org/か ら入手できます。 ethereal には configure スクリプトが付属しています から、必要なライプラリカっていれば簡単にインストー ルできます。 なお、 FreeBSD の ports を使って GTK 十をインス トールすると、 ethereal の configure スクリプト実行中 に GTK がみつからないというエラーが発生します。 の場合、工竟変数 GLIB-CONFIG と GTK-CONFIG に GLIB 、 GTK 十のノヾージョン石忍のためのコマンド名 を指定する必要があります。 sh 系のシェルを使っている 場合は、図 2 のように configure スクリプトを実行してく ださい。 csh 系のシェルの場合は図 3 のようになります。 UNIX MAGAZIN E 2000.5 うになります。 ethereal を実際に使ってみましよう。手順は以下のよ ethereal の使い方 1. ethereal の起重力 2. バケット・キャプチャ開始 ・インターフェイスの指定 ・キャプチャ・フィルタの指定 3. バケット・キャプチャ終了 4. ディスプレイ・フィルタク旨定 5. 角斤 51 成されます。上から順に、バケットリスト・ペイン、ツ 前述したように、 ethereal の画面は 3 つの部分から構 # ethereal Password: * * * * $ su を起動します。 す。以下のように、スーノヾーユーサーになって ethereal う。 ethereal の実行にはスーパーユーサー権限が必要で フィルタの機能を利用せすに ethereal を使ってみましょ フィルタの言田については彳主することにして、ますは ができません。 らディスプレイ・フィルタに相当する機能をもたせること dump などのコマンドッール類は、その構造上の制限か 2 つのフィルタを備えていることが多いようです。 tcp- 市販のバケットモニター・ソフトウェアは、一ト述した 有効です。 み、さまざまな角度からトラフィックを角斤したい場合に 面に表示させることができます。三里のバケットを取り込 は、フィルタの条件を解除すれはふたたび ethereal の画 タです。フィルタによって表示されなくなったバケット トを、特定の条件に従って表示 / 非表示するためのフィル れます。こちらは、すでに ethereal に取り込んだバケッ もう 1 つのフィルタはディスプレイ・フィルタと呼は での条件式に相当します。 込むことができました。キャプチャ・フィルタは tcpdump は、さまざまな条件式を指定して取得するバケットを絞り ethereal に取り込むかどうかを決定します。 tcpdump で ネットワーク・インターフェイスから取得したバケットを はキャプチャ・フィルタと呼ばれます。このフィルタは、 ethereal は 2 種類のフィルタをもっています。 1 つ
環境設定とカーネルの再構築 なく、最版の ports ツリーとローカルの p 。 rts ツリー との差分のみがやりとりされます。 ports ツリーの入手か完了したら、 ports を利用するた めに必要なツールのアッフ。デートをおこないます。 ports- current は、最新版の FreeBSD べースで川することを 則提としているので、リリース・バージョンの 3.4 では ツール類のアップデートが必要です。アップデート・キッ トは次の URL から入手できます。 ・ ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/ packages-3-stabIe/Latest/34upgrade. tgz 入手した 34upgrade ・ tgz は packages の形式になって いるため、 pkg-add でインストールします。 # pkg-add 34upgrade ・ tgz 以 E で、ツール類のインストールも含めて ports を利 用する竟ができました。あとは定期的に cvsup を実行 し、 ports ツリーを最新版と同期させるようにじ掛けまし カーネルの再構築 ja/handbook/ports. html ・ http://www.jp.freebsd.org/www.FreeBSD.org/ ja/ports/index. html ・ http://www.jp.freebsd.org/www.FreeBSD.org/ ports の詳しい情報は下記の URL から得られます。 すこともできます。 節約のために make 時のコンパイル・ディレクトリを消 ます。また、、、 make clean" によって、ディスク資源の れは作成したソフトウェアを packages にすることもでき インストールか終ったあとは、、、 make package" とす # setenv FTP_PASSIVE_MODE YES csh 系の場合 ) 。 FTP-PASSIVE-MODE を YES に設定します ( 下記は とします。パッシプ FTP を利用する場合は、環境変数 ports 吏い方 UNIX MAGAZINE 2000.5 ports/distfi1es/${DIST_SUBDIR}/ ftp : //ftp ・ jp ・ freebsd.org/pub/FreeBSD/ MASTER_SITE_BACKUP?= あと、個々の p 。 rts 指定のサイトから入手する場合は、 は、ます ftp.jp.freebsd.org でファイルの入手を試みた TER-SITE-BACKUP を有効にしてください。たとえ めにも、 /etc/make. conf 中の 132 行目付近の MAS- 手できます。したがって、ネットワークの有効活用のた が、その多くは FreeBSD の公式ミラーサイトからも入 イト ( 開発元の FTP サーバーなど ) から取得されます ンストールされます。ソースは各 ports で指定されたサ 開後に FreeBSD のための修正か加えられて、 make 、イ ネットワーク経由で /usr/ports/distfiles に中幻医さ展 とすれば、 tcsh のソースファイル tcsh-6.09. tar. gz が # make install # cd /usr/ports/shells ある tcsh をインストールするには、 リで、、 make install" です。たとえは、拡張された csh で 基本は、インストールしたいソフトウェアのディレクト FreeBSD では、それぞれのハードウェア環境や用途に 合わせて、 OS の中枢である、、カーネル " をカスタマイズ することができます。 カーネルは FreeBSD の心臓部で、各種ハードウェア ( 資源 ) の管理や、アプリケーションの実行・管理をおこ ないます。 IDE ハードディスクを例にとると、カーネル は IDE ドライバ ( wd ) によって IDE テンヾイスを制御し、 アプリケーションの要求に応して、 IDE デバイスとアプ リケーションのデータのやりとりをおこないます。また、 IDE テンヾイスドライバは標準では 16 ピット中幻てすが、 32 ピットモードを利用するオプションを指定したカーネ ルを作成するとこのモードか有効になり、高速な中幻が可 能となる場合があります。逆に、不要なデバイスを除いた カーネルは、無駄なメモリ消費を抑えたり、起重加寺間カ くなったりします。 つまり、カーネルを利用するシステムの竟に合わせて 作成しなおす、、カーネルの再構築 " は、 FreeBSD を十分 に使いこなすためにはきわめて重要です。初じ、者だからと いわす、ぜ兆戦してください。 カスタムカーネルへの下準備 カーネルを作成するにはカーネルのソースファイルが必 要です。通常、カーネルソースは /usr/src/sys にインス 89
連載 / 遠隔オフィスとの接続ーの SoIaris 7 の inittab 列 図 3 2 く >/dev/msglog く /dev/console ー 1 p3 : S1234 : powerfail : /usr/sbin/shutdown -y -i5 —gO >/dev/msglog 2 く >/dev/msglog 1S : 3 : initdefault : fs : :sysinit :/sbin/rcS sysinit >/dev/msglog 2 く >/dev/msglog く /dev/console ap: :sysinit :/sbin/soconfig —f /etc/sock2path ap: :sysinit :/sbin/autopush —f /etc/iu. ap sS:s :wait :/sbin/rcS sO:O:wait :/sbin/rcO sl : 1 :respawn:/sbin/rcl s2:23:wait : /sbin/rc2 s3:3:wait :/sbin/rc3 s5:5:wait :/sbin/rc5 s6:6:wait :/sbin/rc6 fw : 0 : wait : /sbin/uadmin 2 0 of : 5 : wait : /sbin/uadmin 2 6 rb : 6 : wait : /sbin/uadmin 2 1 >/dev/msglog >/dev/msglog >/dev/msglog 2 く >/dev/msglog 2 く >/dev/msglog >/dev/msglog 2 く >/dev/msglog >/dev/msglog 2 く >/dev/msglog く /dev/console >/dev/msglog 2 く >/dev/msglog く /dev/console >/dev/msglog 2 く >/dev/msglog く /dev/console >/dev/msglog 2 く >/dev/msglog く /dev/console >/dev/msglog 2 く >/dev/msglog く /dev/console >/dev/msglog 2 く >/dev/msglog く /dev/console く /dev/console く /dev/console く /dev/console sc:234:respawn: /usr/lib/saf/sac —t 300 co : 234 : respawn : /usr/lib/saf/ttymon -g -h —p ' 'uname console —m ldterm ,ttcompat : で区切られた次の 4 書かれています。各工ントリは、 inittab ファイルには、 1 行に 1 つのエントリの殳定が たとえは、図 3 のなかほどにある、 識別子 : 実行レベル : アクション : プロセス つのフィールドて構成されます。 ”—T sun —d /dev/console ーⅡ console login : プロセスには、 sh が認識できる任意のコマンドを書く たとえは、 ことかできます。 s2:23:wait : /sbin/rc2 >/dev/msglog 2 く >/dev/msglog く /dev/console は、実行レベル 2 または 3 に移行するときに、コマンド、 s2 : 23:wait : /sbin/rc2 2 く >/dev/msglog く /dev/console >/dev/msglog /sbin/rc2 >/dev/msglog を例に考えてみましよう。このエントリは、 識別子が、、 s2 " 実行レベルカゞ、 23 " アクションが wait プロセスが、、 /sbin/rc2 ・・ となっています。 ・ " から行末まで リ子はそれぞれのエントリを区別するための文字列で す。新しいエントリを作成するときには、 1 文字ないし 2 文字の文字列を識別子として指定します。 実行レベルには、エントリを適用する実行レベルを指定 します。 init プロセスは、実行レベルを変更するときに 指定された実行レベルとこのフィールドの値が一致する行 を探し、そのエントリのコマンドを実行します。このフィ ールドには複数の実行レベルを指定することができます。 その場合は、どれか 1 っと一致すれば工ントリが適用され ます。 アクションでは、プロセスの実行カ 1 去を指定します。表 2 はアクションに指定できる値の一覧です。 64 2 く >/dev/msglog く /dev/console を実行し、その終了を待ってから inittab の次のエントリ の処理を開始すること (wait) を意味します。 ところで、 initdefault カ甘旨定されたエントリは特別な 未をもちます。このエントリは OS がプートしたとき に、どの実行レベルへ移行するかを指定するためのもの で、プロセスは指定しません。たとえは、 is : 3 : initdefault : は、 OS をプートしたときに実行レベルを 3 へ移行する ことを意味します。たとえば、実行レベルが 3 に設定され ているネットワーク・サービスの起動を缶衂したい場合に は、このエントリを、 is : 2 : initdefault : に書き換え、必要に応して実行レベルを切り替えるコマン ドを手作業で実行すればよいでしよう。なお、 SoIaris 2. x では、プートした計算機 - E で実行レベルをコマンドライン から変更するときは次のコマンドを使います。 /etc/telinit 実行レベノレ UNIX MAGAZINE 2000.5
連載 / 遠隔オフィスとの接続ーの 図 1 時に実行されるコマンド (SoIaris 7 の場合粋 ) $ ls —F /etc/rc* /etc/rc0@ /etc/rc2@ /etc/rcl@ /etc/rc3@ /etc/rc5@ /etc/rc6@ /etc/rcS@ /etc/rcl . d: KOOANNOUNCE* K07dmi* K07snmpdx* KIOdtIogin* K15W れ n6@ K2010C. ja. cssd* K28nfs . server* /etc/rc2. d: K07dmi* K07snmpdX* K28nfs . server* K34dhcp* README SOIMOUNTFSYS* S05RMTMPF I LES * S20sysetup* S21perf* S30sysid. net* S4011C2 * S47asppp* K33audit* K34dhcp* K35v01mgt* K36sendmai1* K36utmpd* K37power* K391P * S69inet* S70uucp* S71rpc* K39spc* K40cron* K40nscd* K40sys10g* K40xntpd* K41 ab2mgr@ K41autofs* K41rpc* K42inetsvc* K43inet* K50asppp* K5211C2 * SOIMOUNTFSYS* S71sysid. sys* S72autoinsta11* S72inetsvc* S73cachefs . daemon* S73nfs . client* S74autofs* S74sys10g* S74xntpd * S75c て on * S75savecore* S76nscd* S80PRESERVE* S801P * S80spc* S851mgrd@ S85power* S88sendmai1* S88utmpd* S89bdc onf ig@ S9010C. Ja. cssd* S92v01mgt * S93cacheos . finish* S 94W Ⅱn6@ S95SUNWmd. sync@ S95networker* S96ab2mgr@ S99audit* S99dtIogin* S99rwhod@ S99tsquantum* 図 2 sendmail のコマンドを探す $ grep sendmail /etc/rc* . d/S* /etc/rc2. d/S88sendmai1: /usr/bin/pkill —x —u 0 sendmail /usr/lib/sendmail —bd —q15m & /etc/rc2. d/S88sendmai1: /etc/rc2. d/S88sendmai1 : if [ —f /usr/lib/sendmail —a —f /etc/mail/sendmail. cf ] ; 1 . 14 /etc/rc2. d/S88sendmai1 : #ident 97 / 12 / 08 SMI" "@( # ) sendmail then れます。したがって、 Linux でデーモンプロセスがどの シェル・スクリプトから起動されているかを詩ヾるには、 /etc/rc. d/rcn. d/S* ・ /etc/rc. d/rc. local の 2 不頁のファイルから探す必要があります。 起動方法と停止方法 BSD 方式では、 rc. local などの名前が rc て始まるシェ ル・スクリプトを実行すれは・、すでに起動されているかど うかに関係なく、そこに言当されているすべてのデーモン プロセスを起動しようとします。 rc. local に記述されている特定のデーモンプロセスだ けを起動したい場合は、スーパーユーザーになって、 rc. 62 local の言当どおりにコマンドを実行しなくてはなりませ ん。また、デーモンプロセスを停止する場合は、デーモン プロセスごとに異なる停止手順を調べて、それに従う必要 があります。 BSD カ試は起動コマンドを適切なファイルに書き込む だけなので、設定は上は交的簡単ですが、特定のサービスだ けを起動したり停止するのは得意ではありません。 一方、 SystemV 方式では処理ごとに細かく起重丿ワ。ログ ラムが分かれているため、起動と停止のためのコマンドを 処理ごとに用意する必要があります。また、これらのコマ ンドのインターフェイスは決まっているので、シェル・ス クリプトのなかに自由に書ける BSD 方式とくらべると手 間がかかります。その代わり、デーモンプロセスの起測 停止作は、簡単かつ一貫した手順でおこなえます。 UNIX MAGAZINE 2000.5