FreeBSD - みる会図書館


検索対象: UNIX MAGAZINE 2001年8月号
22件見つかりました。

1. UNIX MAGAZINE 2001年8月号

UN Ⅸ便利帖 宮下イ甫 FreeBSD でテレビを見よう ふだん使っている PC でテレピを見たいと思ったこと はありませんか。私は以前はそんなことはなかったのです が、現在の菫加先に移ってからは、たまにテレピが見たく なることがあります。 私か勤めている大学では、深夜まで仕事をしようとする と、自重加勺に校舎に泊まることになります。なぜなら、夜 のある日該リから翌朝までのあいだ、出入口か施錠されて機 械警備がイ力するからです。そのため、午前 1 時くらい に仕事が一段落しても帰宅できません。私は学生のころか ら夜型だったのでこのシステムと ( 財団生カく、昨年度は 150 日くらい宿泊しました。 仕事力鮗ったのに ( または、もう仕事などしたくないの に ) 研究室にいなけれはならないとき、やはりテレビなど の娯楽があると嬉しいものです 1 。今回は、この、、テレビ を見る " ということを FreeBSD 上で実現する過程を説明 します。 Linux の世界では、 vide041inux という API が用意 されている 2 ので、これを利用してテレビを見ることがで きます。 GoogIe で検索してみると、 video capture linux" というキーワードで 8 万件以 - E がヒットしたのに 対して、、、 video capture bsd" というキーワードでは約 9 , 000 件しかみつかりませんでした。そこでこの記事では、 10 イ部匠くの差をつけられてしまっている BSD を施援す 1 そんなことをせすにさっさと寝れば、翌日は朝早くから仕事かできるの にという声か聞こえてきそうですが・・ 2 http: 〃 roadrunner.swansea.uk.linux.org/v41api.shtmlo 日 本言吾 ( は http://www.mlb.co ・ jp/picpom/v41api-ja. html に あります。 テレビカヾ見たい 134 る意味で、 FreeBSD でテレビを見るガ去を説明します。 なハードウェア テレピを見るために必要なノ、一ドウェア、それはテレピ ・・と言ってしまうとこの記事の意味がな 受像機です。 くなりますここではもちろん PC でテレピを見ること を考えます。そのためには、ます FreeBSD が対応してい るビデオキャプチャ・カードとして、どんなものがあるか 分かります。 1 に示すビデオキャプチャ・カードに対応していることが である 4.3-RELEASE のリリースノート 3 を見ると、表 スノートにあります。たとえは、原不丸筆点での最新版 FreeBSD カサ寸応しているハードウェアの一覧はリリー を詩ヾます。 UNIX MAGAZINE 2001.8 releases/4.3R/notes. htrnl 3 http://www.jp.freebsd.org/www.FreeBSD.org/ja/ 製のビデオキャプチャ・カードの大部分がこのチップを で bktr や Bt848 などを探してみたところ、 I-O DATA 名前は聞いたことがありません。 WWW ー . トの検索サイト lntel はともかく、その他のカードや Brooktree という として認識されるカードを買うことにしました。しかし、 ドがもっとも種類が豊富なので、今回は bktr デバイス せん。表 1 を見ると、 bktr デバイスが対応しているカー 次に、実際にどのカードを買うかを決めなけれはいけま ーションの場合は /sys/alpha/conf) に置かれています。 す。 LINT は通常、 /sys/i386/conf (AIpha ワークステ ョン、成疋のヒントなどか書かれたありがたいファイルで 識できるすべてのデバイスに対するテンヾイス名や、オプシ たものです。 LINT は、そのノヾージョンの FreeBSD か言忍 表 1 のテンヾイス名は、 LINT というファイルからみつけ

2. UNIX MAGAZINE 2001年8月号

CS ハオリ刋 & ハイパフォーマ Vintage 超薄型 Rackmount Server Solutions 省スへース & / 、イ / ヾフォーマンスを実現もっとも薄い筺体の高さは ( 約 4.5cm 、日 A 規格のラックに 42 台格納可能。 ) 信頼性と 省スへース性が要求される旧 P 、 ASP 、データセンターのサーバーシステム (WEB サーバ 全機種 Pentium Ⅲ 1GHz 対応 、メールサーバー等 ) に最適です く DualPen ⅱ uml Ⅱ対応 & OS に依存しないハードウェア RAID コントローラ標準搭載 IU ラックマウントサーバー > 朝第をい第郎ⅲツラ : いに“ ; ないリ叱下デ 1 CPU 文 ース用 pentium Ⅱ I プロセッサ (lGHz 対応 ) pentium Ⅱープロセッサ (IGHz. l)u 対応 ) アルミケース採用■に 8MB ~ 引 2MB SI)RAM アルミケース採用・に 8MB ~ 2048MB SDRAM 2()GB—8()GB (I)E (I)I) x2 基 RAII)I, ミラーリング ) 2()GB—80GB (I)E (I)D x2 基 (RAII)I, ミラーリング ) 10/ 100Base-T X (lntel Pro/ Ⅱ用 + ) 10/l()0Base-TX x 2 ポート (lntel Pro / Ⅲ用 + ) Windows 、 T / 2 ( 用 0 、 Linux 、 SoIaris 、 FreeBSI) 対応 Windows 、 T / 2000 、 Linux 、 Solaris 、 FreeBSD 対応 <Type H> <Type HD ¥ 198 , 000 より ¥ 284 , 000 より く DuaI PentiumIII 対応 IU ラックマウントサーパー Type E > く DuaI Pentium III 対応 IU ラックマウントサーパー Type F > eCPU CPU 対 pentium ーⅡプロセッサ (IGHz . l)u 対応 ) Pentium Ⅲプロセッサ (lGHz , l)ual 対応 ) Serverset ーⅡ LE Chipset ■に 8MB ~ 40 MB ECC SI)RAM Serverset Ⅱー LE Chipset 9.2GB ~ 73.4GB (I)I) x3 基 (Ultra16() SCSI) に 8MB ~ 4096MB ECC SI)RAM 9.2GB ~ 73.4GB (I)I) x2 基 (Ultra160 SCSI) ホットスワップ対応 (I)I) べイ x3 基 ※ RA Ⅲコントローラを追加して RA Ⅲ 5 構成が可能 Adaptec UItra16() SCSI 10/100Base-T X x3 ポート (lntel Pro / Ⅱ用 + ) l)ual Channel UItra16() SCSI •64bit PCI 拡張スロット xl 64b ⅱ P い拡張スロット x2 10/10()Base-TX x2 ポート (lntel Pro / Ⅱ用 + ) Windows 、 T / 2 Ⅲ用、 Linux 、 Solaris 、 FreeBSI) 対応 Windows 、 T / 2 0 、 Linux 、 Solaris 、 FreeBSI) 対応 ¥ 238 , 000 より く lntel 純正 ISP Ⅱ 00 IU サーパー > く DuaI Pentium I Ⅱ対応 IU ラックマウントサーバー Type G> lntel Pentium ーⅡプロセッサ 850MHz 対応 べイ 3 基 l()/10()Base-TX x 2 ポート (lntel Pro / Ⅱ用 + ) pentium Ⅱープロセッサ (lGHz , l)u 対応 ) ーの朝 ! : : : 20GB—8()GB IDE (I)I) x2 基 Serverset ーⅡ LE Chipset Windows 、 T / 20 ( 用、 Linux 、 ・に 8MB ~ 40 MB ECC SI)RAM Solaris 、 FreeBSI) 対応 ・ 9.2GB ~ 73.4GB x3 基 Ultra160 SCSI l().()()()rpm III)I) ¥ 198 , 000 より ホットスワップ対応 (I)I) べイ x3 基 ※ RA Ⅲコントローラを追加して RA Ⅲ 5 構成が可能 Adaptec Ultra16() SCSI ・ 64bit PCI 拡張スロット x2 川 / l()()Base-T X x2 ポート (lntel Pro/ Ⅱ用十 ) Windows 、 T / 2 側 0 、 Linux 、 solaris 、 FreeBSI) 対応¥ 258 , 000 より RAID 信頼性を高めるディスクアレイシステム CS 高速ディスクアレイシステム新 e cs 高速ディスクアレイシステム JCS 、 ew 高速ディスクアレイシステムは、 lntel i以川R、超高 i±Microprocessor と標 JCS 高速ディスクアレイシステムは、 Inteli96()RD(66MHz) を搭載し、高速なディスク 準で HDD 8 台を搭載した、高速・大容量ディスクアレイシステムです。 Ultra2 アクセスを可能としたモデルです。ホットスワップ、ホットスへア、オートリピルド機 SCSI(LVD) インターフェース ( 80MB / s ) を搭載し、 IDE-to-SCSI タイプのディスクア 能の搭載、電源 ( 250W ) とクーリングファンの一 : 重化による高信頼性はそのままで、さ レイシステムでは最高のパフォーマンスを発揮します。ホットスワップ、ホットス らに高速化しました。 RA Ⅲレベルは 0 、 1 、 0 + 1 、 3 、 5 、に対応しています。 ペア、オートリピルド機能も充実し、電源 ( 250W ) とクーリングファンの : 重化によ り安全性を高めています。 RA Ⅲレベルは 0 、 0 刊、 3 、 5 、に対応しています •cache Memory: 64MB ( 標準 ) ~ 最大 128MB ÄM. ー-準) c 肥 11 。Ⅳ : 図 MB ( 標準 ) ~ 最大 12 B ーⅳ目準 ) る朝ドライガ •RAID Levels: 0 , 1 , 0 + 1 , 3 , 5 •Transfer Rate: 80 MB/s RAlDLevels:O, 1 , 0 + 1 , 3 , 5 ・ Power SuppIy Capacity: Dual 250W lndependent Transparent ransferRate: (I)MB/s ・ lnte ね U 財 SCSI •nterface: Ultra2 SCSI ESize: D310mmXW175mmXH350mm PowerSupplYCapacitY ※ UNIX, WindowsNT/ 2000,Windows 98 , 95 , Macintosh 漢字 Ta 賑 7.1 以降に対応 D に W lndependent Transparent 20. ÆGB x 6 40. ! 石 B x 6 Size: D44911mXW17a mX トヨ 430n1 「 n ¥ 438 , 000 ( 72 印 m ) ¥ 498 , 000 (7200rpm) ※ UNlX,W1nd0WSNT/2(XX) W1ndowsß 95 , ( 、℃ RV2046 ) ( 245. IG B) 022.4GB ) ()C R V40 ) Maantosh 漢字 TaIk7.1 以降に対応 61.dGBX6 75. ( 石 B x 6 ※ 4U ラックマウントタイプも同額。 ¥ 568 , 000 ( 72 似 h ・ pm ) ¥ 668 , 000 ( 72 側「 pm ) ( 、 CRV 引 46 ) い測 . ()GB ) ( 淑鼈 4GB ) (VCRV7536) 20.dGBx8 40.9GB x 8 ※ティスク容量は RA 旧 0 で使用時の容量です。※ラックマウントタイプもあります ¥ 578 , 000 (7200rpm) ¥ 638 , 000 (72Ⅲh ・ pm) ( 、℃ RP2048 ) 327.2GB ) ( 、℃ RP4 的 8 ) い 63.2G B) CS スーパーディスクアレイシステム 61.4GBX8 75. ()GB x 8 ¥ 738 , 000 ¥ 858 , 000 (72Ⅲh ・ pm) (72(H)rpm) ( 、℃ RP6 Ⅱ 8 ) 仙用」石 B ) ( 、 ( : RP75 咫 ) U91.2GB) (UItra160 SCSI / Fibre Channel ) ※ティスク容量は日 AIDO で使用時の容量です。※ IJ 仕様もあります。 ew JCS External Storage SoIutions 厚さ 3U ( 13. m ) の筐体に 3.5 インチハーフハイトⅡ DD を川台格納できる高速・高密度ディス クアレイシステムです。超高速 UltVdl 聞 SCSI(16()MB/S) または Fibre Channel(2()()MB/S) イ JCS ExternaI Sto ロ面ⅱ ons は、超高速 Ada 損 bi [ UItraI(1) ま : RAII) ンターフェースを搭載し、最大 ( 期 ) rpm のドライプの使用を想定した徹底的な熱対策を施 コントローラを搭載したル Rackmount サーパーと、 3U Rackmount S い口 Encl u Ⅳ s ( Ad 叩 t 艷正 ) を組合せたソリューションです RA Ⅱ ) レベル 0 、 していますので、高速で安定したデータ転送を実現しています。 0 刊、 3 、 5 、に対応し、ホットスワップ・ホットスペア・オートリビルド機 •Redundant RAID コントローラ (Ultra 160 SCSI) 能・期 W リダンダント電源を搭載し、高いコンパチビリティと対応 OS の多 Cache Memory: 128MB ( 標準 ) ~ 最大 256MB さでよりフレキシプルなシステム構成が可能です •RAID Level: 0 , 1 , 0 + 1 , 3 , 5 •Transfer: Rate: 160MB/s <IU Rackmount サーパー各種と組み合わせ可能 > •nterface: UItra 160 SCSI •HDD: Seagate 10 , OO()rpm <3U Rackmount Storage Stations> ■ Power SuppIy Capacity: Dual 300W lndependent Transparent ・ Fo 「 m Facto 「 : 3U Rackmount ( タワータイプもあります。 ) •nterface:Ultra160 SCSI •Transfer Rate:160MB/s ・ HDD : 18.4GB ~ 73.4GB 10 , 000 「 pm U 財 a160 SCSIx7 ※ Linux, FreeBSD, Solaris 各 #UNIX ・ Power SuppIy Capacity (AIX, SCO, SUN, SGI 等 ) Windows NT / 2000 , :Dual 300W lndependent Transparent Macintosh( 漢字 Talk7.1 以降 ) などに対応。 Form Factor:3U Rackmount ※ Unix,Linux, ※ Fibre Channel 仕様の場合、プラス I. 似用 . 用円 Windows 2000/NT,FreeBSD, NetWare 等に対応。 :田 .7GBx ー 0 73. •IGBX 川 Y2 , 900 , 000 R い 0 ) Y3 , 800 , 000 18.IGBX7 .7GBx7 (Mi7GB) (731GB) ¥ 1 , 200 , 000 ¥ 980 , 000 ( 川 3 pm ) 00 用「 pm ) ( 、℃ S 、聞 77 ) ( 、℃ SA 47 ) ( 2 浦 . ; B ) 181GBx 川 Y5 , 400 , 000 ( 、 'CRVS181010) ( l.8TB) 73 」 GB X 7 ※ 181GB (I)D x 7 (l,2TB) 仕様 Call ! ¥ 1 , 800 , 000 00 用叩 m ) JCS 株式会社日本コンビューティングシステム TEL03-3821-3200 FAX03-3821-3241 ( 、℃ SA7347 ) ( 5 .8GB) ※ S ⅲロ S ねⅱ on を複数台スタックして , さらに大容にすることが可能です。 最新情報 http://www.jcsn.co.jp/ 0 <Type G> くⅱ el 純正 ISP 目 > ra 160 ( 、℃ RVS73 料 0 )

