diff --git a/ja_JP.eucJP/articles/Makefile b/ja_JP.eucJP/articles/Makefile index 8b77e845e0..ad8afd3886 100644 --- a/ja_JP.eucJP/articles/Makefile +++ b/ja_JP.eucJP/articles/Makefile @@ -1,47 +1,49 @@ # $FreeBSD$ -# Original revision: 1.36 +# Original revision: 1.42 SUBDIR = #SUBDIR+= 5-roadmap #SUBDIR+= checkpoint #SUBDIR+= committers-guide #SUBDIR+= console-server SUBDIR+= contributing SUBDIR+= contributors #SUBDIR+= cvs-freebsd #SUBDIR+= cvsup-advanced SUBDIR+= dialup-firewall SUBDIR+= diskless-x #SUBDIR+= euro #SUBDIR+= explaining-bsd SUBDIR+= fbsd-from-scratch #SUBDIR+= filtering-bridges SUBDIR+= fonts #SUBDIR+= formatting-media #SUBDIR+= freebsd-questions #SUBDIR+= hats #SUBDIR+= hubs SUBDIR+= ipsec-must -#SUBDIR+= laptop #SUBDIR+= java-tomcat +#SUBDIR+= laptop +#SUBDIR+= mailing-list-faq #SUBDIR+= mh SUBDIR+= multi-os #SUBDIR+= new-users #SUBDIR+= pam +#SUBDIR+= portbuild #SUBDIR+= pr-guidelines SUBDIR+= problem-reports -#SUBDIR+= programming-tools #SUBDIR+= pxe +#SUBDIR+= relaydelay #SUBDIR+= releng #SUBDIR+= releng-packages #SUBDIR+= serial-uart #SUBDIR+= solid-state #SUBDIR+= storage-devices #SUBDIR+= vinum #SUBDIR+= vm-design SUBDIR+= zip-drive # ROOT_SYMLINKS+= new-users DOC_PREFIX?= ${.CURDIR}/../.. .include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/ja_JP.eucJP/articles/contributing/Makefile b/ja_JP.eucJP/articles/contributing/Makefile index 5aceb30fb2..1591509dde 100644 --- a/ja_JP.eucJP/articles/contributing/Makefile +++ b/ja_JP.eucJP/articles/contributing/Makefile @@ -1,17 +1,21 @@ +# # $FreeBSD$ -# Original revision: 1.4 +# +# Article: Contributing to FreeBSD +# +# Original revision: 1.6 DOC?= article +WITH_ARTICLE_TOC?= YES FORMATS?= html INSTALL_COMPRESSED?=gz INSTALL_ONLY_COMPRESSED?= -WITH_ARTICLE_TOC?=YES +SRCS= article.sgml -SRCS= article.sgml - -DOC_PREFIX?= ${.CURDIR}/../../.. +URL_RELPREFIX?= ../../../.. +DOC_PREFIX?= ${.CURDIR}/../../.. .include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/ja_JP.eucJP/articles/contributors/Makefile b/ja_JP.eucJP/articles/contributors/Makefile index cc70244bad..bd0f2046dd 100644 --- a/ja_JP.eucJP/articles/contributors/Makefile +++ b/ja_JP.eucJP/articles/contributors/Makefile @@ -1,26 +1,31 @@ +# # $FreeBSD$ -# Original revision: 1.6 +# +# Article: Contributors to FreeBSD +# +# Original revision: 1.9 DOC?= article FORMATS?= html +WITH_ARTICLE_TOC?= YES INSTALL_COMPRESSED?=gz INSTALL_ONLY_COMPRESSED?= -WITH_ARTICLE_TOC?=YES +ORGDIR= ${DOC_PREFIX}/en_US.ISO8859-1/articles/contributors -ORGDIR=${DOC_PREFIX}/en_US.ISO8859-1/articles/contributors +SRCS= article.sgml +SRCS+= ${ORGDIR}/contrib.ent +SRCS+= ${ORGDIR}/contrib.386bsd.sgml +SRCS+= ${ORGDIR}/contrib.additional.sgml +SRCS+= ${ORGDIR}/contrib.committers.sgml +SRCS+= ${ORGDIR}/contrib.core.sgml +SRCS+= ${ORGDIR}/contrib.corealumni.sgml +SRCS+= ${ORGDIR}/contrib.develalumni.sgml +SRCS+= ${ORGDIR}/contrib.staff.sgml -SRCS= article.sgml -SRCS+=${ORGDIR}/contrib.ent -SRCS+=${ORGDIR}/contrib.386bsd.sgml -SRCS+=${ORGDIR}/contrib.additional.sgml -SRCS+=${ORGDIR}/contrib.committers.sgml -SRCS+=${ORGDIR}/contrib.core.sgml -SRCS+=${ORGDIR}/contrib.corealumni.sgml -SRCS+=${ORGDIR}/contrib.develalumni.sgml - -DOC_PREFIX?= ${.CURDIR}/../../.. +URL_RELPREFIX?= ../../../.. +DOC_PREFIX?= ${.CURDIR}/../../.. .include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/ja_JP.eucJP/articles/contributors/article.sgml b/ja_JP.eucJP/articles/contributors/article.sgml index 025dba2762..675ea81e86 100644 --- a/ja_JP.eucJP/articles/contributors/article.sgml +++ b/ja_JP.eucJP/articles/contributors/article.sgml @@ -1,723 +1,748 @@ %articles.ent; %contrib.ent; ]>
FreeBSD への貢献者 $FreeBSD$ &tm-attrib.freebsd; + &tm-attrib.cvsup; &tm-attrib.sun; &tm-attrib.general; この文書は FreeBSD に貢献した個人や組織を列記したものです。 寄贈者ギャラリー FreeBSD プロジェクトは次の寄贈者に恩義を受けており、 ここに公表して感謝の意を表したいと思います。 セントラルサーバプロジェクトへの寄贈者: 次にあげる個人および企業からは、 新しいセントラルサーバマシンのための部品の寄贈を頂きました。 これにより、freefall.FreeBSD.org をリプレースして、新しい FreeBSD サーバマシンを 構築することができました。 &a.mbarkah と彼の所属する Hemisphere Online は、Pentium Pro (P6) 200MHz CPU を寄贈してくださいました。 ASA Computers は、Tyan 1662 マザーボード を寄贈してくださいました。 ViaNet Communications の Joe McGuckin joe@via.net は、Kingston イーサネットコントローラ を寄贈してくださいました。 Jack O'Neill jack@diamond.xtalwind.net は、 NCR 53C875 SCSI コントローラカード を寄贈してくださいました。 Alameda Networks の Ulf Zimmermann ulf@Alameda.net は、128 MB のメモリ、そして 4 GB のディスクドライブと匡体 を寄贈してくださいました。 直接的な資金提供 次にあげる個人および企業からは FreeBSD プロジェクトに対する直接的な 資金提供を頂いています。 Annelise Anderson ANDRSN@HOOVER.STANFORD.EDU &a.dillon; Blue Mountain Arts Epilogue Technology Corporation &a.sef; Global Technology Associates, Inc Don Scott Wilde Gianmarco Giovannelli gmarco@masternet.it Josef C. Grosch joeg@truenorth.org Robert T. Morris &a.chuckr; Imaginary Landscape, LLC. の Kenneth P. Stox ken@stox.sa.enteract.com Dmitry S. Kohmanyuk dk@dog.farm.org 日本の Laser5 は、さまざまな種類の FreeBSD CD の販売利益の一部を 寄付してくれました。 蕗出版 は、はじめての FreeBSD の売り上げの一部を FreeBSD プロジェクト及び XFree86 プロジェクトへ寄付してくれました。 アスキー は FreeBSD 関連の書籍の売り上げの一部を FreeBSD プロジェクトおよび FreeBSD 友の会へ寄付してくれました。 横河電機株式会社 からは FreeBSD プロジェクトへ多大な寄付をいただきました。 BuffNET Pacific Solutions Siemens AG, Andre Albsmeier andre.albsmeier@mchp.siemens.de Chris Silva ras@interaccess.com ハードウェアの寄贈者 次にあげる個人および企業からは、 テストやデバイスドライバの開発 / サポート のためのハードウェアの寄贈を頂いています。 BSDi は、 ネットワークへのアクセスおよび 他のハードウェアリソースの寄贈はいうまでもなく、 開発に使うための Pentium P5-90 と 486/DX2-66 EISA/VL のシステム数台を提供してくださいました。 Compaq から、さまざまな種類の Alpha システムを FreeBSD プロジェクトに寄贈していただきました。 この豊富な寄贈品の中には AlphaStation DS10 4 台、AlphaServer DS20 1 台、 AlphaServer 2100 数台、AlphaServer 4100 1 台、 500Mhz の CPU を搭載したパーソナルワークステーション 8 台、 433Mhz の CPU を搭載したパーソナルワークステーション 4 台が含まれ、 それ以外にも数々の支援をいただきました。 上記のマシンは、FreeBSD/Alpha における リリースエンジニアリング作業、package 構築、SMP の開発、 そして一般的な開発に利用されています。 TRW Financial Sysytems 社は、PC 130 台、68 GB のファイルサーバ 3 台、12 のイーサネット、 ディスクレスコードのデバッグをおこなうための ルータ 2台及び ATM スイッチを提供してくださいました。また、 彼らは 2、3 人の FreeBSD ハッカーを雇って、FreeBSD に専念させてくださっております。 ありがとうございます! Dermot McDonnell は、東芝 XM3401B CD-ROM ドライブを 寄贈してくださいました。その CD-ROM ドライブは現在 freefall で使用されています。 Chuck Robey chuckr@glue.umd.edu は、実験用のフロッピーテープストリーマを 寄付してくださいました。 Larry Altneu larry@ALR.COM と &a.wilko;は、wt ドライバを改良するために Wangtek と Archive の QIC-02 テープドライブを提供してくださいました。 Ernst Winter ewinter@lobo.muc.de は、 このプロジェクトへ 2.88 MB のフロッピードライブを提供してくださいました。 うまくいけば、 これでフロッピーディスクドライバを書き直すための プレッシャーが増えるでしょう。 Tekram Technologies は NCR ドライバや AMD ドライバと自社のカードの逆行テストのため FAST/ULTRA SCSI ホストアダプタ DC-390、DC-390U、DC-390F を 各1枚提供してくださいました。また、フリーな OS のためのドライバの ソースを自社の FTP サーバ で公開されていることも称賛に値するでしょう。 Larry M. Augustin は Symbios Sym8751S SCSI カードを寄贈してくださっただけでなく、Ultra-2 や LVD をサポートする次期チップ Sym53c895 のものを含む データブックのセットと、最新の Symbios SCSI チップが持つ先進的機能を安全に使う方法について書かれた 最新のプログラミングマニュアルも寄贈してくださいました。 本当にありがとうございます! Christoph Kukulies kuku@FreeBSD.org は、IDE CD-ROM ドライバ開発用の FX120 12 倍速 Mitsumi CD-ROM ドライブを提供してくださいました。 Mike Tancsa mike@sentex.ca は、 拡張カードの対応と、netatm ATM スタックの開発作業のために 4 枚の ATM PCI カードを寄贈してくれました。 特筆すべき寄贈者 BSDi (かつての Walnut Creek CDROM) は、 言い表せないほど多くの寄付をしてくださいました (詳細は - FreeBSD ハンドブックの + FreeBSD ハンドブックの 「FreeBSD プロジェクトについて」の章をご覧ください)。 特に、私たちのもともとのプライマリ開発マシンである freefall.FreeBSD.org、 テストおよびビルドマシンである thud.FreeBSD.org で使用しているハードウェアに対し感謝したいと思います。 また彼らには、数年にわたる色々な貢献者への資金提供や、 インターネットへの T1 コネクションの無制限使用を提供して 頂いた恩義があります。 interface business GmbH, Dresden は、&a.joerg; を根気よくサポートしてくださいました。彼は本職より FreeBSD の仕事を好みがちであり、彼個人の接続があまりに 遅くなったり途切れたりして仕事にならない時は必ず interface business の (非常に高価な) EUnet インターネット接続に頼ったものです…。 Berkeley Software Design, Inc. は、同社の DOS エミュレータのコードを BSD コミュニティ全体に対して提供してくれました。このコードは、 doscmd コマンドに利用されています。 FreeBSD コアチーム FreeBSD コアチームは、 プロジェクトの 運用委員会 を形成し、FreeBSD プロジェクトの全般的な目的や方針の決定を行います。さらに、 FreeBSDプロジェクトの 特定の分野の 運用も行っています。 (姓でアルファベット順): &contrib.core; + + + + その他の &os; チーム + + &os; プロジェクトは必要に応じて特定の人達に権限を委任しています。 + 現在、活躍しているさまざまなチームの指定分野とそのメンバを以下に紹介します。 + + &contrib.staff; + + FreeBSD の開発者たち (CVS の) commitする権利を持っていて、FreeBSD のソースツリーについて 作業をおこなっている人々がいます。 すべてのコアチームのメンバはまた開発者でもあります。 (姓でアルファベット順) &contrib.committers; FreeBSD ドキュメンテーションプロジェクト - FreeBSD + FreeBSD ドキュメンテーションプロジェクトは複数のサービスを提供 しています。それぞれのサービスは、以下の担当者とその 副担当者によって運用されています。 ドキュメンテーションプロジェクト担当 - &a.nik; + &a.doceng; ハンドブック編集担当 &a.doc; FAQ 編集担当 &a.doc; ニュースフラッシュ編集担当 - &a.jim; + &a.www; In the Press 編集担当 &a.jkoshy; FreeBSD Really-Quick NewsLetter編集担当 Chris Coleman chrisc@vmunix.com ギャラリーページ担当 &a.phantom; 商用ベンダーページ担当 - &a.ceri; + &a.josef; ユーザグループ担当 &a.grog; FreeBSD &java; プロジェクト &a.patrick; - - - LinuxDoc から DocBook への移行 - - - &a.nik; - - 担当者 - + ドキュメンテーションプロジェクト担当 - &a.nik; + &a.doceng; CVSup ミラーサイトコーディネータ &a.cvsup-master; 担当: &a.kuriyama; (責任者), &a.jdp; (アドバイザ) + + FTP/WWW ミラーサイトコーディネータ + + + &a.mirror-admin; + + 担当: + + &a.kuriyama;, + &a.kensmith; + + + 地域化 &a.ache; ポストマスタ - &a.jmb; + FreeBSD.org + ポストマスタチーム postmaster@FreeBSD.org + + 担当: + + David Wolfskill - リリースコーディネーション + リリースコーディネーション &a.re; (リーダは &a.murray;) 広報および渉外担当 空席 - + セキュリティオフィサ &a.security-officer; (リーダは &a.nectar;) - + CVS ツリー管理者 責任者: &a.peter; 副責任者: &a.markm;, &a.joe; ウェブサイト管理者 &a.www; - - Ports Collection 担当 + + Ports マネージャ &a.portmgr; 以下のメンバで構成されています。 - &a.asami;, - &a.knu;, &a.kris;, - &a.lioux;, &a.marcus;, - &a.sobomax;, - &a.steve;, - &a.will; + &a.will;, + &a.linimon;, + &a.eik;, + &a.krion;, + &a.erwin; (秘書) 標準化担当 &a.wollman; XFree86 Project, Inc. との渉外担当 &a.rich; - + GNATS 管理者 - &a.steve; + &a.ceri; + &a.keramida; + &a.linimon; - Bugmeister + Bugmeisters &a.ceri; + &a.keramida; + &a.linimon; - 寄贈品受付事務局 + 寄贈品受付事務局 &a.donations; 以下のメンバで構成されています。 &a.mwlucas &a.nsayer &a.obrien &a.rwatson &a.trhodes コアチームの卒業生 コアチーム (core team) 次にあげる人々は () で記した期間、FreeBSD コアチームのメンバーでした。FreeBSD プロジェクトにおける彼らの努力に感謝の意を表します。 だいたいの年代順 &contrib.corealumni; 開発チームの卒業生 開発チーム (development team) 次にあげるのは、かつて FreeBSD 開発チームの一員だった人々です。 FreeBSD プロジェクトに貢献してくださった彼らに感謝します。 ほぼ年代順に: &contrib.develalumni; BSD 派生ソフトウェアへの貢献者 このソフトウェアは最初は William F. Jolitz の 386BSD release 0.1 から派生しましたが、オリジナルの 386BSD に固有のコードはほとんど残っていません。 このソフトウェアは基本的にはカリフォルニア大学 バークレイ校の Computer Science Research Group (CSRG) とその共同研究者 たちによる 4.4BSD-Lite リリースから再実装されました。 また、NetBSD や OpenBSD の一部も FreeBSD に取り込まれています。したがって私たちは NetBSD と OpenBSD へ貢献した人々すべてに感謝します。 その他の FreeBSD への貢献者 (名前でアルファベット順) &contrib.additional; 386BSD パッチキットへのパッチ提供者 (名前でアルファベット順): &contrib.386bsd;
diff --git a/ja_JP.eucJP/articles/dialup-firewall/Makefile b/ja_JP.eucJP/articles/dialup-firewall/Makefile index e85e0f02f7..23047691fe 100644 --- a/ja_JP.eucJP/articles/dialup-firewall/Makefile +++ b/ja_JP.eucJP/articles/dialup-firewall/Makefile @@ -1,15 +1,20 @@ +# # $FreeBSD$ -# Original revision: 1.3 +# +# Article: Dialup firewalling with FreeBSD +# +# Original revision: 1.5 DOC?= article FORMATS?= html INSTALL_COMPRESSED?=gz INSTALL_ONLY_COMPRESSED?= -SRCS= article.sgml +SRCS= article.sgml -DOC_PREFIX?= ${.CURDIR}/../../.. +URL_RELPREFIX?= ../../../.. +DOC_PREFIX?= ${.CURDIR}/../../.. .include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/ja_JP.eucJP/articles/dialup-firewall/article.sgml b/ja_JP.eucJP/articles/dialup-firewall/article.sgml index 36927a6597..3dc8881f0d 100644 --- a/ja_JP.eucJP/articles/dialup-firewall/article.sgml +++ b/ja_JP.eucJP/articles/dialup-firewall/article.sgml @@ -1,346 +1,346 @@ %articles.ent; ]>
FreeBSD によるダイアルアップ式ファイアウォールの構築 Marc Silver
marcs@draenor.org
$FreeBSD$ &tm-attrib.freebsd; &tm-attrib.general; この記事は FreeBSD の PPP ダイアルアップと IPFW を用いながらどのようにファイアウォールをセットアップするか、 特に動的に割り当てられた IP アドレスによるダイアルアップ上のファイアウォールについて、 事実を元に詳細に説明します。 なお、始めにしなければならない PPP 接続の設定については触れて いません。PPP 接続の設定について詳しいことは、&man.ppp.8; のマ ニュアルを参考にしてください。
序文 FreeBSD によるダイアルアップ式ファイアウォールの構築 この文書はあなたの ISP によって IP アドレスが動的に割り当てられる場合に、FreeBSD で ファイアウォールを設定するのに必要な手順の概略を述べるものです。 この文書を可能な限り有益で正確なものにするために努力しているので、 どうぞ修正、意見や提案を、 marcs@draenor.org 宛で著者に送って下さい。 カーネルオプション IPFW を使うためには、それに対応するようにカーネルを コンパイルしなければなりません。 カーネルを再コンパイルする方法についてのさらなる情報は、 ハンドブックの カーネルのコンフィグレーションの節をご覧ください。 IPFW に対応するには、カーネルの設定ファイルに以下のオプションを 追加しなければなりません。 options IPFIREWALL カーネルのファイアウォールのコードを有効にします。 この文書では、&os; 5.X を動かしていると仮定して います。&os; 4.X を動かしているユーザーは、カーネルを IPFW2 に対応するよう 再コンパイルしなければなりません。&os; 4.X のユーザーは、 システムで IPFW2 を利用するための詳細は &man.ipfw.8; のマニュアルページを参考にしてください。特に、 USING IPFW2 IN FreeBSD-STABLE という節は注意深く読んでください。 options IPFIREWALL_VERBOSE システムの logger へ記録されたパケットを送ります。 options IPFIREWALL_VERBOSE_LIMIT=500 当てはまるエントリが記録されうる数を制限します。 これは、サービス不能 (DoS) 攻撃が起きても、syslog が溢れる 危険を避けて、ファイアウォールの活動を記録できるようにします。 500 は妥当な数ですが、あなたの 要件に基づいて調整できます。 カーネルの再コンパイルが完了しても、システムを 再起動しないで下さい。 そうしてしまうと、結果的にシステムから閉め出されてしまう 可能性があります。ルールセットを適切に配置し、関連する設定ファイルを すべて更新するまでは再起動してはいけません。 ファイアウォールを搭載するように <filename>/etc/rc.conf</filename> を変更する システムでファイアウォールを有効にし、ルールファイルのありかを 指定するために /etc/rc.conf を若干変更する必要があります。 /etc/rc.conf に以下の行を加えてください。 firewall_enable="YES" firewall_script="/etc/firewall/fwrules" 上記の設定に関するより詳しい情報は /etc/defaults/rc.conf を参照した上で、 &man.rc.conf.5; を読んで下さい。 PPP のネットワークアドレス変換を有効にする ネットワーク内のクライアントがゲートウェイ経由で接続できる ようにするには、PPP のネットワークアドレス変換 (NAT) を有効に しなければなりません。PPP の NAT 機能を利用するには、次の行を /etc/rc.conf に追加してください。 ppp_enable="YES" ppp_mode="auto" ppp_nat="YES" ppp_profile="your_profile" your_profile をあなた自身のダイアル アッププロファイルに変更するようにしてください。 ファイアウォールへのルールセット ここであなたのシステム用のファイアウォールルールを定義します。 私たちが記述するルールセットは、大部分のダイアルアップユーザ向けの 一般的な雛型です。ユーザ毎の要求にぴったり合わないでしょうが、IPFW の動作について基本的な理解を得られ、要求に合わせて設定を変更する のは結構簡単なはずです。 まずは、閉鎖的なファイアウォールの基礎から始めましょう。閉鎖的な ファイアウォールは、設定がない場合はすべて拒否するという考えに 基づいています。それから、管理者は許可したい通信用のルールを明示的に 追加できます。通信用のルールは、許可が先でそれから拒否という 順番であるべきです。許可したいものすべてについてルールを追加して、 それ以外はすべて自動的に拒否されることを前提とします。 それでは、ファイアウォールのルールを保存するディレクトリを 作成しましょう。この例では、 /etc/firewall を用います。 ディレクトリをそこへ変更し、 rc.conf で規定した fwrules ファイルを編集します。 このファイル名を自分が望む任意のものに変更できるということに気をつけてください。 この手引きはあなたが使おうとするかもしれないファイル名の一例を 与えるだけです。 それでは、きちんと注釈が施されたファイアウォールファイルの 例を見てみましょう。 # (/etc/rc.firewall にあるように) 参照を簡単にするためにファイアウォールの # コマンドを定義します。読みやすくするのに役立ちます。 fwcmd="/sbin/ipfw" # 外向けインタフェースを定義します。ユーザーランド ppp では、 # 何も設定しないと tun0 になります。 oif="tun0" # 内向けインタフェースを定義します。通常はネットワークカードに # なります。これを必ずあなたのネットワークインタフェースに # 合わせて変更するようにしてください。 iif="fxp0" # ルールを再読込みする前に、現在のルールを強制的に消去します。 $fwcmd -f flush # すべてのパケットの状態を確認します。 $fwcmd add check-state # 外向けインタフェース側でなりすましを防ぎます。 $fwcmd add deny ip from any to any in via $oif not verrevpath # 私たちが開始した接続はすべて許可し、状態を保存します。 # しかし、動的なルールを持たない確立した接続は拒否します。 $fwcmd add allow ip from me to any out via $oif keep-state $fwcmd add deny tcp from any to any established in via $oif # ネットワーク内の接続はすべて許可します。 $fwcmd add allow ip from any to any via $iif # ローカルな通信をすべて許可します。 $fwcmd add allow all from any to any via lo0 $fwcmd add deny all from any to 127.0.0.0/8 $fwcmd add deny ip from 127.0.0.0/8 to any # インターネット側のユーザに 22 番と 80 番ポートへ接続することを # 許可します。この例では、sshd とウェブサーバへの接続を特に許可しています。 $fwcmd add allow tcp from any to me dst-port 22,80 in via $oif setup keep-state # ICMP パケットを許可します。ホストを ping(8) に応答させたくなければ、 # icmptypes から 8 を削除してください。 $fwcmd add allow icmp from any to any via $oif icmptypes 0,3,8,11,12 # 残りのすべてを拒否して記録します。 $fwcmd add deny log ip from any to any 22 番と 80 番ポートへの接続のみを許可し、それ以外に試みられた 接続はすべて記録する、完全に機能するファイアウォールができました。 これで安全に再起動することができ、ファイアウォールが自動的に 起動してルールセットが読み込まれるはずです。 もしこれに何か間違いを見つけたり、何か問題に当たったり、 このページを改善する提案があるなら、 どうか私に電子メールを送って下さい。 質問 limit 500 reached on entry 2800 のようなメッセージが出た後、私のマシンはそのルール番号に対 応する拒否されたパケットを記録しなくなりました。 ファイアウォールはまだ動作しているのでしょうか? 単にそのルールのログカウントが最大値に達した ということを意味しています。ルール自体はまだ機能していますが、 ログカウンタをリセットするまでそれ以上ログを記録しません。 カウンタのリセット方法の例を以下に示します。 &prompt.root; ipfw resetlog また、この限界値を上述の オプションで 変更することもできます。 さらに、この限界値は (カーネルを再構築して再起動せずに) &man.sysctl.8; の net.inet.ip.fw.verbose_limit 変数により 変更することもできます。 何か間違っているに違いありません。 私はあなたの説明に文字通り従いましたが、 締め出されてしまいました。 このチュートリアルはあなたが userland-ppp を稼働していて、その結果 tun0 [&man.ppp.8; (またの名を user-ppp) で作られる最初の接続に相当します] インタフェース上で供給されたルールセットが動作していることを想定しています。 さらなる接続は tun1tun2 などを用います。 &man.pppd.8; が ppp0 インタフェースを代わりに用いるということにも注意するすべきです。 よって &man.pppd.8; による接続を始めるなら ppp0 の代わりに tun0 を用いて下さい。 この変更を反映するファイアウォールのルールを 編集する早道は以下に示されています。 元のルールセットは fwrules_tun0 としてバックアップされています。 &prompt.user; cd /etc/firewall /etc/firewall&prompt.user; su Password: /etc/firewall&prompt.root; mv fwrules fwrules_tun0 /etc/firewall&prompt.root; cat fwrules_tun0 | sed s/tun0/ppp0/g > fwrules いったん接続が確立したら、 現在 &man.ppp.8; か &man.pppd.8; のどちらを利用しているかを知るために &man.ifconfig.8; の出力で検査することができます。 例として、&man.pppd.8; で作成された接続では、 このようなものが目にするでしょう (関係のあるものだけ示しています)。 &prompt.user; ifconfig (skipped...) ppp0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1524 inet xxx.xxx.xxx.xxx --> xxx.xxx.xxx.xxx netmask 0xff000000 (skipped...) 他方で、&man.ppp.8; (user-ppp) で作成された接続では、 あなたはこれに似たものを目にするはずです。 &prompt.user; ifconfig (skipped...) ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500 (skipped...) tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1524 (IPv6 stuff skipped...) inet xxx.xxx.xxx.xxx --> xxx.xxx.xxx.xxx netmask 0xffffff00 Opened by PID xxxxx (skipped...)
diff --git a/ja_JP.eucJP/articles/diskless-x/Makefile b/ja_JP.eucJP/articles/diskless-x/Makefile index caded4d6a5..4a33b0d45d 100644 --- a/ja_JP.eucJP/articles/diskless-x/Makefile +++ b/ja_JP.eucJP/articles/diskless-x/Makefile @@ -1,15 +1,19 @@ +# # $FreeBSD$ -# Original revision: 1.7 +# +# Article: Diskless X Server: a how to guide +# +# Original revision: 1.8 DOC?= article FORMATS?= html INSTALL_COMPRESSED?=gz INSTALL_ONLY_COMPRESSED?= -SRCS= article.sgml +SRCS= article.sgml DOC_PREFIX?= ${.CURDIR}/../../.. .include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/ja_JP.eucJP/articles/diskless-x/article.sgml b/ja_JP.eucJP/articles/diskless-x/article.sgml index 3195662601..6f48fa36e6 100644 --- a/ja_JP.eucJP/articles/diskless-x/article.sgml +++ b/ja_JP.eucJP/articles/diskless-x/article.sgml @@ -1,391 +1,391 @@ %articles.ent; ]>
ディスク無しの X サーバ: 一つのガイド Jerry Kendall
jerry@kcis.com
1996/12/28 1996 Jerry Kendall &tm-attrib.freebsd; &tm-attrib.3com; &tm-attrib.microsoft; &tm-attrib.sun; &tm-attrib.general; FreeBSD-hackers メーリングリストの友人たちの助けによって、 わたしはディスクの無い X 端末を作ることができました。 X 端末の作成には、NFS によってマウントされた最小のユーティリティを持つ ディスク無しのシステムを作らなくてはなりませんでした。 同じ方法を使って 2 つの別々なディスク無しのシステムを作りました。 一つ目は altair.example.com です。 それは 340M のハードディスクが付いていますが、交換したくありませんでした。 そのため、そのマシンは antares.example.com からイーサネットを通じてブートするようになっています。 2 つ目のシステムは 486DX2-66 です。 わたしは全くローカルディスクのないディスク無しの FreeBSD を (完璧に) セットアップしました。 その場合のサーバは &sunos; 4.1.3 が動いている Sun 670MP です。 セットアップの設定は両方に同じものが必要でした。 わたしはこの文書に加えなくてはならない内容がまだあると思っています。 どんなことでもご意見がありましたら送ってください。
ブートフロッピーを作る (ディスク無しのシステム上で) ネットワークローダは TSR などの &ms-dos; が使うものがあるとうまく働かないことがあるので、 最も良い方法は専用のブートフロッピーを作るか、 もしできれば、&ms-dos; のメニューを作ってシステムが起動するときにどの設定を有効にするかを聞いてくるようにすることです。 (config.sys/autoexec.bat ファイルによって) 次に挙げるのはわたしが使っているもので、ちゃんと動作しているものです。 わたしの &ms-dos; (6.x) メニューを下に載せます。 <filename>config.sys</filename> [menu] menuitem=normal, normal menuitem=unix, unix [normal] .... normal config.sys stuff ... [unix] <filename>autoexec.bat</filename> @ECHO OFF goto %config% :normal ... normal autoexec.bat stuff ... goto end :unix cd \netboot nb8390.com :end ネットワークブートのプログラムを手に入れる (サーバ上で) /usr/src/sys/i386/boot/netboot にある net-boot プログラムをコンパイルしてください。 そのときには Makefile の先頭にあるコメントを読んでおきましょう。 要求されるように調整してください。 念のために、オリジナルのファイルはどこかにバックアップを取っておいてください。 ビルドが終わったら、2 つの &ms-dos; の実行ファイル nb8390.comnb3c509.com ができているはずです。 これらの 2 つのプログラムの 1 つはディスク無しのサーバ上で動かすのに必要になるものです。 それはブートサーバからカーネルをロードするものです。 ここでは両方のプログラムを先程作った &ms-dos; のブートフロッピーに入れておきます。 どのプログラムを実行するかを調べる (ディスク無しのシステム上で) もしあなたのイーサネットアダプタが使っているチップセットを知っているなら、 これは簡単なことです。もしそれが NS8390 チップセットか、 NS8390 をベースとするチップセットであれば、nb8390.com を使ってください。もし &tm.3com; 509 をベースとするチップセットなら、 nb3C509.com ブートプログラムを使ってください。 もしあなたの持っているものがよくわからなければ、一つ試してみて、そこで No adapter found と言われたらまた他のを試してみてください。それでもだめだったら、 あなたのものはとても珍しいということです。 ネットワークと通じてブートする config.sys/autoexec.bat ファイルも使わずにディスク無しのシステムを立ち上げてみてください。 あなたのイーサネットアダプタのためのブートプログラムを実行してみましょう。 わたしのイーサネットアダプタは WD8013 16bit モードで動いているので nb8390.com を実行します。 C:> cd \netboot C:> nb8390 Boot from Network (Y/N) ? Y BOOTP/TFTP/NFS bootstrap loader ESC for menu Searching for adapter.. WD8013EBT base 0x0300, memory 0x000D8000, addr 00:40:01:43:26:66 Searching for server... ここでは、 わたしのディスク無しのシステムはブートサーバとして振る舞うようなマシンを探しにいこうとします。 上の addr 行を記録しておいてください。 あとからその数が必要になります。ディスク無しのシステムを再起動して、 あなたの config.sysautoexec.bat ファイルを修正して これらの操作が自動で行われるようにしてください。 おそらくメニューの部分になるでしょう。 もし nb3c509.comnb8390.com の代わりに使わなくてはいけなかったとしても、出力は上と同じです。 もし Searching for adapter.. というメッセージが出るときに No adapter found ということを言われたら、 Makefile で定義されているコンパイル時間が正しくセットされているかどうかを確認してみてください。 システムがネットワーク越しにブートすることを許可する (サーバ上で) /etc/inetd.conf ファイルが tftp や bootps についてのエントリを持っているかどうかを確認してください。 わたしのは次のようになっています。 tftp dgram udp wait nobody /usr/libexec/tftpd tftpd /tftpboot # # Additions by who ever you are bootps dgram udp wait root /usr/libexec/bootpd bootpd /etc/bootptab もし /etc/inetd.conf ファイルを変更したときには、 &man.inetd.8 に HUP シグナルを送ってください。 これをするには、inetd のプロセス ID を ps -ax | grep inetd | grep -v grep して 取得してください。プロセス ID がわかったら、 それに向けて HUP シグナルを送ってください。 これは kill -HUP <pid> として行います。 これによって inetd はその設定ファイルを読み直します。 ディスク無しシステム上でブートローダが出力した addr の出力を覚えているでしょうか? ここでそれが必要となるのです。 /etc/bootptab (おそらくファイルを作成して) に エントリを加えてください。それはこれと同様の書式で書きましょう。 altair:\ :ht=ether:\ :ha=004001432666:\ :sm=255.255.255.0:\ :hn:\ :ds=199.246.76.1:\ :ip=199.246.76.2:\ :gw=199.246.76.1:\ :vm=rfc1048: これらの行は次のような意味です。 altair ドメイン名を除いたディスク無しのシステムの名前 ht=ether イーサネットハードウェアタイプ ha=004001432666 (先に記録した) ハードウェアのアドレス sm=255.255.255.0 サブネットマスク hn クライアントにクライアントのホスト名を送るよう、 サーバに伝えます ds=199.246.76.1 ドメインサーバがどれなのかをクライアントに伝えます ip=199.246.76.2 クライアントの IP アドレスが何なのかを クライアントに伝えます gw=199.246.76.1 デフォルトゲートウェイがどれなのかを クライアントに伝えます vm=... これはそのままにしておいてください IP アドレスは正しく設定してください。 上のアドレスはわたしだけのものです。 /tftpboot ディレクトリをサーバに作成して、 サーバがサービスを行うディスク無しのシステムのための設定ファイルをこのディレクトリに入れておきます。 これらのファイルは cfg.ip という名前になっていて、ip はディスク無しシステムの IP アドレスを表しています。 altair の設定ファイルは /tftpboot/cfg.199.246.76.2 となります。この中身は次のようになっています: rootfs 199.246.76.1:/DiskLess/rootfs/altair hostname altair.example.com hostname altair.example.com の行は単にディスク無しのシステムがどのような完全なドメイン名を持っているのかを表しています。 rootfs 199.246.76.1:/DiskLess/rootfs/altair の行はディスク無しのシステムが NFS でマウントできるルートファイルシステムの場所を表しています。 NFS でマウントされたルートファイルシステムは 読み出し許可だけで マウントされます。 ディスク無しのシステムの階層は要求されれば読み書き可能にして、 マウントし直すことができます。 わたしは予備の 386DX-40 を専用の X 端末として使用しています。 altair の階層は次の通りです。 / /bin /etc /tmp /sbin /dev /dev/fd /usr /var /var/run 実際のファイルのリストは次の通りです。 -r-xr-xr-x 1 root wheel 779984 Dec 11 23:44 ./kernel -r-xr-xr-x 1 root bin 299008 Dec 12 00:22 ./bin/sh -rw-r--r-- 1 root wheel 499 Dec 15 15:54 ./etc/rc -rw-r--r-- 1 root wheel 1411 Dec 11 23:19 ./etc/ttys -rw-r--r-- 1 root wheel 157 Dec 15 15:42 ./etc/hosts -rw-r--r-- 1 root bin 1569 Dec 15 15:26 ./etc/XF86Config.altair -r-x------ 1 bin bin 151552 Jun 10 1995 ./sbin/init -r-xr-xr-x 1 bin bin 176128 Jun 10 1995 ./sbin/ifconfig -r-xr-xr-x 1 bin bin 110592 Jun 10 1995 ./sbin/mount_nfs -r-xr-xr-x 1 bin bin 135168 Jun 10 1995 ./sbin/reboot -r-xr-xr-x 1 root bin 73728 Dec 13 22:38 ./sbin/mount -r-xr-xr-x 1 root wheel 1992 Jun 10 1995 ./dev/MAKEDEV.local -r-xr-xr-x 1 root wheel 24419 Jun 10 1995 ./dev/MAKEDEV (FreeBSD 5.X において初期状態で有効になっている) &man.devfs.5; を利用していないのであれば、dev ディレクトリで MAKEDEV all するのを忘れずに。 altair/etc/rc は 次の通りです。 #!/bin/sh # PATH=/bin:/ export PATH # # localhost の設定 /sbin/ifconfig lo0 127.0.0.1 # # イーサネットカードの設定 /sbin/ifconfig ed0 199.246.76.2 netmask 0xffffff00 # # NFS で root ファイルシステムをマウントする /sbin/mount antares:/DiskLess/rootfs/altair / # # NFS で /usr ファイルシステムをマウントする /sbin/mount antares:/DiskLess/usr /usr # /usr/X11R6/bin/XF86_SVGA -query antares -xf86config /etc/XF86Config.altair > /dev/null 2>&1 # # X を終了すると再起動 /sbin/reboot # # うまく行かないときには.... exit 1 コメントや質問はどんなものでも歓迎します。
diff --git a/ja_JP.eucJP/articles/fbsd-from-scratch/Makefile b/ja_JP.eucJP/articles/fbsd-from-scratch/Makefile index b6b62fdd9a..58cdcde341 100644 --- a/ja_JP.eucJP/articles/fbsd-from-scratch/Makefile +++ b/ja_JP.eucJP/articles/fbsd-from-scratch/Makefile @@ -1,26 +1,32 @@ # # $FreeBSD$ # # Article: FreeBSD From Scratch # -# Original revision: 1.4 +# Original revision: 1.6 DOC?= article FORMATS?= html MAINTAINER= schweikh@FreeBSD.org INSTALL_COMPRESSED?= gz INSTALL_ONLY_COMPRESSED?= -# SGML content -SRCS= article.sgml stage_1.sh stage_2.sh stage_3.mk +#EXTRAS= stage_1.conf.default +EXTRAS+= stage_1.sh +#EXTRAS+= stage_2.conf.default +EXTRAS+= stage_2.sh +EXTRAS+= stage_3.mk -DOC_PREFIX?= ${.CURDIR}/../../.. +SRCS= article.sgml +SRCS+= ${EXTRAS} afterinstall: - ${INSTALL_DOCS} ${.CURDIR}/stage_1.sh ${.CURDIR}/stage_2.sh \ - ${.CURDIR}/stage_3.mk ${DESTDIR} +.for entry in ${EXTRAS} + ${INSTALL_DOCS} ${.CURDIR}/${entry} ${DESTDIR} +.endfor +DOC_PREFIX?= ${.CURDIR}/../../.. .include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/ja_JP.eucJP/articles/fonts/Makefile b/ja_JP.eucJP/articles/fonts/Makefile index 621b034154..94282fa325 100644 --- a/ja_JP.eucJP/articles/fonts/Makefile +++ b/ja_JP.eucJP/articles/fonts/Makefile @@ -1,15 +1,20 @@ +# # $FreeBSD$ -# Original revision: 1.10 +# +# Article: Fonts and FreeBSD +# +# Original revision: 1.12 DOC?= article FORMATS?= html INSTALL_COMPRESSED?=gz INSTALL_ONLY_COMPRESSED?= -SRCS= article.sgml +SRCS= article.sgml +URL_RELPREFIX?= ../../../.. DOC_PREFIX?= ${.CURDIR}/../../.. .include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/ja_JP.eucJP/articles/fonts/article.sgml b/ja_JP.eucJP/articles/fonts/article.sgml index 8ae3f35fd4..41ba845bbc 100644 --- a/ja_JP.eucJP/articles/fonts/article.sgml +++ b/ja_JP.eucJP/articles/fonts/article.sgml @@ -1,1012 +1,1012 @@ %articles.ent; ]>
フォントと FreeBSD A Tutorial Dave Bodenstab
imdave@synet.net
1996 年 8 月 7 日 (水) &tm-attrib.freebsd; &tm-attrib.adobe; &tm-attrib.apple; &tm-attrib.linux; &tm-attrib.microsoft; &tm-attrib.opengroup; &tm-attrib.general; ここでは FreeBSD の syscons ドライバや X11、Ghostscript、Groff で利用することができるさまざまなフォントファイルについて説明しています。 また、syscons ディスプレイを 80x60 行モードに切り替える方法や、 上述のアプリケーションでタイプ 1 フォントを利用する方法を例示します。
はじめに 数多くのフォントのソースを入手することができますが、これらを FreeBSD でどのようにして使うかはあまりよく知られていないかもしれません。 その答えは、使いたいと思う構成要素の説明書を注意深く探すことによって見つけることができます。 しかし、これはとても時間がかかる作業です。本チュートリアルは、 フォントに関して興味がある向きに、 その近道を教えようと試みるものであります。 基本用語 フォント形式の種類やそれに関連したフォントファイルの拡張子は多数存在します。 その内でここで解説するものは以下の通りです。 .pfa.pfb &postscript; タイプ 1 フォント。拡張子 .pfaAscii 形式のそして拡張子 .pfbBinary 形式を意味する。 .afm タイプ 1 フォントに関連するフォントメトリック情報。 .pfm タイプ 1 フォントに関連するプリンタ用フォントメトリック情報。 .ttf &truetype; フォント。 .fot TrueType フォントへの間接的な参照ファイル (実際にはフォントファイルではない)。 .fon.fnt スクリーン表示用ビットマップフォント。 .fot ファイルは、&windows; で用いられ、 実際の &truetype; フォント (.ttf) ファイルへのシンボリックリンクに類する役割を果たします。 .fon フォントも Windows で用いられていますが、 FreeBSD でこの形式のフォントを利用する方法を筆者は知りません。 どのフォント形式を利用できますか? どのフォントファイル形式が有用であるかは、 利用するアプリケーションに依ります。 FreeBSD 自身はフォントファイルは利用しません。 アプリケーションプログラムやドライバ (あるいはその両方) によっては、 あるフォントファイルを利用するようにできるかもしれません。 以下は、アプリケーション、及び、 ドライバとそれが利用できるフォントタイプの拡張子の対応表を簡単に示します。 ドライバ syscons .fnt アプリケーション Ghostscript .pfa.pfb.ttf X11 .pfa.pfb Groff .pfa.afm Povray .ttf 拡張子 .fnt は極めて頻繁に使われています。 (訳注: この拡張子がフォント (font) という名前から連想しやすいので) あるアプリケーションに特化したフォントを作成しようとした際にはいつでも、 この拡張子が選択される方がそうでないときよりもかなり多いのではないかと著者は疑っています。 このため、この拡張子を持つファイル全てが同じ形式にはなっていないようです。 特に、.fnt ファイルは FreeBSD 上では syscons によって利用されていますが、これと &ms-dos; や &windows; 環境で出会った .fnt とは同じ形式ではないかもしれません。 筆者は FreeBSD で提供されている以外の .fnt ファイルを利用する試みは一切行っていません。 仮想コンソールを 80x60 行モードに設定する まず、8x8 サイズのフォントがロードされていなくてはなりません。 そのためには、/etc/rc.conf に以下の行が含まれているべきです (フォントの名称をあなたの locale に対応するものに書き換えてください)。 font8x8="iso-8x8" # font 8x8 from /usr/share/syscons/fonts/* (or NO). 実際にモードを切り替えるコマンドは &man.vidcontrol.1; です。 &prompt.user; vidcontrol VGA_80x60 &man.vi.1; のような、さまざまなスクリーン指向のプログラムに対して、 現在の画面サイズが分かるようにしておかなくてはなりません。これは ioctl を通じて (&man.syscons.4; などの) コンソールドライバに呼び掛けることで行われ、 これらを一度に済ませるために、 これらのコマンドを起動用のスクリプトに書いておき、 これをシステム起動時に実行するかもしれません。 この方法では /etc/rc.conf に以下の行を追加します allscreens_flags="VGA_80x60" # Set this vidcontrol mode for all virtual screens 参考文献: &man.rc.conf.5;、&man.vidcontrol.1; タイプ 1 フォントを X11 で利用する X11 では、.pfa 形式、もしくは、 .pfb 形式のフォントのいずれも利用することができます。 X11 では、フォントは /usr/X11R6/lib/X11/fonts 以下のさまざまなサブディレクトリに置かれています。 それぞれのディレクトリにある fonts.dir ファイルの内容によって、 それぞれのフォントのファイルと X11 上でのフォント名が関連付けられています。 Type1 という名前のディレクトリが既に存在しています。 新しいフォントを追加する最も簡単な方法は、 このディレクトリのそのフォントファイルを置くことです。 新しいフォントは別なディレクトリに置いておき、Type1 ディレクトリに追加フォントへのシンボリックリンクを張る方がより優れています。 なぜなら、この方法をとることでオリジナルで供給されているフォントと混乱することなく、 これらのフォントを追加した跡を残すことがより簡単にできるからです。 この方法は、例えば、次のように行います。 フォントファイルを入れるディレクトリを作成します。 &prompt.user; mkdir -p /usr/local/share/fonts/type1 &prompt.user; cd /usr/local/share/fonts/type1 ここに .pfa または .pfb ファイルと .afm ファイルを置きます。 フォントの readme ファイルやその他のドキュメントをこのディ レクトリに置いても構いません。 &prompt.user; cp /cdrom/fonts/atm/showboat/showboat.pfb . &prompt.user; cp /cdrom/fonts/atm/showboat/showboat.afm . フォントのクロスリファレンスのためにインデックスを変更します。 &prompt.user; echo showboat - InfoMagic CICA, Dec 1994, /fonts/atm/showboat >>INDEX さて、新しいフォントを X11 で利用するためには、 そのフォントファイルを利用できるようにし、そして、 フォント名のファイルを更新する必要があります。 X11 でのフォント名は次のようになっています。 -bitstream-charter-medium-r-normal-xxx-0-0-0-0-p-0-iso8859-1 | | | | | | | | | | | | \ \ | | | | | \ \ \ \ \ \ \ +----+- character set | | | | \ \ \ \ \ \ \ +- average width | | | | \ \ \ \ \ \ +- spacing | | | \ \ \ \ \ \ +- vertical res. | | | \ \ \ \ \ +- horizontal res. | | | \ \ \ \ +- points | | | \ \ \ +- pixels | | | \ \ \ foundry family weight slant width additional style 新しいフォントそれぞれに対して、新しい名前を付ける必要があります。 フォント付属のドキュメントにフォントに関する情報があれば、 名前を作る際の基になるかもしれません。そのような情報がない場合は、 フォントに対して &man.strings.1; を使うと何らかのアイデアが得ることができます。例えば、 &prompt.user; strings showboat.pfb | more %!FontType1-1.0: Showboat 001.001 %%CreationDate: 1/15/91 5:16:03 PM %%VMusage: 1024 45747 % Generated by Fontographer 3.1 % Showboat 1991 by David Rakowski. Alle Rechte Vorbehalten. FontDirectory/Showboat known{/Showboat findfont dup/UniqueID known{dup /UniqueID get 4962377 eq exch/FontType get 1 eq and}{pop false}ifelse {save true}{false}ifelse}{false}ifelse 12 dict begin /FontInfo 9 dict dup begin /version (001.001) readonly def /FullName (Showboat) readonly def /FamilyName (Showboat) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition -106 def /UnderlineThickness 16 def /Notice (Showboat 1991 by David Rakowski. Alle Rechte Vorbehalten.) readonly def end readonly def /FontName /Showboat def --stdin-- この情報から、次のような名前が考えられます: -type1-Showboat-medium-r-normal-decorative-0-0-0-0-p-0-iso8859-1 この名前の構成は次の通りです。 型 (foundry) 新フォントは type1 と名付けることにしましょう。 族 (family) フォントの名前です。 重み (weight) normal (普通)、bold (太い)、medium (中間)、 semibold (やや太め) などがあります。上記の &man.strings.1; の出力より、 フォントの重みは medium であると考えられます。 傾斜 (slant) roman (ローマン体)、italic (イタリック体)、oblique (斜字体) などがあります。 ItalicAngle が0になっていることにより、 roman を使っています。 normal (普通)、wide (幅広)、condensed (圧縮)、extended(拡張) などがあります。上記で調べた結果から、 normal を仮定します。 追加スタイル 通常は省略されますが、フォントに装飾用 (decorative) 英大文字が含まれていることをここで示します。 スペーシング proportional (プロポーショナル (訳注: 字形に応じて幅が変化するフォント)) または monospaced (単一幅フォント) があります。ここでは Proportional としてありますが、これは isFixedPitch が false (偽) になっているためです。 これらの名前は全て任意なのですが、 既存の慣習と互換性を保つよう努力すべきでしょう。X11 プログラムでは、 フォントはワイルドカードを含んだ名前で参照されます。ですから、 フォント名は何らかの意味づけを持って選択されるべきでしょう。 (訳注 : 適当なフォントを探すとき、) ある人は単純に以下の名前を使うことから始めるかもしれません。 …-normal-r-normal-…-p-… そして、 &man.xfontsel.1; で該当するフォントを調べてみて、そのフォントの形を見ながら、 名前を調節するかもしれません。 それでは、ここまでの例を完結させることにしましょう。 X11 に対してフォントをアクセスできるようにします。 &prompt.user; cd /usr/X11R6/lib/X11/fonts/Type1 &prompt.user; ln -s /usr/local/share/fonts/type1/showboat.pfb . fonts.dir と fonts.scale を編集して、フォントを記述する行を追加し、最初の行にある総フォント数を増やします。 &prompt.user; ex fonts.dir :1p 25 :1c 26 . :$a showboat.pfb -type1-showboat-medium-r-normal-decorative-0-0-0-0-p-0-iso8859-1 . :wq fonts.scalefonts.dirと同一内容のようですので… &prompt.user; cp fonts.dir fonts.scale X11 に内容が変更されたことを伝えます。 &prompt.user; xset fp rehash 新しいフォントを試してみます。 &prompt.user; xfontsel -pattern -type1-* 参考文献: &man.xfontsel.1;、&man.xset.1;、The X Windows System in a NutshellO'Reilly & + url="http://www.ora.com/">O'Reilly & Associates タイプ 1 フォントを Ghostscript で利用する Ghostscript では、Fontmap に従ってフォントを参照しています。このファイルを X11 の fonts.dir ファイルと同様な方法で変更しなくてはなりません。Ghostscript では、 .pfa 形式または .pfb 形式のフォントのいずれか一方を使用することができます。 前章の例で登場したフォントを使って、ここではこのフォントを Ghostscript で使用する方法について述べます。 フォントを Ghostscript のフォントディレクトリに置きます。 &prompt.user; cd /usr/local/share/ghostscript/fonts &prompt.user; ln -s /usr/local/share/fonts/type1/showboat.pfb . Ghostscript にフォントを認識させるために Fontmap を編集します。 &prompt.user; cd /usr/local/share/ghostscript/4.01 &prompt.user; ex Fontmap :$a /Showboat (showboat.pfb) ; % From CICA /fonts/atm/showboat . :wq Ghostscript を用いてフォントを試してみます。 &prompt.user; gs prfont.ps Aladdin Ghostscript 4.01 (1996-7-10) Copyright (C) 1996 Aladdin Enterprises, Menlo Park, CA. All rights reserved. This software comes with NO WARRANTY: see the file PUBLIC for details. Loading Times-Roman font from /usr/local/share/ghostscript/fonts/tir_____.pfb... /1899520 581354 1300084 13826 0 done. GS>Showboat DoFont Loading Showboat font from /usr/local/share/ghostscript/fonts/showboat.pfb... 1939688 565415 1300084 16901 0 done. >>showpage, press <return> to continue<< >>showpage, press <return> to continue<< >>showpage, press <return> to continue<< GS>quit 参考文献: Ghostscript バージョン4.01 で配布されている fonts.txt タイプ 1 フォントを Groff で利用する ここまでで新しいフォントを X11 と Ghostscript の両方で用いることができるようになりましたが、 この新しいフォントをどのようにすれば groff で使うことができるでしょうか? まず第一に、&postscript; のタイプ 1 フォントを扱っていますから、 これを適用できる groff デバイスは ps デバイスです。 次に、各々のフォントを groff で使用できるように作らなくてはなりません。 groff でのフォント名は /usr/share/groff_font/devps の中のファイル名になります。上述の例では、フォントファイルは /usr/share/groff_font/devps/SHOWBOAT とすることができるでしょう。このファイルは groff によって提供されているツールを用いて生成しなくてはなりません。 最初に afmtodit というツールを使います。 このコマンドは通常ではインストールされませんので、 ソースプログラム群から該当プログラムを取り出さなくてはなりません。 このファイルの最初の一行を変更しなくてはならないことが分かっています。 著者は次のようにしました。 &prompt.user; cp /usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.pl /tmp &prompt.user; ex /tmp/afmtodit.pl :1c #!/usr/bin/perl -P- . :wq このツールはメトリックファイル (.afm 拡張子) から groff フォントファイルを生成してくれます。 フォント使用方法例を続けることにしましょう。 .afm ファイルの多くは Mac 形式&hellip すなわち行が ^M で区切られています。 これを行を ^J で区切る &unix; スタイルに変換する必要があります。 &prompt.user; cd /tmp &prompt.user; cat /usr/local/share/fonts/type1/showboat.afm | tr '\015' '\012' >showboat.afm そして、groff フォントファイルを生成します。 &prompt.user; cd /usr/share/groff_font/devps &prompt.user; /tmp/afmtodit.pl -d DESC -e text.enc /tmp/showboat.afm generate/textmap SHOWBOAT これでフォントを SHOWBOAT という名前で参照することができました。 システムでプリンタを扱うために GhostScript を使用しているならば、 これで作業は完了しました。しかしながら、本当に PostScript プリンタを使っている場合は、フォントを使用可能にする為に、 当該フォントをプリンタにダウンロードする必要があります (showboat フォントがプリンタに偶然にも最初から組み込まれている場合、 もしくはプリンタからアクセスされるフォントディスクの中に入っている場合はこの限りではありません)。 フォント利用の最終段階として、 ダウンロード可能な形式のフォントを生成します。 ツール pfbtops は (訳注 : .pfb 形式から) .pfa 形式のフォントを生成するために、そして、 download というファイルを編集し、 フォントの内部名を参照するように変更しなくてはなりません。 この内部名は以下で示すように groff フォントファイルから容易に調べることができます。 .pfa フォントファイルを生成する。 &prompt.user; pfbtops /usr/local/share/fonts/type1/showboat.pfb >showboat.pfa もちろん、.pfa が既に利用可能であれば、 参照できるようにシンボリックリンクを張って下さい。 内部フォント名を得る。 &prompt.user; fgrep internalname SHOWBOAT internalname Showboat 該当フォントをダウンロードしなくてはならないことを groff に通知する。 &prompt.user; ex download :$a Showboat showboat.pfa . :wq フォントを試用する。 &prompt.user; cd /tmp &prompt.user; cat >example.t <<EOF .sp 5 .ps 16 This is an example of the Showboat font: .br .ps 48 .vs (\n(.s+2)p .sp .ft SHOWBOAT ABCDEFGHI .br JKLMNOPQR .br STUVWXYZ .sp .ps 16 .vs (\n(.s+2)p .fp 5 SHOWBOAT .ft R To use it for the first letter of a paragraph, it will look like: .sp 50p \s(48\f5H\s0\fRere is the first sentence of a paragraph that uses the showboat font as its first letter. Additional vertical space must be used to allow room for the larger letter. EOF &prompt.user; groff -Tps example.t >example.ps ghostscript/ghostviewを使って表示する。 &prompt.user; ghostview example.ps 印刷する (訳注 : プリンタ名は適宜変更して下さい)。 &prompt.user; lpr -Ppostscript example.ps 参考文献: /usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.man、 &man.groff.font.5;、&man.groff.char.7;、&man.pfbtops.1; TrueType フォントを groff 用に groff/PostScript フォーマットに変換する これにはいくつかユーティリティが必要ですが、 ベースシステムの一部としてインストールされてはいないので若干の作業が必要となります。 インストールするものは: ttf2pf TrueType から PostScript への変換ユーティリティです。 これは TrueType フォントからアスキーフォントメトリック (.afm) ファイルへの変換を行います。 現時点では から入手できます。 注意: これらのファイルは PostScript によるプログラムなので、 Shift キーを押しながらリンクをクリックして ディスクにダウンロードしてください。 さもないとあなたのブラウザは ghostview を立ちあげます。 重要なファイルは: GS_TTF.PS PF2AFM.PS ttf2pf.ps 大文字と小文字の混在は、 これらが DOS シェルのことも考慮しているためです。 ttf2pf.ps はそれ以外のファイルを 大文字として扱いますので、 ファイル名の変更はそれに対応させてください (実際には GS_TTF.PSPFS2AFM.PS は ghostscript の配布物の一部だと思われますが、 個別のユーティリティとして扱った方が便利なのでそうします。 FreeBSD がこれらを含むとは思われません)。 /usr/local/share/groff_font/devps にインストールされているのがいいかもしれません afmtodit はアスキーフォントメトリックファイルから groff とともに使うフォントファイルを作ります。 これは通常、 /usr/src/contrib/groff/afmtodit ディレクトリに存在していて、 使えるようにするには作業が必要です。 もしも /usr/src ツリーで作業をすることを躊躇うなら、 このディレクトリの内容を作業用の場所にコピーすればいいです。 作業エリアで以下のようにしてこのユーティリティします。 # make -f Makefile.sub afmtodit もし、まだ存在していなければ /usr/contrib/groff/devps/generate/textmap/usr/share/groff_font/devps/generate にコピーします。 これらのユーティリティが所定の場所に収まったら いつでも開始できます。 .afm ファイルを以下のようにして作ります。 % gs -dNODISPLAY -q -- ttf2pf.ps TTF_name PS_font_name AFM_name ここで、TTF_name はあなたの TrueType フォントの名前で、PS_font_name.pfa ファイルのためのファイル名で、 AFM_name.afm ファイルに望む名前です. .pfa.afm 用の出力ファイル名を明示しなければ、 デフォルト名は TrueType フォントファイル名から作成されます。 この時、アスキー PostScript フォントメトリックファイルである .pfa ファイルも同時に作られます (.pfb はバイナリ形式です)。 これは不要となるでしょうが、(私が考えるに) フォントサーバには役立つでしょう。 例として、30f9 バーコードフォントをデフォルトのファイル名で変換するには以下のようにします。 % gs -dNODISPLAY -- ttf2pf.ps 3of9.ttf Aladdin Ghostscript 5.10 (1997-11-23) Copyright (C) 1997 Aladdin Enterprises, Menlo Park, CA. All rights reserved. This software comes with NO WARRANTY: see the file PUBLIC for details. Converting 3of9.ttf to 3of9.pfa and 3of9.afm. 変換後のフォントを A.pfaB.afm にするなら以下のようにします。 % gs -dNODISPLAY -- ttf2pf.ps 3of9.ttf A B Aladdin Ghostscript 5.10 (1997-11-23) Copyright (C) 1997 Aladdin Enterprises, Menlo Park, CA. All rights reserved. This software comes with NO WARRANTY: see the file PUBLIC for details. Converting 3of9.ttf to A.pfa and B.afm. groff PostScript ファイルを作ります。 以下のコマンドの実行が用意なように /usr/share/groff_font/devps に ディレクトリを変更します。 恐らく root 特権が必要になるでしょう (そこでの作業が気にいらないなら、このディレクトリの DESCtext.encgenerate/textmap ファイルが参照されるということに注意してください)。 % afmtodit -d DESC -e text.enc file.afm \ generate/textmap PS_font_name ここで、file.afmAFM_name で、上で ttf2pf.ps で作ったものです。 PS_font_name はコマンドから使われるフォント名で、 &man.groff.1; がこのフォントを参照するために使うものです。 たとえば、最初の tiff2pf.ps コマンドを上述のように行っていたとすると、 3of9 バーコードフォントは以下のコマンドで作成できます。 % afmtodit -d DESC -e text.enc 3of9.afm \ generate/textmap 3of9 得られる PS_font_name ファイル (この例では 3of9) はディレクトリ /usr/share/groff_font/devps に、コピーするなり移動するなりして置かれることに気をつけてください。 ttf2pf.ps がわりつけるフォント名は TrueType フォントファイル中に見つかったものになります。 それとは異なる名前を使いたかったら、 .afm ファイルを編集してから afmtodit を実行する必要があります。 &man.groff.1; から &man.gs.1; へパイプするつもりならば、 その名前は同時にフォントマップファイルで使われているものである必要があります。 TrueType フォントを他のプログラムで使うことができますか? TrueType フォント形式は Windows、Windows 95、Mac で用いられます。この形式は極めて有名であり、 非常にたくさんのフォントが利用できます。 不幸なことに、(訳注: FreeBSD で) この形式を利用できるアプリケーションは、著者が知る限り、 Ghostscript と povray の 2 つしかありません。 Ghostscript では、ドキュメントによれば、そのサポートは不十分であり、 フォントを利用してもタイプ 1 フォントより粗悪な結果が得られるようです。 povray バージョン 3 もまた TrueType フォントを利用可能ですが、しかし、 たくさんの人々がレイトレーシングされたページが続いているかのように、 ドキュメントを作成しているのではないかと、著者はむしろ疑っています :-) (訳注: povray はレイトレーシング関連のプログラムです。 レイトレーシングは計算に時間がかかることから、 ドキュメントを作るのが遅いんじゃないの、 と著者が遠回しに言っているようです)。 このなんとも悲惨な状況は変わりつつあります。 FreeType プロジェクト では FreeType の便利なツールを開発しています。 XFree86 4.x に含まれている freetype モジュール。 詳細は FreeBSD + url="&url.books.handbook;/x-fonts.html">FreeBSD ハンドブックXFree86 4.0.2 Fonts ページを見てください。 X11 用の xfsft フォントサーバは 一般のフォントに加えて TrueType フォントを提供します。 現在ベータ版であるにもかかわらずたいへん評判がいいものです。 詳しくは Juliusz Chroboczek's page をごらんください。 FreeBSD への移植についての情報は Stephen Montgomery's software page にあります。 xfstt は X11 用のもうひとつの フォントサーバで、 から入手できます。 ttf2bdf というプログラムは、 X の環境下で TrueType フォントのセットから BDF 形式のファイルを作るものです。 Linux 用のバイナリが から 入手できます。 アジア圏で TrueType フォントを利用したいみなさんには、 XTT フォントサーバは一見の価値があるでしょう。 XTT に関する情報は で得られます。 そしてその他 … FreeType プロジェクトページは、 以上に挙げたものおよびその他のフリーな TrueType プロジェクトに関する情報入手のよい出発点となるでしょう。 どこでフォントを入手できますか? インターネット上でたくさんのフォントを利用することができます。 これらは完全に無料であるか、シェアウェアです。加えて、 たくさんのフォントが収録されたあまり高価ではない CDROM がたくさんあります。インターネットでのアクセスポイント (1996年8月現在)を以下に示します。 (以前は CICA) 未解決問題 .pfm ファイルを利用するものはあるのか? .afm ファイルを .pfa もしくは .pfb から作成できるか? 非標準キャラクタ名がある PostScript フォントを groff キャラクタにマッピングするファイルをどのように作成するか? xditview と devX?? デバイスで新たなファイル全てにアクセスするためのセットアップをすることができるか? povray と Ghostscript で TrueType フォントを利用する例があるといいだろう。
diff --git a/ja_JP.eucJP/articles/ipsec-must/Makefile b/ja_JP.eucJP/articles/ipsec-must/Makefile index c91818f369..dce2131d38 100644 --- a/ja_JP.eucJP/articles/ipsec-must/Makefile +++ b/ja_JP.eucJP/articles/ipsec-must/Makefile @@ -1,15 +1,20 @@ +# # $FreeBSD$ -# Original revision: 1.4 +# +# Article: Independent Verification of IPsec Functionality in FreeBSD +# +# Original revision: 1.6 DOC?= article FORMATS?= html INSTALL_COMPRESSED?=gz INSTALL_ONLY_COMPRESSED?= -SRCS= article.sgml +SRCS= article.sgml +URL_RELPREFIX?= ../../../.. DOC_PREFIX?= ${.CURDIR}/../../.. .include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/ja_JP.eucJP/articles/ipsec-must/article.sgml b/ja_JP.eucJP/articles/ipsec-must/article.sgml index 8becfc7034..ce8b9b249f 100644 --- a/ja_JP.eucJP/articles/ipsec-must/article.sgml +++ b/ja_JP.eucJP/articles/ipsec-must/article.sgml @@ -1,347 +1,347 @@ %articles.ent; ]>
FreeBSD の IPsec 機能を独立検証するには David Honig
honig@sprynet.com
1999 年 5 月 3 日 &tm-attrib.freebsd; &tm-attrib.opengroup; &tm-attrib.general; IPsec をインストールした時、 それがきちんと動作しているかどうか調べるにはどうしたら良いでしょう? ここでは、IPsec の動作を検証する実験的な方法を紹介します。
- + 問題 まず、IPsec がインストールされていることを前提に話を進めます。 IPsec がきちんと動作しているかどうか知るにはどうしたら良いでしょう? もちろん設定が間違っていればネットワーク接続が行なえないでしょうし、 接続できたということは設定が合っているからだ、という認識は間違っていません。 接続状態は &man.netstat.1; コマンドで確かめることができます。 しかし、それを独立して検証することは可能なのでしょうか? - + 解決方法 最初に、暗号に使われている情報理論について考えます。 暗号化されたデータは、一様に分布している。つまり、 各情報源シンボルは最大のエントロピーを持っている。 通常、未処理のデータや圧縮されていないデータは冗長である。 つまり、各情報源シンボルのエントロピーは最大ではない。 ネットワークインターフェイスを入出力するデータのエントロピーを測定できると仮定すると、 「暗号化されていないデータ」と「暗号化されたデータ」の両者に、 違いを見ることができるはずです。 このことは、パケットのルーティングが行なわれる場合の一番外側の IP ヘッダなど、 データの一部が 暗号化モード で暗号化されなかったとしても成立します。 MUST Ueli Maurer 氏の Universal Statistical Test for Random Bit Generators (MUST) は、サンプルデータのエントロピーを高速に測定します。 これには圧縮と良く似たアルゴリズムが使われています。 文末に示すのは、 一つのファイル中で連続するデータ (最大 0.25 メガバイト) を測定するコードです。 Tcpdump さて次に、上記に加えてネットワーク上の生データを捕捉するための手段も必要になります。 それを実現するプログラムに、&man.tcpdump.1; と呼ばれるものがあります。 ただし、tcpdump を使うには、 カーネルコンフィグレーションファイルにおいて Berkeley Packet Filter インターフェイスが有効化されていなければなりません。 次のコマンド: tcpdump -c 4000 -s 10000 -w dumpfile.bin は、4000 個の生パケットを捕捉し、dumpfile.bin に記録します。 この例のでは 10,000 バイト以下のパケットのみ記録されます。 - + 実験 では、実験してみましょう。 IPsec ホストと IPsec を使っていないホストの両方にネットワーク接続してください。 そして パケットの捕捉 を開始します。 次に、IPsec を使っている 接続で &man.yes.1; という &unix; コマンドを実行します。 これは、y という文字の連続データを出力するものです。 しばらくしたらコマンドを停止させ、IPsec を使っていない接続に対して同じコマンドを実行します。 こちらも、しばらくしたらコマンドを停止させてください。 ここで、MUST を捕捉したパケットに実行すると、次のような出力が得られるはずです。 この中で重要なのは、期待値 (7.18) に対して、 IPsec を使った接続が 93% (6.7)、 通常の接続が 29% (2.1) という結果になっていることです。 &prompt.user; tcpdump -c 4000 -s 10000 -w ipsecdemo.bin &prompt.user; uliscan ipsecdemo.bin Uliscan 21 Dec 98 L=8 256 258560 Measuring file ipsecdemo.bin Init done Expected value for L=8 is 7.1836656 6.9396 -------------------------------------------------------- 6.6177 ----------------------------------------------------- 6.4100 --------------------------------------------------- 2.1101 ----------------- 2.0838 ----------------- 2.0983 ----------------- 注意 この実験は暗号化の理論が示すとおり、IPsec を使った通信では確かにペイロード中のデータに含まれるシンボルの生起確率が一様に分布する、 ということを示しています。 しかし、ここで示した実験ではシステム上の欠陥 (あるのかどうか知りませんが) を検出することはできません。 ここで言う「欠陥」とは、たとえば暗号鍵生成や交換の不備や、 データや暗号鍵が他人に見られていないかどうかといった問題、 あるいはアルゴリズムの強度はどうか、 カーネルのバージョンは合っているかといったことです。 これらはソースを調べれば確かめることができます。 IPsec の定義 インターネットプロトコル セキュリティ拡張 (Internet Protocol security extensions) は IP v4 と IP v6 に適用され、IP v6 への実装は必須となっています。 このプロトコルは IP (ホスト間) レベルで暗号化と認証を実現するためのものです。 たとえば SSL は一つのアプリケーションソケット、SSH はログイン、 PGP は特定のファイルやメッセージのみに対してそれぞれ安全性を提供しますが、 IPsec は 2 ホスト間のすべての通信を暗号化します。 IPsec のインストール FreeBSD の最近のバージョンでは IPsec のサポートが基本のソースコードに含まれています。 それ故、あなたはおそらく オプションをカーネルコンフィグファイルに追加し、 カーネルを再構築/再インストールして &man.setkey.8; コマンドで IPsec 接続を設定すればよいはずです。 FreeBSD で IPsec を実行する包括的なガイドは - FreeBSD + FreeBSD ハンドブックで提供されています。 src/sys/i386/conf/KERNELNAME ネットワークデータを &man.tcpdump.1; で補足するためにはカーネルコンフィグファイルには以下の行が必要です。 追加後 &man.config.8; を実行しカーネルの再構築/再インストールを 行なってください。 device bpf Maurer's Universal Statistical Test (ブロックサイズ = 8 ビット) 同一のコードを このリンクから入手することができます。 /* ULISCAN.c ---blocksize of 8 1 Oct 98 1 Dec 98 21 Dec 98 uliscan.c derived from ueli8.c This version has // comments removed for Sun cc This implements Ueli M Maurer's "Universal Statistical Test for Random Bit Generators" using L=8 Accepts a filename on the command line; writes its results, with other info, to stdout. Handles input file exhaustion gracefully. Ref: J. Cryptology v 5 no 2, 1992 pp 89-105 also on the web somewhere, which is where I found it. -David Honig honig@sprynet.com Usage: ULISCAN filename outputs to stdout */ #define L 8 #define V (1<<L) #define Q (10*V) #define K (100 *Q) #define MAXSAMP (Q + K) #include <stdio.h> #include <math.h> int main(argc, argv) int argc; char **argv; { FILE *fptr; int i,j; int b, c; int table[V]; double sum = 0.0; int iproduct = 1; int run; extern double log(/* double x */); printf("Uliscan 21 Dec 98 \nL=%d %d %d \n", L, V, MAXSAMP); if (argc < 2) { printf("Usage: Uliscan filename\n"); exit(-1); } else { printf("Measuring file %s\n", argv[1]); } fptr = fopen(argv[1],"rb"); if (fptr == NULL) { printf("Can't find %s\n", argv[1]); exit(-1); } for (i = 0; i < V; i++) { table[i] = 0; } for (i = 0; i < Q; i++) { b = fgetc(fptr); table[b] = i; } printf("Init done\n"); printf("Expected value for L=8 is 7.1836656\n"); run = 1; while (run) { sum = 0.0; iproduct = 1; if (run) for (i = Q; run && i < Q + K; i++) { j = i; b = fgetc(fptr); if (b < 0) run = 0; if (run) { if (table[b] > j) j += K; sum += log((double)(j-table[b])); table[b] = i; } } if (!run) printf("Premature end of file; read %d blocks.\n", i - Q); sum = (sum/((double)(i - Q))) / log(2.0); printf("%4.4f ", sum); for (i = 0; i < (int)(sum*8.0 + 0.50); i++) printf("-"); printf("\n"); /* refill initial table */ if (0) { for (i = 0; i < Q; i++) { b = fgetc(fptr); if (b < 0) { run = 0; } else { table[b] = i; } } } } }
diff --git a/ja_JP.eucJP/articles/multi-os/Makefile b/ja_JP.eucJP/articles/multi-os/Makefile index 621b034154..bb708815e9 100644 --- a/ja_JP.eucJP/articles/multi-os/Makefile +++ b/ja_JP.eucJP/articles/multi-os/Makefile @@ -1,15 +1,19 @@ +# # $FreeBSD$ -# Original revision: 1.10 +# +# Article: Installing and Using FreeBSD With Other Operating Systems +# +# Original revision: 1.12 DOC?= article FORMATS?= html +WITH_ARTICLE_TOC?= YES INSTALL_COMPRESSED?=gz INSTALL_ONLY_COMPRESSED?= -SRCS= article.sgml +SRCS= article.sgml DOC_PREFIX?= ${.CURDIR}/../../.. - .include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/ja_JP.eucJP/articles/multi-os/article.sgml b/ja_JP.eucJP/articles/multi-os/article.sgml index 0bb4e1463f..6fa55825e5 100644 --- a/ja_JP.eucJP/articles/multi-os/article.sgml +++ b/ja_JP.eucJP/articles/multi-os/article.sgml @@ -1,844 +1,844 @@ %articles.ent; ]>
FreeBSD と他の OS を共存させるには Jay Richmond
jayrich@sysc.com
1996 年 8 月 6 日 &tm-attrib.freebsd; &tm-attrib.ibm; &tm-attrib.linux; &tm-attrib.microsoft; &tm-attrib.powerquest; &tm-attrib.general; ここでは、FreeBSD を (Linux、&ms-dos;、&os2、&windows; 95 など) 人気のある他の OS とうまく同居させる方法について説明します。 この文章を書くにあたり、 Annelise Anderson andrsn@stanford.edu、 Randall Hopper rhh@ct.picker.com、 &a.jkh; には、特にお世話になりました。
概要 大容量のディスクがないと、大半の人は複数の OS を うまく共存させることはできません。そのため、この文書には大容量 EIDE ドライブに関する記述も含まれています。 複数の OS を同居させる場合、ハードディスクの設定や OS の組合せというのは非常にたくさんありますが、 おそらく が最も役に立つ章でしょう。 その章には、複数の OS を使用するために特に必要な コンピュータ設定についての詳細が書かれています。 この文書では、ハードディスクに OS を追加できるだけの空き容量があることを前提としています。 ハードディスクのパーティションを再度切り直すと、 既存のパーティションにあるデータを壊すことになりかねません。 しかし、ハードディスクが完全に DOS で占められているようであれば、 (FreeBSD CDROM の中の \TOOLS ディレクトリ、 - あるいは ftp + あるいは ftp から取得できる) FIPS ユーティリティが役に立つことでしょう。 このツールを使えば、データを破壊することなくハードディスクの パーティションを切り直すことができます。 また、データを破壊せずにパーティションのサイズを変更したり削除できる &partitionmagic; という商用のプログラムも出回っています。 ブートマネージャの概要 ここでは、おそらくあなたが目にするであろう、 いくつかのブートマネージャについて簡単に説明します。 コンピュータの設定によっては、同じシステム上で 1 つ以上の ブートマネージャを使用した方が便利な場合があります。 Boot Easy これは、FreeBSD で標準に使用されている ブートマネージャです。 大半の OS が起動可能で、 BSD、&os2; (HPFS)、&windows; 95 (FAT および FAT32)、Linux などをサポートします。 ファンクションキーで起動パーティションを選択することができます。 &os2; Boot Manager これは、FAT、FAT32、HPFS、FFS (FreeBSD)、および EXT2 (Linux) の起動に対応しています。 パーティション選択は、カーソルキーで行います。 &os2; Boot Manager は、他のマスターブートレコード (MBR) を 使用するブートマネージャと異なり、 唯一、自分用にひとつパーティションを占有します。 そのため、起動時の問題を避けるために、 第 1024 番目より前のシリンダにインストールしなければいけません。 ブートマネージャが MBR ではなく、起動セクタの一部にある場合は、 LILO を使っている Linux を起動することができます。 &os2; Boot Manager で Linux を起動させる方法の詳細は、 次のサイト - Linux HOWTO + Linux HOWTO を参照してください。 OS-BS これは、Boot Easy に類似したもので、 起動のタイムアウト設定や起動のデフォルトパーティションを決めるといった、 起動プロセスの細かい制御が可能です。 このプログラムのベータ版では、 カーソルキーを用いて起動する OS を選択することができます。 これは、FreeBSD CD-ROM の \TOOLS ディレクトリ、 - あるいは + あるいは ftp に収録されています。 LILO - LInux LOader これは、動作が限定されたブートマネージャです。 FreeBSD を起動することはできますが、 LILO の設定ファイルを少々編集する必要があります。 FAT32 について FAT32 は FAT ファイルシステムに代わるものです。 これは Microsoft の OEM SR2 ベータ版 (訳注: &windows; 95 の OEM 版の一つ) に含まれていて、1996 年末へ向けて、&windows; 95 がプリインストールされた コンピュータで広く利用され始めました。 &windows; 95 は従来の FAT ファイルシステムを変換し、 大容量のハードディスクでより小さなサイズのクラスタを利用可能にします。 また、FAT32 は従来の FAT 起動セクタやアロケーションテーブルを 変更するため、いくつかのブートマネージャは利用できなくなっています。 標準的なインストール では、大容量の EIDE ハードディスクが 2 つあり、 FreeBSD、Linux、&windows; 95 を同居させたい、 という場合を考えましょう。 このようなハードディスクを使用した場合の 一例について見てみましょう: /dev/wd0 (1 番目の物理的なハードディスク) /dev/wd1 (2 番目のハードディスク) 両方のディスクとも 1416 シリンダあります。 FDISK.EXE ユーティリティが入っている &ms-dos;、あるいは &windows; 95 boot ディスクから起動させ、 1 番目のディスク上に 50MB のプライマリパーティション (&windows; 95 本体に必要な 35-40MB に、少々余分な空きを加えたもの) を作成します。 また、&windows; アプリケーションとデータ用として、 2番目のハードディスク上に大きめのパーティションを作成します。 再起動し、C: パーティション上に &windows; 95 をインストールします (一言で終わらせられるほど簡単ではありませんが)。 次に Linux をインストールします。 すべての Linux ディストリビューションについて確認したわけではありませんが、 少なくとも - Slackware + Slackware には LILO ( 参照) が含まれています。Linux の fdisk コマンドを使って、ハードディスクを切り分けるとしたら、 わたしの場合は最初のドライブ (ルートパーティションとスワップ を合わせてだいたい 300MBくらい) に Linux の全システムを入れるでしょう。 Linux をインストールしてから LILO をインストールするかどうか聞かれた時、 LILO のインストール先は MBR (マスターブートレコード) ではなく Linux のルートパーティション上になっていることを 必ず確認して下さい。 残りのハードディスクは、すべて FreeBSD にあてます。 この時、FreeBSD のルートスライスが 1024 シリンダを越えないように 気を付けます (ここで想定している 720MB のディスクの場合、 1024 シリンダは 528MB の位置にあります)。 残りのハードディスク (270MB) は、 /usr/ スライスにあてることもできます。 2 番目のディスクの残りは、 /usr/src とスワップ領域に使用します。 この残りの容量は、手順 1) で作成した &windows; アプリケーション / データのパーティションに依存します。 &windows; 95 fdisk ユーティリティで見た場合、 ハードドライブは次のように見えているはずです。 --------------------------------------------------------------------- 領域情報を表示 現在のハードディスク: 1 領域 状態 種類 ボリュームラベル Mバイト システム 使用 C: 1 A PRI DOS 50 FAT** 7% 2 A Non-DOS (Linux) 300 43% ディスクの総容量は 696 Mバイトです。(1 M バイト = 1048576 バイト) 続けるには Esc キーを押してください。 --------------------------------------------------------------------- 領域情報を表示 現在のハードディスク: 2 領域 状態 種類 ボリュームラベル Mバイト システム 使用 D: 1 A PRI DOS 420 FAT** 60% ディスクの総容量は 696 Mバイトです。(1 Mバイト = 1048576 バイト) 続けるには Esc キーを押してください。 --------------------------------------------------------------------- 注) 最新の OEM SR2 をお使いの場合は、 ** の部分が FAT16、FAT32 と表示されることがあります。 詳しくは をご覧下さい。 FreeBSD をインストールします。 最初のハードディスクが BIOS で NORMAL と設定された状態で起動することを確認します。 そうでない場合は、 起動時に適切なディスクジオメトリ情報を入力しなければなりません (ジオメトリ情報を得るには、&windows; 95 を起動して Microsoft Diagnostics (MSD.EXE) で調べるか、 BIOS の機能でチェックして下さい)。 ここでのパラメータ hd0=1416,16,63 は、 1416 はハードディスクのシリンダ数であり、 16 はトラックあたりのヘッド数、 63 はトラックあたりのセクタ数です。 ハードディスクのパーティションを切る時には、 Boot Easy が 1 番目のディスクにインストールされていることを確認します。 2 番目のハードディスクは起動と関係ないので、 こちらについて心配する必要はありません。 再起動すると、Boot Easy が DOS (&windows; 95)、 Linux、BSD (FreeBSD) という、 3 つの起動可能パーティションを認識します。 注意と考察 大部分の OS は、自分がハードディスクのどの領域に、 どのように配置しているか、ということを非常に気にします。 &windows; 95 や DOS は、1 番目のハードディスクの 基本領域にインストールされる必要がありますが、 &os2; は例外的に、ハードディスクの 1 番目 と 2 番目、 基本領域と拡張領域をまったく問わずにインストールすることができます。 よく分からなければ、起動可能なパーティションを 1024 シリンダ内に入れるようにして下さい。 BSD システムが存在しているところに &windows; 95 を載せると、MBR が 破壊 されてしまいます。 そのため、ブートマネージャの再インストールが必要になります。 Boot Easy は、CDROM の \TOOLS ディレクトリあるいは - ftp + ftp サイトに含まれる BOOTINST.EXE ユーティリティを用いて、 再インストールすることが可能です。 また、インストーラのパーティションエディタを使って Boot Easy を再インストールすることもできます。 そこから、FreeBSD パーティションを bootable としてマークをつけ、 Boot Manager を選択します。 変更した情報を MBR に (W)rite out (= 保存) するため、W を入力します。 そして再起動すると、 Boot Easy が &windows; 95 を DOS として認識するはずです。 &os2; は FAT、HPFS パーティションを認識しますが、 FFS (FreeBSD)、EXT2 (Linux) パーティションを認識しないことを覚えておいて下さい。 同様に、&windows; 95 は、FAT と FAT32 パーティションしか読み書きすることができません ( を参照)。 FreeBSD は、 ほとんどのファイルシステムを読むことができますが、 現時点で HPFS パーティションの読み込みには対応していません。 Linux では、HPFS パーティションを読むことができますが、 書き込みはできません。 最近の Linux カーネル (2.x) のバージョンでは、 &windows; 95 VFAT パーティションに読み書きができます (VFAT は、&windows; 95 で長いファイル名を利用可能にするもので、 ほとんど FAT と一緒です)。 つまり Linux は、ほとんどのファイルシステムに読み書きができるわけです。 わかりました? そう期待して…。 (この章はまだまだ手を入れる必要があります。 良い例があったら、 jayrich@sysc.com までメールを送って下さい。) FreeBSD + &windows; 95: &windows; 95 の後に FreeBSD を載せた場合は、 Boot Easy メニューの DOS という部分を確認して下さい。 これが &windows; 95 になります。 もし、FreeBSD の後に &windows; 95 を載せてしまった場合は、 上記の を読んで下さい。 お持ちのハードディスクが 1024 シリンダを越えない場合は、 起動時の問題はありません。 パーティションのうち 1 つでも 1024 を越えたものがあり、 DOS (&windows; 95) で invalid system disk と表示されたり、 FreeBSD で起動できない場合には、BIOS の >1024 cylinder support あるいは NORMAL/LBA モードの設定を確認して下さい。 DOS が正常に起動するには、おそらく LBA (Logical Block Addressing) モードが必要になります。 毎回起動時にBIOS の設定を切替える方法をとりたくない場合には、 CD に収録されている FBSDBOOT.EXE ユーティリティを使い、DOS を経由して FreeBSD を起動させる方法もあります (このプログラムは、 FreeBSD パーティションを見付けて、起動します)。 FreeBSD + &os2; + &windows; 95: 特に注意すべきことはありません。 &os2; のブートマネージャは、これらすべての OS を起動することができますので、問題はないでしょう。 FreeBSD + Linux: 両方の OS を起動するのに、Boot Easy を使うこともできます。 FreeBSD + Linux + &windows; 95: ( を参照) 他の参考となる資料 ハードディスク上に複数の OS を同居させる方法について 取り扱っている Linux + url="http://www.linuxresources.com/LDP/HOWTO/HOWTO-INDEX.html">Linux HOW-TO は、たくさんあります。 - + Linux+DOS+Win95+OS2 mini-HOWTO には、 &os2; ブートマネージャの詳細な設定法が書かれています。また、 - + Linux+FreeBSD mini-HOWTO も同様に参考となるでしょう。 - さらに、Linux-HOWTO + さらに、Linux-HOWTO というサイトもあります。 - &windowsnt; + &windowsnt; Loader Hacking Guide には、 &windowsnt;、&windows; 95、DOS を、他の OS とマルチブートする方法についての情報が書かれています。 Hale Landis の How It Works (動作の仕組み) ドキュメント集には、 あらゆる種類のディスクジオメトリ情報や、起動に関する情報が含まれています。 また、以下のリンク にあるものも参考になるでしょう。 最後に、 - 配布されているカーネルソース (/usr/src/sys/i386/boot/biosboot/README.386BSD + 配布されているカーネルソース (/usr/src/sys/i386/boot/biosboot/README.386BSD に展開されています) に含まれている、FreeBSD カーネルの文書も見落とさないようにしてください。 技術的な詳細 (Randall Hopper、 rhh@ct.picker.com の寄稿によるものです) この章は、 ハードディスクやハードディスクの起動プロセスに関する基礎知識を提供します。 これは、複数の OS を起動する設定で問題が起こった時、 それを解決するのに役立つでしょう。 最初はごく基本的な用語から始まりますので、 章全体を流し読みして、見慣れない内容が出てくるところから 読み始めても構いません。 ハードディスクの基礎 まず、ハードディスク上のデータの位置を示すのに使われる、 基本となる用語が 3 つあります。それは、シリンダ、ヘッド、セクタです。 これらの用語の関係を知ることが、とりわけ重要と言うわけではありません。 が、これらがディスク上の物理的なデータの位置を示す、 ということは覚えておきましょう。 ハードディスクにはそれぞれ、 固有ののシリンダ数、ヘッド数、シリンダヘッドごとのセクタ数があります (シリンダヘッドはトラックとも呼ばれます)。 この情報は、ハードディスクのディスクジオメトリを定義します。 セクタ数は大抵の場合、1 セクタが 512 バイト、 1 トラックが 63 セクタに対応するようになっていますが、 シリンダとヘッドの数はディスクによってさまざまです。 このように、計算すると、 ディスクに納めることのできるデータのバイト数が分かります: (シリンダ数) × (ヘッド数) × (63 セクタ/トラック) × (512 バイト/セクタ) たとえば Western Digital AC31600 EIDE ハードディスクの場合、次のようになります。 (3148 シリンダ) × (16 ヘッド) × (63 セクタ/トラック) × (512 バイト/セクタ) これを計算すると 1,624,670,208 バイト、 つまり約 1.6 GB になります。 ハードディスクの物理的なディスクジオメトリ情報 (シリンダ数、ヘッド数、トラックあたりのセクタ数) は、 ATAID などのインターネット上にあるプログラムを用いて 調べることができます。おそらくハードディスク自体にも、 こういった情報が付属しているでしょう。 しかし注意して欲しいのですが、BIOS LBA ( 参照) を使用している場合、 物理的なジオメトリ情報を得るためのプログラムはどんなものでも良い、 というわけではありません。 これは、数多くのプログラム (たとえば MSD.EXE や FreeBSD の fdisk) が物理的なディスクジオメトリ情報を認識しないためです。 これらはその代りに、 変換されたジオメトリ (LBA を使った仮想的なセクタ数) を報告します。 この言葉が何を意味しているのかについては、後述します。 これらの用語について役立つこととしては、 与えられた三つの数字—シリンダ数、ヘッダ数、 トラックあたりのセクタ数—は、ハードディスク上の特定のセクタ (データの 512 バイトブロック) を絶対位置で決定します。 シリンダ、ヘッドは 0 から、セクタは 1 から番号付けされます。 さらに詳しい技術情報に興味がある方には、 ディスクジオメトリ、起動セクタ、BIOS などに関する情報は ネット上の至るところで得ることができることをお知らせしておきます。 Lycos、Yahoo などで boot sector (起動セクタ)master boot record (マスターブートレコード) などを検索してみてください。 それらの役立つ情報の中でも、 Hale Landis の How It Works (動作の仕組み) ドキュメント集は参考になります。このドキュメント集に関しては の章を参照してください。 もう用語については十分ですね。 次は起動についてお話します。 起動のプロセス ハードディスクの一番先頭のセクタ上 (シリンダ 0、ヘッド 0、セクタ 1) には、 マスターブートレコード (MBR) が存在します。 MBR には、ハードディスクのマップ情報が含まれていて、 最大 4 つの パーティション を認識することができます。それぞれのパーティションは、 ディスク上の連続したデータ領域の塊です。 FreeBSD では、このパーティションを スライス と呼んでいます。これは、FreeBSD 独自のパーティションと混乱しないようにですが、 ここではスライスという言葉は使いません。 各パーティションには、それぞれ別の OS を入れることができます。 MBR の各パーティションエントリには、 パーティション IDシリンダ/ヘッド/セクタの開始位置シリンダ/ヘッド/セクタの終了位置 があります。パーティション ID は、パーティションの種類 (どの OS を使用しているか) を、 開始位置/終了位置 はパーティションの位置を示します。 に、 良く使われるパーティション ID のリストを示します。 パーティション ID - Partition IDs ID (hex) 説明 01 DOS12 基本領域 (12-bit FAT) 04 DOS16 基本領域 (16-bit FAT) 05 DOS 拡張領域 06 大容量 DOS 基本領域 (> 32MB) 0A &os2; 83 Linux (EXT2FS) A5 FreeBSD、NetBSD、386BSD (UFS)
注: パーティションには、起動ができないものもあります (例えば DOS 拡張領域)。 つまり、できるものもあれば、できないものもあるというわけです。 パーティションが起動可能かどうかは、 各パーティションの先頭に存在する パーティション起動セクタの設定で決まります。 好みのブートマネージャを設定した場合を考えてみます。 ブートマネージャは、接続されているすべてのハードディスクの MBR パーティションテーブルのエントリをリストアップし、 そしてそのリストから、どのエントリを起動するのか 選択できるようにしてくれます。 ブートマネージャは、 起動の際、最初に接続が検出されたハードディスクのマスターブートセクタにある、 特別なプログラムコードによって呼び出されます。 呼び出されたブートマネージャは、選択したパーティションに対応するエントリを MBR パーティションテーブルから調べ、 シリンダ/ヘッド/セクタの開始位置を取得します。 それから、そのジオメトリ情報を使うことでパーティションの起動セクタを読み込み、 制御をそちらに渡します。 読み込まれる起動セクタには、そのパーティション上の OS をロードするために必要な情報が含まれています。 今、かるく触れた内容を理解することは、とても重要です。 ハードディスクには、必ず MBR が存在します。 しかし重要なのは、そのうち BIOS により最初に接続が検出された ハードディスク上にあるものです。 IDE ハードディスクだけを使用しているなら、 最初のIDE ディスクです (例えば、最初のコントローラーのプライマリ側)。 SCSI だけで構成されたシステムの場合も、同じことが言えます。 もし、IDE と SCSI の両方のハードディスクを持っている場合には、 多くの場合、IDE ディスクが先に検出されるため、 1 台目の IDE ディスクが、最初に検出されるハードディスクになります。 先ほど述べたように、インストールするブートマネージャは、 最初に検出されたハードディスク上の MBR に格納されることになります。
起動の制限と注意事項 ここでは、用心しなければならない、興味深い内容についてお話します。 恐怖の 1024 シリンダ制限と BIOS LBA の作用 起動プロセスの最初の部分は、すべて BIOS によって実現されています。 (BIOS とは、コンピュータのためのスタートアップコードを提供する、 システムマザーボードに載っているソフトウェアチップのことです)。 そのため、この最初のプロセスは BIOS インタフェースによって制限を受けます。 このプロセスの間、ハードディスクを読み込むために使用された BIOS インタフェース (INT 13H、Subfunction 2) は、 シリンダ番号へ 10 ビット、ヘッド番号へ 8 ビット、 セクタ番号へ 6 ビット割り当てます。 これがこのインタフェースを使う場合 (例 … ハードディスクの MBR から呼び出されるブートマネージャや、 起動セクタから呼び出される OS ローダーなど) に次のような制限を与えるのです: 最大 1024 シリンダ 最大 256 ヘッド 最大 64 セクタ/トラック (実際には 63 で 0 は利用できません) さて、容量の大きなハードディスクには多くのシリンダがありますが、 ヘッドは多数ありません。 そのため、大容量のハードディスクにおいては、 シリンダ数が 1024 を越えます。 このことや BIOS インタフェースを考慮すると、 ハードディスクのどこからでも起動できるとは限らないのです。 すべての起動可能なパーティションの起動セクタから呼び出されるブートマネージャや OS ローダーは 1024 シリンダより下のシリンダに存在しなければなりません。 実際に、お使いのハードディスクが典型的なものでヘッドが 16 であれば、 次のようになります: 1024 シリンダ/ディスク × 16 ヘッド/ディスク × 63 セクタ/(シリンダ - ヘッド) × 512 バイト/セクタ これが、よく言われる 528MB 制限です。 ここが BIOS LBA (Logical Block Addressing) が入ってくるところです。 BIOS LBA はシリンダを再定義することにより、 BIOS API を呼び出すコードが BIOS インタフェース経由で 1024 シリンダ より上の物理シリンダにアクセスするようにします。 つまり、BIOS を通して見る場合に、実際より少ないシリンダ数、 多いヘッド数として扱われるようにシリンダ数、 ヘッド数を再マップしてくれるのです。 言い替えれば、シリンダ数とヘッド数のバランスを変更することで、 ハードディスクが相対的にヘッドが少なく、 シリンダが多くなるということを利用することにより、 双方の数が上記に述べられている制限 (1024 シリンダ、256 ヘッド) を越えないと言うことになります。 BIOS LBA を用いることで、 ハードディスク容量の制限が仮想的になくなりました (まぁ、8GB まで上がったと言うところでしょうか)。 LBA BIOS を使用している場合は、FreeBSD または 他の OS をどこにでも載せることができ、 1024 のシリンダ制限に引っかかることもありません。 1.6GB Western Digital を再度例として考えてみましょう。 物理的なジオメトリは、次のとおりです: (3148 シリンダ、16 ヘッド、63 セクタ/トラック、512 バイト/セクタ) しかしながら、BIOS LBA は次のように再マッピングを行います: (787 シリンダ、64 ヘッド、63 セクタ/トラック、512 バイト/セクタ) 実際には同じサイズのディスクなのですが、 シリンダとヘッドの計算は BIOS API の範囲内で行われます (偶然にも、私のハードディスクの一つには、 Linux と FreeBSD が物理的なシリンダ 1024 番目より上に載っています。 これらのOS が問題なく起動するのも、BIOS LBA のおかげなのです)。 ブートマネージャとディスクの割り当て ブートマネージャのインストール時、 他に気をつけねばいけないことは、 ブートマネージャ用として領域を割り当てることです。 1 つ、あるいは複数の OS の再インストールを余儀なくされたくないなら、 一番気にしなくてはいけないトピックです。 (MBR のある) マスターブートセクタ、 パーティション起動セクタ、起動プロセス についての の説明を読んだ後は、 自分のハードディスクのどこに、 この気のきくブートマネージャが存在するのか気になるところですね。 それはと言いますと、いくつかのブートマネージャは、 パーティションテーブルの隣の、マスターブートセクタ (シリンダ 0、ヘッド 0、セクタ 1) に納まり切る程に小さいのです。 ブートマネージャによってはもう少し容量が必要なものもあり、 その領域は一般には空いているため、 シリンダ 0 ヘッド 0 セクタ 1 にあるマスターブートセクタを 越えたいくつかのセクタにまで自身を拡張しています。 ありがたいことに (FreeBSD を含む) OS のいくつかは、 必要ならばマスターブートセクタの直後、 シリンダ 0、ヘッド 0、セクタ 2 からパーティションを 起動することができます。 実際に、先頭に空きのある、あるいは全体が空のディスクで FreeBSD の sysinstall を実行すると、デフォルトではその場所から FreeBSD パーティションが始まります (少なくとも私が行った時はそうでした)。 そして、MBR の後にあるいくつかのセクタを消費するような ブートマネージャをインストールする場合、 最初のパーティションのデータの先頭が上書きされます。 FreeBSD の場合は、ディスクラベルが上書きされ、 FreeBSD が起動できなくなります。 このような問題を避ける簡単な方法としては (また、後で異なるブートマネージャを試す柔軟性を持たすためにも)、 パーティションを切る時に、 ハードディスクの最初のトラックを割り当てないまま まるまる残しておくことです。 つまり、シリンダ 0、ヘッド 0、セクタ 2 からシリンダ 0、 ヘッド 0、セクタ 63 までを空けておき、 パーティションをシリンダ 0、ヘッド 1、セクタ 1 から開始するということです。 更に良いことに、ハードディスクの先頭に DOS パーティションを 作成する際、DOS はデフォルトでこの場所を空けておきます (これがブートマネージャのいくつかはその場所が空きだと 仮定するという理由です)。 というわけで、ディスクの先頭に DOS パーティションを作成することで この問題を避けることができるのです。 私はこのやり方が好みで、自分で 1MB の DOS パーティションを先頭に 作成します。そうすると、パーティションを切り直す時、 DOS のドライブ名をずらすことも必要ないのです。 参考として、次のブートマネージャはコードとデータを 記録する際にマスターブートセクタを使用します: OS-BS 1.35 Boot Easy LILO 次のブートマネージャはマスターブートセクタの後にある セクタをいくつか使用します: OS-BS 2.0 Beta 8 (sectors 2-5) &os2; boot manager マシンが起動しない場合はどうするか? ブートマネージャをインストールした際に、 MBR が起動しない状態にしてしまうことがあります。 あまりないことですが、既にインストールしたブートマネージャが ある状態で FDISK してしまうと起こることがあります。 ハードディスクに起動可能な DOS パーティションがある場合、 DOS フロッピーから起動します。次を実行します: A:\> FDISK /MBR オリジナルに戻すには、シンプルな DOS の起動コードを システムに戻します。そうすると、ハードディスクから DOS (DOS に限る) を起動することができます。 もう一つの手としては、起動可能なフロッピーを使って、 ブートマネージャのインストールプログラムを再度実行します。
diff --git a/ja_JP.eucJP/articles/problem-reports/Makefile b/ja_JP.eucJP/articles/problem-reports/Makefile index 5aceb30fb2..6a73d46c6f 100644 --- a/ja_JP.eucJP/articles/problem-reports/Makefile +++ b/ja_JP.eucJP/articles/problem-reports/Makefile @@ -1,17 +1,21 @@ +# # $FreeBSD$ -# Original revision: 1.4 +# +# Article: Writing FreeBSD Problem Reports +# +# Original revision: 1.6 DOC?= article FORMATS?= html +WITH_ARTICLE_TOC?= YES INSTALL_COMPRESSED?=gz INSTALL_ONLY_COMPRESSED?= -WITH_ARTICLE_TOC?=YES - -SRCS= article.sgml +SRCS= article.sgml +URL_RELPREFIX?= ../../../.. DOC_PREFIX?= ${.CURDIR}/../../.. .include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/ja_JP.eucJP/articles/zip-drive/Makefile b/ja_JP.eucJP/articles/zip-drive/Makefile index e85e0f02f7..1c2f7a0648 100644 --- a/ja_JP.eucJP/articles/zip-drive/Makefile +++ b/ja_JP.eucJP/articles/zip-drive/Makefile @@ -1,15 +1,18 @@ +# # $FreeBSD$ -# Original revision: 1.3 +# +# Article: IOmega ZIP Drivse +# +# Original revision: 1.4 DOC?= article FORMATS?= html INSTALL_COMPRESSED?=gz INSTALL_ONLY_COMPRESSED?= -SRCS= article.sgml +SRCS= article.sgml DOC_PREFIX?= ${.CURDIR}/../../.. - .include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/ja_JP.eucJP/articles/zip-drive/article.sgml b/ja_JP.eucJP/articles/zip-drive/article.sgml index 71a6ca035d..407939d640 100644 --- a/ja_JP.eucJP/articles/zip-drive/article.sgml +++ b/ja_JP.eucJP/articles/zip-drive/article.sgml @@ -1,336 +1,338 @@ %articles.ent; ]>
&iomegazip; ドライブ Jason Bacon
acadix@execpc.com
&tm-attrib.freebsd; &tm-attrib.adaptec; &tm-attrib.iomega; &tm-attrib.microsoft; &tm-attrib.opengroup; &tm-attrib.general;
&iomegazip; ドライブの基礎 &iomegazip; ディスクは、アイオメガ社から発売されている ZIP ディスクドライブで読み書き可能な大容量のリムーバブル磁気ディスクです。 ZIP ディスクはフロッピーディスクと似ていますが、 ZIP ディスクの方が非常に高速で比較にならないほど大容量です。 というのはフロッピーディスクの容量が大抵 1.44M バイトであるのに対し、ZIP ディスクの容量は、100M バイトか 250M バイトの二種類あります。 120M バイトの容量を持ち、 従来の 1.44M バイトのディスクも使用できる SuperDisk というフロッピーがありますが、ZIP ディスクとは混同しないでください。 アイオメガ社は、&jaz;/JAZZ ドライブというさらに大容量で優れた性能を持ったディスクドライブも発売しています。 JAZZ ドライブの容量は 1G バイトか 2G バイトの二種類です。 ZIP ドライブには、以下の 3 種類のインタフェースが用意されており、 内蔵も外付けも可能です。 SCSI (Small Computer Standard Interface) は最も高速・精巧で拡張性も高く、 そして最も高価なインタフェースです。 SCSI インタフェースは、 ディスクドライブ、テープドライブ、 スキャナーなどといったすべてのタイプの周辺機器と接続するために、 PC から RISC ワークステーション、 ミニコンに至るまで、ほとんどのコンピュータで使用されてきました。 SCSI 対応 ZIP ドライブは、 内蔵も (もし SCSI ホストアダプタに外付けコネクタがあれば) 外付けも可能です。 SCSI で接続された外付けの装置を使用する際、 動作中に SCSI バスからケーブルを抜き差ししないでください。 さもないと、挿入されていたディスクのファイルシステムを損傷 する恐れがあります。 最高のパフォーマンスとセットアップの手軽さを望むなら、 SCSI はベストチョイスです。 一部のハイエンドサーバを除き、多くの PC はビルトインの SCSI をサポートしていないため、 SCSI ホストアダプタを追加で購入する必要があります。 種類にもよりますが、SCSI ホストアダプタは 7 台か 15 台の SCSI デバイスを接続することができます。 それぞれの SCSI デバイスはそれ自身のコントローラを持っており、 そしてそれらは非常に賢く、よく標準化されているので (SCSI の 2 番目の "S" は "標準" を表します)、 OS は SCSI のディスクドライブをすべて同じように扱うことができ、 またそれは SCSI のテープドライブなども同様です。 SCSI デバイスを使用するためには、ホストアダプタ用のドライバと SCSI ディスクドライブ用ドライバ、 SCSI テープドライブ用ドライバといった装置に対応する標準のドライバを用意するだけで良いのです。 さらに機種に特化したドライバ (たとえば DAT ドライブなど) も存在しますが、 大抵標準のドライバを使用しても動作します。 そういった特別なドライバは、 機種特有の機能を利用するために書かれたものです。 ZIP ドライブを使用するためには、 単に /dev の中から ZIP ドライブのデバイスファイルを見つけるだけで良いのです。 ZIP ドライブのデバイスファイルは起動時に表示されるブートメッセージか、 /var/log/messages の中から da1: <IOMEGA ZIP 100 D.13> Removable Direct Access SCSI-2 Device というメッセージを見つけることで特定できます。 上の例の場合、 ZIP ドライブのデバイスファイルは /dev/da1 であるということを表しています。 IDE (Integrated Drive Electronics) インタフェースは、 多くのデスクトップ PC で使用されている低価格なインタフェースです。 ほとんどの IDE デバイスは必ず内蔵になっています。 IDE 接続の ZIP ドライブの性能は SCSI 接続の ZIP ドライブに匹敵します。 (IDE インタフェースは SCSI より高速ではないのですが、 ZIP ドライブの性能は、接続されているバスインタフェースよりも むしろ ZIP ドライブそのものの性能に大きく依存するためです)。 IDE インタフェースの欠点は、 その規格が定めた制限事項そのものです。 ほとんどの IDE アダプタは 2 つのデバイスしかサポートしておらず、 大抵長い期間を経て設計されたものではありません。 たとえば元来の IDE インタフェースは、 多くの人々にアップグレードを強いた 1024 シリンダ以上のハードディスクをサポートしていません。 もし ZIP ドライブの他のディスクドライブやテープドライブ、 スキャナーなどといった装置を PC に追加することを計画しているなら、 将来起こるであろう問題を回避するためにも、 SCSI ホストアダプタと SCSI 接続用 ZIP ドライブに投資した方がよいかも知れません。 FreeBSDにおいて、IDEデバイスの先頭文字は a です。 たとえば、IDEのハードディスクドライブは /dev/ad0 で、IDE (ATAPI) のCD-ROMドライブは /dev/acd1 といった具合です。 パラレルポートインタフェースは、 実際に多くのコンピューターが標準パラレルポートを備えているため (普段はプリンタ接続に使われます) ZIP ドライブやスキャナといった、 ポータブルな外付けデバイスの接続においてポピュラーなインタフェイスです。 そのため ZIP ドライブを持ち運んで、 簡単にコンピュータ間のファイルのやりとりすることができます。 一般に、パラレルポート接続の ZIP ドライブはパラレルポートの速度によって転送速度が制限されるため、 SCSI や IDE で接続された場合より低速です。 パラレルポートの速度はコンピュータによって非常にまちまちで、 また BIOS から設定することもできます。 また双方向通信を使用可能にするために BIOS の設定が必要となるマシンもあります (パラレルポートは元来、 プリンタへの出力のみを目的に設計されたものです)。 パラレルポートに接続する: <devicename>vpo</devicename> ドライバ ZIP ドライブをパラレルポートに接続して使用するには、 カーネルに vpo ドライバが設定されている必要があります。 パラレルポート接続の ZIP ドライブはビルトインの SCSI コントローラを持っており、 vpoドライバを使用するとパラレルポートを通じて ZIP ドライブの SCSI コントローラを読み込むことができます。 vpo は標準のカーネルオプションではないため (FreeBSD 3.2 現在) デバイスを使用可能にするためにカーネルを再構築する必要があります。 - カーネル再構築の詳細な手順については他のセクションで説明します。 + カーネル再構築の詳細な手順については + &os; + ハンドブックをご覧ください。 以下は、vpo ドライバを使用可能にするための大まかな手順です。 まず、/stand/sysinstall を実行し、システムにカーネルのソースコードをインストールしてください。 次に、 vpo ドライバを含むカーネルコンフィグファイルを作ります: &prompt.root; cd /sys/i386/conf &prompt.root; cp GENERIC MYKERNEL この MYKERNEL を編集し、 ident の行を MYKERNEL に変更します。 そして vpo ドライバについて書かれた行のコメントを解除してください。 もしパラレルポートが二つある場合、それに用いる ppc1 デバイスファイルを作るために ppc0 をコピーする必要がある場合があります。 二つ目のパラレルポートは普通 IRQ5 と I/O ポートアドレス 378 番を使用します。 カーネルコンフィグファイルに記述する必要があるのは IRQ だけです。 もしルートのハードディスクドライブが SCSI 接続であった場合、起動ディスクの読み込み順序に誤りが生じ、 システムが ZIP ドライブから起動しようとしてしまう場合があります。 こうなったら、あなたが ZIP ディスクに FreeBSD のルートファイルシステムでも書き込まない限り、 起動には失敗するでしょう! そうした場合は、ルートのディスクを「つなぎかえ (wire down)」、 すなわち、カーネルに特定のデバイスを SCSI ハードディスク /dev/da0 に強制的にバインドさせる必要があります。 そうすれば、ZIP ディスクドライブは二番目の SCSI デバイス、つまり /dev/da1 としてきちんと認識されます。 SCSI ハードディスクを da0 に「つなぎかえ」するには、 device da0 の行を disk da0 at scbus0 target 0 unit 0 に変更してください。 その際、ハードディスクの SCSI ID に合うように 上記の行を変更する必要があるかも知れません。 たとえば、&adaptec; 15xx コントローラの載った SCSI ホストアダプタをお持ちなら、下のように scbus0 を SCSI コントローラにつなぎかえてください。 controller scbus0controller scbus0 at aha0 に変更します。 最後に、カーネルコンフィグファイルを作成したら、 不要なドライバをすべて削除することができます。 その際には細心の注意を払う必要がありますが、 あとはコンフィグファイルの更新が成功することを信用するしかありません。 不要なドライバを削除することでカーネルのサイズを小さくすることができ、 アプリケーションに割り当てられるメモリの領域を拡大することができます。 不要なドライバを特定するために、 /var/log/messages の最後の方の行で「not found」と書かれている部分を見つけ、 それらのデバイスをコメントアウトします。 カーネルのサイズを縮小し、 読み込みを早くするために他のオプションを削ることも考えられます。 カーネル再構築の際に表示されるメッセージから、 不要なオプションに関してのさらに詳しい情報が得られます。 ではカーネルを完成させましょう。 &prompt.root; /usr/sbin/config MYKERNEL &prompt.root; cd ../../compile/MYKERNEL &prompt.root; make clean depend && make all install カーネルが再構築されたら、再起動します。 起動が開始する前に、ZIP ドライブがパラレルポートに接続されているかどうか確認してください。 ブートメッセージの中で ZIP ドライブが vpo0 や vpo1 (これらは接続されているパラレルポートに依存する) として認識されているか確認してください。 これが ZIP ドライブのデバイスファイルです。 ここで表示される ZIP のデバイスファイルは、 もしシステムに他の SCSI ディスクがない場合は /dev/da0 となり、 SCSI ハードディスクドライブがルートデバイスとしてつなぎかえられているならば /dev/da1 となります。 ZIP ディスクをマウントする ZIP ディスクにアクセスするには、 他の種類のディスクと同じようにマウントするだけです。 デバイス上のファイルシステムがスライス 4 となっていて、 SCSI もしくはパラレル接続の ZIP ディスクなら、 &prompt.root; mount_msdos /dev/da1s4 /mnt IDE 接続の ZIP ドライブなら、 &prompt.root; mount_msdos /dev/ad1s4 /mnt /etc/fstab を更新すれば、 マウントはさらに簡単になります。 自分のシステムに合うように編集して、以下のような行を加えましょう。 /dev/da1s4 /zip msdos rw,noauto 0 0 そしてディレクトリ /zip を作成します。 マウントするには、 &prompt.root; mount /zip マウントを解除するには、 &prompt.root; umount /zip /etc/fstab のフォーマットに関する詳細は、&man.fstab.5; を参照してください。 また、ZIP ディスク上に FreeBSD のファイルシステムを作成するには &man.newfs.8; を参照してください。 ただし、このディスクは FreeBSD か、FreeBSD を認識するごく少数の &unix; クローンのみにおいて使用することができます - (DOS や &windows; 上では使用できません)。 + (&ms-dos; や &windows; 上では使用できません)。