3. UNIX MAGAZINE 2001年8月号

ます。 しかし、 csh しかインストールされていないシステムを 含む環境などでは、このガ去はうまくいきません。 csh で は環境変数 OSTYPE が自動的にセットされないため、 環境変数 OSTYPE の代わりに uname コマンドなどを 使って OS の不頁を識別する必要があります。この場合 の代わりに、 switch ($OSTYPE) switch ( 'uname' ) は、 なる場合もあります。環竟変数やコマンドの実行結果をも tcsh では、 OSTYPE の値が、、 freebsd3.2" のように異 FreeBSD" であったりします。また、旧いバージョンの 数 OSTYPE の値は、、 freebsd" ですが、 uname の値は りません。たとえば FreeBSD の場合、 tcsh の環境変 ンドが区す値は環境変数 OSTYPE の値と同しとはかぎ のように指定すれはいいでしよう。ただし、 uname コマ とに設定するときは、各マシンがどのような値を返すのか をかならす事前に調べておきましよう。 これ以外に、 ~/. tcshrc ではなく ~/. cshrc を使い、 tcsh 固有の設定は if コマンドのなかに入れてしまうガ去もあり ます。 /bin/tcsh ) then if ( $SHELL tcsh 特有の設定 endi f このほかにも、いろいろな方法が考えられますが、今 回はこのくらいにしておきます。最初はどのように設定フ ァイルを書いたらいいのか見当がつかないかもしれません が、ほかのユーザーの正ファイルやシステムカ甘是供する 成疋ファイル (/etc/csh.login や /etc/csh. cshrc など ) を参考にして、自分の竟にすこしずっ合わせていくとい 1993 年 [ 1 ] 坂本文『続・たのしい UNIX ーシェルへの招侍』、アスキー [ 文献 ] いでしよう。 誰でも失敗する える子羊であった。 山あれば谷あり いまから 15 年前、 1986 年に開催された日本 UNIX ューザ会 (jus) の「 UNIX ワークショップⅲ横浜」で、 「ハッカー達の BOF 」と題されたパネル・ディスカッショ ンカ鯛かれた。そのなかで、酒匂寛さん ( 当時 SRA) が おこなった「ハッカーの過去、現在、未来」というプレゼ ンテーションは、現在でも強烈に心に残っている [ 1 ] 。プ レゼンテーション自体は短かったが、酒匂さんのまとめ方 が秀逸だった。それは、次のようなものだ。 ・過去の言 1 算機は、、僧侶の祭器 " であり、それを扱う言 t 算 機屋は神託と不射支をとりおこなう僧侶 ( ハッカー ) と、 技術の伝道と布教をおこなう弟子 ( 普通のエンジニア ) から構成されていた。ーイ財リ用者は信者であり、また迷 UNIX MAGAZINE 2001.8 現在 ( 1986 年 ) の言算機は、、腎臓透析器あるいは人工 心肺 " であり、これか動かなけれは世の中がたちいかな くなるほどの重要な機器となった。この世界における計 算機技彳付者は、なんとかしてシステムを動かし続ける延 翁台療をおこなう専門医 ( ハッカー ) と、町医者のよう にちょっとした間題を片づけることのできる凾刎支術 者から構成されている。そして、一財リ用者は、その医 療サービスを受ける患者のようなものだ。 ・ ( 1986 年からみた ) 近未来の世界では、計算機は TV システムのようになる。計算機技術者の分業が進み、 TV 番組の制イ惲見場のように、プロデューサーやディレ クター、カメラマン、シナリオライター、エデイター タイムキーパーといったかたちで、作業に応して専門化 と分業化が止されるだろう。そして、一ヨ財リ用者は貪 欲なネ朋者となる。 53

4. UNIX MAGAZINE 2001年8月号

図 35 NetBSD から出力されるエラーメッセージ wdO : transfer error , downgrading to PIO mode 4 wdO(pciideO:0:O) : using PIO mode 4 cdO(pciideO:0:1) : using PIO mode 4 wdOa: id not found writing fsbn 16 of 16 ー 31 (wd0 bn 24574048 ; cn 24379 tn 0 (6) , retrying pciide0: 0 : 0 : timeout waiting for DRQ, st=0x51 , err wdOa: device timeout writing fsbn 16 of 16 ー 31 (wdO bn 24574048 ; cn 24379 tn 0 S16 ) , pciide0:O:0: timeout waiting for DRQ, st=0x51, err wdOa: device timeout writing fsbn 16 of 16 ー 31 (wdO bn 24574048 ; cn 24379 tn 0 S16 ) , 図 36 Bonnie の結果 ・ Virtual PC (FreeBSD 4.3 ) —Sequentia1 Output— —Per Char———B10ck— —Rewrite— MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU Machine Virtua1PC 500 1709 36 . 6 1846 32 . 0 955 20 . 0 ・ VMware (FreeBSD 4.3 ) = 0X00 = 0X00 retrying retrying —Sequentia1 lnput— —Per Char———B10ck— 1813 35.7 2057 26. 1 —Sequentia1 lnput- —Per Char———B10ck— Machine VMware —Random— —Seeks— /sec %CPU —Seeks— —Random— 50.0 14 . 1 /sec %CPU 500 -Sequentia1 Output- —P er Char— —B10ck— —Rewrite— MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU 2414 82.9 2206 70.6 2499 83 . 1 6110 84.6 9809 78.6 85.2 7 . 8 表 1 VMware と Virtual PC のの比較 VN1ware Virtual PC いすれの OS もシングルューザー・モードて起動でき ますが、カーネル起動後のディスクをマウントする点で IDE デバイスのエラーが頻発します ( 図 35 ) 。工ラーメッ セージから推測すると、 PCI-IDE デバイスのエミュレー ションに間題があるようです。 私は、物理ディスクに NetBSD をインストールし、ふ だんは VMware から利用しています。そして、カーネル のコンパイルなど、マシンパワーが必要とされる作業をす るときは直接 NetBSD を起動します。これはたいへん決 適で、十分に満足のいく環境です。このような物理ディス クからの起重剏ゞできないとなると、 VirtuaI PC に乗り換 える気は起きません。 VMware との比較 VirtuaI PC 、 VMware ともに 2GB の仮想ディス ク上に FreeBSD 4.3 をインストールして性能を上交 してみました。なお、 Virtual PC の仮想ディスクは Dynamically-expanding images て作成しました。 最初は Bonnie の結果です ( 図 36 ) 。いすれの項目でも VMware がよい結果を出していますが、 CPU 利用率は 非常に高くなっています。 次は、 FTP によるファイル輔医に要した出です。同 UNIX MAGAZINE 2001.8 ・ネットワーク NAT イ DHCP サーノヾー プリッジ (VritualSwitch) ゲスト OS で 2 つ以上の NIC ・ハードディスク raw disk からの起動 差分ディスク (Differencing images) 〇 * 〇 〇 〇 〇 〇 〇 △ △ 〇 * ゲスト OS のネットワークを Host-Only とし、ホスト OS (Win- dows 2000 ) 但に、インターネットイレ ) 共有 " をおこなうことにより : 見 可育し 一糾糸哉内 12 にある ftp.aist-nara.ac.jp から FreeBSD の ports. tar ・ gz ( 11 , 341 , 397 バイト ) を転送した結果です ( 図 37 ) 。こちらも VMware のはうがよく、単糸算で 2 イ部丘いスルーブットが出ています。 X の描画速度はイ杓的には同程度ですが、 xengine のべ ンチマークでは、・、け鋤直で VMware が 1541.9 、 Virtual PC が 820.0 と、 VMware か圧倒的に高い値でした。し かし、あまりにも直がよすぎて、素直に信用するわけに はいかないというのが正直なところです。 表 1 にネットワークとハードディスクに関する機能の比 12 2 ホッフ。先にあり、上レータからは 100Mbps 以」「 . の中幻当度妾 続されています。 109

5. UNIX MAGAZINE 2001年8月号

連載 / UN Ⅸ便利帖ー⑩ 表 1 FreeBSD 4.3- RELEASE か対応しているビデオキャプチャ・カード デパイス名 meteor sp igot ctx bktr bktr bktr bktr Matrox Meteor Video フレームグラノヾ Creative Labs Video Spigot フレームグラノヾ Cortex1 フレームグラノヾ Hauppauge Wincast/TV ポード (PCI) STB TV PCI lntel Smart Video Recorder III Brooktree Bt848 および Bt878 チッフ。べースのフレームグラバ各種 使用しているらしいと分かりました。そこで電器店でパ ッケージの写真から Brooktree のチップを確認したり、 それができないときは店員さんにしつこく訊いたりして、 GV-BCTV2/PCI という製品を購入しました 4 。もちろ ん、ほかにも bktr テンヾイスとして認識されるカードはた くさんありますから、 WWW て探したり財布と相談した うえで選んでください。 この GV-BCTV2/PCI には、ヒ、デオ入力端子、 S ビ デオ入力端子、テレビの音声出力用堺子、アンテナ入力端 子がそれぞれ 1 個すっ付いています。マニュアルによれ は、 Windows では文字放送なども受信できるようです。 しかし今回は、ちょっともったいないようですがこの機能 には眠っていてもらうことにしました。 このカードをふだん使っている PC の空いている PCI スロットに挿せは、ハードウェアの準備は完了です。ビ デオキャプチャ・カードの基板上の、、 AUDIO OUT" 端 子と、さきに挿してあったサウンドカードの、、 AUXIN" を、同梱されていたケープルてオ妾続しました。また辟に あるアンテナ端子とピデオキャプチャ・カードのアンテナ 入力墻子を忘れすに接続しておきましよう。 テパイスを認識させる FreeBSD を起動けると、もちろんカードを挿したこと は認識されますが、それを動かすためのドライバを入れて いないので、このままでは何も変わりません。ドライバを 作成し、 OS のカーネルにこのデバイスを認識させるには、 次のような手順でイ乍業します。 カーネル設定ファイルの編集 FreeBSD のカーネルの振舞いは、 /sys/i386/conf に あるカーネル設定ファイルで設定します。一度でも、、カー 4 http://www.iodata.co.jp/products/video/gvbctv.htm UNIX MAGAZINE 2001.8 ネルの再構築 " をしたことがあれば、このディレクトリに は現在のカーネルの設定か第当主されたファイルが保存され ているはすです。このファイルはどんな名前でもいいので すが、私の周囲ではホスト名を大文字で綴ったものにして いる人が多いようです。以下ではこのファイルを編集しま す。 カーネルの再構築をおこなったことがないなら、このデ ィレクトリには GENERIC と LINT という名前のファ イルがあるはすです。まずは GENERIC を適当な名前の ファイルにコピーして、これを編集します。 # cd /sys/i386/conf # cp GENERI C UNI XMAG この例では、この PC のホスト名 (unixmag) にちな み、設定ファイルは UNIXMAG とすべて大文字で綴っ ています。 この UNIXMAG というファイルを編集するにあたっ て、ますは利用していないデバイスに関する言当をコメン トアウト ( または削除 ) するという作業がありますが、今 回は省略します。この作業をおこなっておくとカーネルの サイズが小さくなることが多く、メモリを多少効率よく利 用できるようになります。 このファイルに最低限追加しなけれはならないのは次の 1 行です。 device よいでしょ device device さらに、以下のようなデバイスの記し助日しておくと bkt r iicbb iicbus smbus つ。 よって変わる可能性があります。 これらのデバイスは、使用するカードやマザーポードに 135

6. UNIX MAGAZINE 2001年8月号

カーネルの冓築 た場合は設定ファイルに言当ミスがないか石信忍します。 ジは省略しています ) 。もちろん、途中でエラーなどが出 を明冓築します ( それぞれのコマンドが出力するメッセー 上記のような言当を追加したら、以下の手順でカーネル 最後の、、 make install" によって、いま再キ冓築したカー # make install # make # make depend # cd .. /.. /compi1e/UNIXMAG config UNIXMAG イルを作成します。 ら次のように、認識されたテンヾイスのためのデバイスファ ちんと認識されていることか分かります。それを石忍した た。これを見ると、設定ファイルに言当したテンヾイスはき すると、図 1 のようなメッセージが出力されていまし たあとで dmesg コマンドを実行したほうがよいでしよう。 ないか卩串ヾます。しかしこれは疲れるので、起重院了し た bktr や smbus 、 iicbus などに関するものか含まれてい 力されるメッセージを見つめ、このなかにさきほど追加し うまく再起動できたら、目を皿のようにして起重加に出 # shutdown —r now OS を再起動します。 ネルがインストールされます。ここまでうまくいったら、 カードが違う ? # sh MAKEDEV smb0 # sh MAKEDEV iic0 # sh MAKEDEV bkt r0 136 % man bktr bktr のオンライン・マニュアルを読んでみます。 のカードとして認識されています。これはおかしいので、 の GV-BCTV2 なのに IMS TV Turbo" という名前 図 1 によると、 PCI バスに挿したカードは I-ODATA 連載 / IJN Ⅸ便利帖ー⑩ 図 1 起動時のメッセージ # cd /dev bktrO : IMS TV Turbo , Phi1ips FR1236 NTSC FM tuner. smbus0 : く System Management Bus> on bti2c0 iicbusO: く PhiIips 12C bus> 0 Ⅱ iicbbO master—only iicbb0 : く 12C generic bit—banging driver> 0 Ⅱ bti2c0 bktrO : く BrookTree 848A > mem 0Xea102000 ー 0xea102fff irq 11 at device 9.0 on pci0 すると、カードの名前やテレピ心皮を受信するためのチ ーナーの不頁について、自動認識されたものカ墹違って いた場合は sysctl コマンドで変更できるよ、と書いてあ りました。さらに、 I-O DATA 製のビデオキャプチャ カードは、、 IO-GV" という名前で、 9 番という番号が付い UNIX MAGAZINE 2001.8 5 http://people.freebsd.org/&rhh/fxtv/ ションがインストールされている必要があります。 /usr/ fxtv をインストールします。そのためには ports コレク 今回は FreeBSD を使っているので、 port を利用して fxtv のインストール マニュアルにも書いてありました。 て有名なものにⅸ tv があります 5 。これは前述の bktr の す。 FreeBSD 上でテレビを見るためのソフトウェアとし はテレビを見るためのソフトウェアをインストールしま ードウェアの追加とカーネルの設定か完了したら、次 テレビを見る しているのか定かではないので、ここでは指定しませんで ニュアルに載っている一覧のうちどのチューナーを搭載 れています。しかし、このピデオキャプチャ・カードがマ マニュアノレには、チューナーの不頁も指定できると書か # chmod + x /usr/local/etc/rc . d/bktr . sh sysctl —w w. bt848. card=9 # ! /bin/sh # cat > /usr/local/etc/rc . d/bktr . sh ます。 ェル・スクリプトとして起重加寺に実行するようにしておき この操作は OS か起動するたびに必要になるので、シ # sysctl -w w. bt848. card=9 にカードの不頁を教えてやります。 ているとも書かれています。そこで、次のようにカーネル

7. UNIX MAGAZINE 2001年8月号

特集リ N ー X の基礎知識 0 sample. Z [hayao@mypc tmp] % ls 次の例は、引数にユーザー名を指定するコマンドの場合 [hayao@mypc tmp] % gunzip sample. ■ sample. tex ・ gz [hayao@mypc tmp] % gunzip sample. ■← Ctrl-D を入力 f00 sample . Z sample ・ ps sample . tex. gz サー名を指定します。この場合、 complete コマンドを使 にメッセージを送るためのコマンドで、最初の引数にユー です。 write は、ログインしているほかのユーサーの端末 [hayao@mypc ~ ] % write ロ← Ctrl-D を入力 がすべて表示されます。 入力すると、 /etc/passwd に登録されているユーザー その後に、、 write" と入力し、空白に続けて Ctrl-D を complete write 'p/l/u/' って以下のように設定します。 名 表 4 correct 変数直と乍 値 cmd complet e all コマンド名がスペル訂正の対象になる コマンド名が自刺第勺に補完される 入力行全体がチェックされ、コマンド名だけ でなくファイル名や変数名もスペル訂正の対 象となる adm bin games gopher daemon halt ftp lp mail neWS nobody hayao て 00t shutdown sync uucp [hayao@mypc ~ ] % write ロ 48 ている FTP サイトであれば、たいていはみつかるでしょ FreeBSD や Linux のディストリビューションが置かれ をはしめ、国内の多くの FTP サイトに置かれています。 Jirai/SOURCES/ ・ ftp://ftp.iij.ad.jp/pub/linux/kondara/ distfiles/ ・ ftp://ftp4.jp.freebsd.org/pub/FreeBSD/ tcsh のソースファイルは、 に、自分なりの工夫を加えてみるといいでしよう。 、、使える " はすですが、慣れてきたらこのファイルを参考 のファイルを source コマンドで読み込むだけでもかなり complete. tcsh というファイルが付属しています。 使われるコマンドの設定例が 200 以も挙げられている ソースファイル (tcsh-6.10. tar. (z) には、 UNIX でよく 設定例か書かれたファイルを紹介しておきます。 tcsh の う・・・・・・ではあまりに不親切なので、 complete コマンドの あとは、マニュアルなどを参照して設定してみましょ ます。 みなさオ t 、それ以降の引数は通常のファイル名補完になり この場合には、 write の最初の引数だけがユーサー名と う。 Linux の場合は、 /usr/doc/tcsh-6.10.00 などのデ ィレクトリに complete. tcsh がインストールされている こともあります。 スペノレ言丁正 tcsh には、単語の補完と一覧機能に加え、ファイル名 やコマンド名、変数名のスペル訂正機能があります。 この機能は、シェル変数 correct をセットすることに よって有効になります。変数の値により、表 4 のように UNIX MAGAZINE 2001.8 イ耡ゞスペル訂正の対象となり、ファイル名や変数名なども さらに、 correct 変数に、、 al にを設定すると、入力行全 こなわれませんでした。 kterm と ktest という 2 つの一甫があり、自重甫完はお です。たとえは、私の竟では、、 kte" の 3 文字だけだと 力した文字列だけでコマンドカ甘与定できる場合に限るよう が実行されます。自重甫完がうまく働くのは、すでに入 すると、、、 m " という文字か補われて kterm コマンド [hayao@mypc ~ ] % kter ←こ 、でリターンを押す 、、 kter" とだけ入力してリターンキーを押します。 字を自重加勺に補完して実行します。たとえば、次のように correct 変数に、、 complete" を成疋すると、足りない文 場合は入力本をキャンセルします。 す。 e を入力した場合はふたたび入力行に戻り、、、 a " の Ⅱを入力すると訂正前の綴りでコマンドが実行されま こで、、 y " を入力すると訂正後のスペルで、 かれます。 正しいスペルが表示され、どのように対応するかと訊 CORRECT>kterm ( ⅵ司司 a)? ■ [hayao@mypc ~ ] % kt arm [hayao@mypc ~ ] % set correct=cmd 違えてみましよう。 correct 変数に、、 cmd" を成疋し、 kterm のスペルを間 乍が異なります。

8. UNIX MAGAZINE 2001年8月号

UNiX MAGAZINE CONTENTS 2001 / 8 特集 33 85 連載 67 75 123 130 134 139 情報系新人のための UN Ⅸの基礎知識 横垣駿雄、山口英、坂下秀 JavaServer Pages ・・・・・・荒井美千子 レイヤ 3 スイッチ Summit の基本設定 ( 4 ) 新・倉敷芸術科学大学のネットワーク構築 rwhod プログラミンク・テクニック・・・・・・多治見寿和 情報整理の技術 ( 1 1 ) UNIX Communication Notes ・・・・・・山口英 大江将史 DNS (BIND 9 ) の運用 シェルの活用 (tcshC) Starting Up IPv6 JSP ヘージの作成 ( 2 ) シェルの魔術・・・・・・森島直人 ファイルの指定 フリー・ソフトウェアの小径・・ NomaiI UN Ⅸ便利帖・・・・・・宮下健輔 FreeBSD でテレビを見よう " おおっかまさひと BSD をハックする・・・・・・齊藤明紀 ス - タス表示器 COVER, CONTENTS DESIGN ・ MORIYA, KAZUO (AUDREY THE DESIGN)

9. UNIX MAGAZINE 2001年8月号

る カ 3 ! ~ 国国 8 吶 88 888 病 行 も て し開一 222 ~ : 蹊 2 ~ ー加ーーーい ン ス 9 3 S ね加 9 Up lPv6 ( 4 ) 図 33 Windows 2000 の Virtual PC 上で FreeBSD FreeB SD での問題点 生小 0 ・第ツ朝 M VirtuaI PC を使ってみて、気づいた間題点をいくつか 挙げていきます 11 ます気になったのは、 X の起重加に背景の灰色の部分 が青色になってしまうことです。 VRAM の期化に徴妙 に失敗しているようですが、再描画すれは正常な色て表示 されるので実害はありません。背景色を変えている Win- dow Manager では X の起動直後に再描画さオ L 、そんな 問題があったことすらすぐに忘れてしまうでしよう。 次はややリで、 VirtuaI Switch を利用した場合、ス ルーフットか極端に低くて実用に堪えないという間題で す。リンク自体は上がり、 ping も正常に通ります。共有ネ ットワーク (NAT) を利用した場合は 10 秒で終るファイ ル転送が、終了までの予想時間が 2 時間を超える値になり ます。なんとか角夬したいと、 Technology Preview の 公式掲示板 (http://preview.connectix.com/cgi-bin/ ultimatebb. cgi) で調べてみたところ、 Virtual Switch にはほかにもさまざまな問題があることが分かりました。 ーイ勺な角夬策としては、 VirtuaI PC Network Ser- vices 専用の NIC を追加する方法カ甘隹奨されています。 VirtuaI PC Network Sevices 以外のコンホーネントを すべて無効にしたうえで、 Virtual Switch の設疋でその 専用 NIC を尺します。しかし、問題は解決しても、そ のために NIC を 1 枚助日するのは無駄なような気がしま のままネットワーク・インストールしましたが、 XFree86 す。 Virtual Switch がきちんと機能しないと、仮想 PC の設定まで含めてあっけないほど簡単に成功しました。 にグローバル・アドレスを割り当てて運用できません。 デフォルトでは、仮想 PC は以下のような設定になっ ディスク I/O の負荷か高くなると、ゲスト OS 内の ています。 イ瓦想 IDE デバイスがリセットされるという問題もありま す。これは VMware でもときどき発生しますが、どちら ・メモリ : 32MB の場合もホスト OS の CPU パワーに左右されるようで ・ HDD : DynamicaIly-expanding images ・ CD-ROM : 起動可 ( セカンダリ IDE コントローラに す。 IDE デバイスがリセットされてもとく口リな景 はないので、気にはなるが実害はない程度の問題といえる ・ FDD : 起動可 でしよう。 ・ネットワーク : 共有ネットワーク 物理ティスクからの起動は惨敗 XFree86 の設定では、ヒ、デオカードを S3 Tri064 、マ Virtual PC には、物理ディスクから起動する機能もあ ウスを /dev/psm0 に接続した PS/2 マウスとしました。 ります。 FreeBSD 、 NetBSD 、 Linux の 3 不鶤頁の OS x も間題なく動き、商そのものです ( 図 33 ) 。 を起動してみましたが、残念ながら結果は惨憺たるもので サスペンドしたときなどの実行状態がサムネイル表示 11 さきはども述べましたが、これらの間題は製品版では鮹肖されている可 ( 図 34 ) されるところも、なかなかッポを押さえています。 能性もあります。 ー Virtual PO 第規の : NetBSD 実行していません 108 UNIX MAGAZINE 2001.8

10. UNIX MAGAZINE 2001年8月号

特集 UN ー X の基礎知識 0 図 5 OSTYPE によるシステムの判定 switch ($OSTYPE) case linux : set path = ( /usr/10ca1/Acrobat4/bin /usr/local/bin /usr/X11R6/bin /usr/bin /bin ) setenv LANG j a—JP. EUC breaksw case freebsd: set path = ( /usr/10ca1/X11R6/bin /usr/local/bin /usr/X11R6/bin /usr/bin /bin ) setenv LANG j a-JP. EUC breaksw case SOIariS : set path = ( /usr/local/bin /usr/X/bin /usr/openwin/bin /usr/ucb /usr/bin ) [hayao@mypc ~ ] % lp て -P$PRINTERO 16 : 16 16 : 16 16 : 16 setenv LANG C set path = ( /usr/local/bin /usr/bin /bin ) default : breaksw setenv LANG j apanese breaksw endsw if ( $OSTYPE = alias emacs endif 'freebsd' ) then emacs—d1—20.7) ふだん、私は自分のシステムでは bash を使っていま す。しかし、出先などでは bash がインストールされてい ないシステムでイ乍業せざるをえないこともあります。そう いう場合は tcsh を使いますが、ついつい Ctrl-r でヒスト リーのインクリメンタル・サーチを試みたり、 TAB キー の連打て補完の↑嚇甫を表示しようとしてしまいます。 tcsh の将来のバージョンでは、せひこれらの機能を取り込んで ほしいものです。 さまざまな展開 tcsh には、変数をコマンドライン上てイ直に展開したり、 ヒストリーの展開命令 ( ! て始まる文字列 ) や gl 。 b パター ン ( * などのワイルドカードを用いたファイル名の置換パ ターン ) をその場で展開する機能があります。 使い方はとくに難しくないので、 こではそれぞれの例 を挙げるにとどめます。 52 70 16 : 16 69 16 : 16 [hayao@mypc ~ ] % history ・ヒストリーの展開 [hayao@mypc ~ ] % lp て -P1pO ・変数の展開 Vi f00. tex ls ↓ Ctrl-x $ 71 72 73 74 16 : 16 1s platex f00. tex xdvi f00 . tex history [hayao@mypc ~ ] % ! 70 ロ ↓ Meta- スペース [hayao@mypc ~ ] % vi f00. texu ・ glob ノ、ターンの展開 [hayao@mypc -/tmp] % ls inu ・ gif junk nek0 ・ gif test . csh [hayao@mypc -/tmp] % fo て i ( *. gifO ↓ CtrI-x $ * $ [hayao@mypc -/tmp] % for i (inu ・ gif neko. gif ロ 設定ファイルのカスタマイ 最彳刻こ、 tcsh の成正ファイル (~/. login や ~/. tcshrc) の設定方法について簡単にまとめておきましよう。 オフィスや研究室などでは、さまざまな OS のマシンが ネットワークに接続されていることが多いでしよう。 NFS などを用いて、ホーム・ディレクトリを集中的に管理して いる場合もあります。そういった環境では、 1 つの成疋フ ァイルですべてに対応できるようにしておくと便利です。 tcsh では、工韆竟変数 OSTYPE の値で OS の不鶤頁が分 かります。そこで、図 5 のように if や switch コマンド を使えば、 OS の不鶤頁ごとに異なる設定をすることができ UNIX MAGAZINE 2001.8