- Merge the following from the English version:

r38685 -> r39064	head/ja_JP.eucJP/books/handbook/introduction/chapter.sgml
	r9555 -> r9954		head/ja_JP.eucJP/books/handbook/linuxemu/chapter.sgml
This commit is contained in:
Ryusuke SUZUKI 2012-06-23 14:28:39 +00:00
parent 17661418d2
commit 16ebaf7c5c
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=39096
2 changed files with 84 additions and 26 deletions

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: 1.145
Original revision: r39064
$FreeBSD$
-->
@ -859,17 +859,22 @@
これまでに蓄積された膨大な量の履歴によって、
<application>CVS</application>
の持つ技術的な限界が明かになってきたためです。
メインリポジトリは <application>SVN</application>
base リポジトリは <application>SVN</application>
によって管理されますが、
<application>SVN</application> リポジトリにおける変更点は
<application>CVS</application> に反映されるので、
<application>csup</application>
といった <application>CVS</application>
のクライアントツールはこれまで通り正常に動きます。
現在はベースシステムのみが
<application>SVN</application> を採用し、
ドキュメント、World Wide Web および Ports リポジトリは、
これまでと同じく <application>CVS</application>
のクライアントツールはこれまで通り正常に動きます。</para>
<para>2012 年 5 月、ドキュメンテーションプロジェクトのリポジトリも
<application>CVS</application> から <application>SVN</application>
へと移行しました。
ベースシステムとは異なり、ドキュメンテーションの
<application>SVN</application> リポジトリは、
<application>CVS</application> へと反映されません。</para>
<para>Ports リポジトリは、現在 <application>CVS</application>
によって管理されています。
&os; の<ulink url="http://www.FreeBSD.org/cgi/cvsweb.cgi">
メインリポジトリ</ulink>は米国カリフォルニア州のサンタクララ市に存在し、

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: 1.38
Original revision: r9954
$FreeBSD$
-->
@ -16,6 +16,11 @@
<sect1>
<title>この章では</title>
<indexterm><primary>Linux バイナリ互換機能</primary></indexterm>
<indexterm>
<primary>バイナリ互換機能</primary>
<secondary>Linux</secondary>
</indexterm>
<para>この章では FreeBSD における Linux バイナリとの互換機能について、
インストール方法やその仕組みを解説します。</para>
@ -36,6 +41,10 @@
VMWare、Oracle、WordPerfect、Doom、Quake などがあります。
また、ある状況においては Linux バイナリを Linux で動かすよりも
FreeBSD で動かすほうが良いパフォーマンスが出るという報告もあります。</para>
<indexterm>
<primary>Linux</primary>
<secondary><filename>/proc</filename> ファイルシステム</secondary>
</indexterm>
<para>しかしながら、いくつかの Linux に特有な OS の機能は FreeBSD ではサポートされていません。
例えば、Linux の <filename>/proc</filename> ファイルシステムを過度に使うような
@ -52,6 +61,7 @@
<para>3.0-RELEASE以降であればカーネルのコンフィギュレーションファイルに
<literal>options LINUX</literal> や <literal>options COMPAT_LINUX</literal>
といった行を加える必要はありません。</para>
<indexterm><primary>KLD (kernel loadable object)</primary></indexterm>
<para>Linux バイナリ互換機能は今は KLD オブジェクト (<quote>Kernel LoaDable object</quote>)
として実現されており、リブートしなくても
@ -79,6 +89,10 @@ esac
Id Refs Address Size Name
1 2 0xc0100000 16bdb8 kernel
7 1 0xc24db000 d000 linux.ko</screen>
<indexterm>
<primary>カーネルオプション</primary>
<secondary>LINUX</secondary>
</indexterm>
<para>
何らかの理由で Linux KLD をロードしたくない、
@ -91,16 +105,21 @@ Id Refs Address Size Name
<sect2>
<title>Linux ランタイムライブラリのインストール</title>
<indexterm>
<primary>Linux</primary>
<secondary>Linux ライブラリのインストール</secondary>
</indexterm>
<para>これは、<link linkend="linuxemu-libs-port">linux_base</link>
の port を用いるか、もしくは<link
linkend="linuxemu-libs-manually">手動で</link>インストールします。</para>
port を用いるか、もしくは <link
linkend="linuxemu-libs-manually">手動で</link> インストールします。</para>
<sect3 id="linuxemu-libs-port">
<title>linux_base の port を用いたインストール</title>
<indexterm><primary>ports collection</primary></indexterm>
<para>ランタイムライブラリをインストールするには最も簡単な方法です。
<ulink url="../ports/">ports コレクション</ulink>から他の port
<ulink url="http://www.FreeBSD.org/ja/ports/">Ports Collection</ulink> から他の port
をインストールするのと全く同じようにできます。</para>
<screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_base</userinput>
@ -140,6 +159,7 @@ Id Refs Address Size Name
<sect3>
<title>シェアードライブラリの追加</title>
<indexterm><primary>共有ライブラリ</primary></indexterm>
<para><filename>linux_base</filename> port をインストールした後に、
アプリケーションが必要なライブラリが存在しないというエラーを出したらどうしたらよいでしょうか?
@ -164,6 +184,7 @@ libXt.so.3 (DLL Jump 3.1) =&gt; /usr/X11/lib/libXt.so.3.1.0
libX11.so.3 (DLL Jump 3.1) =&gt; /usr/X11/lib/libX11.so.3.1.0
libc.so.4 (DLL Jump 4.5pl26) =&gt; /lib/libc.so.4.6.29</screen>
<indexterm><primary>シンボリックリンク</primary></indexterm>
<para>最後のカラムに表示されているすべてのファイルを持って来て、
<filename>/compat/linux</filename> の下に置き、
最初のカラムに示されるファイル名にシンボリックリンクを張ります。
@ -218,6 +239,10 @@ libc.so.4 (DLL Jump 4.5pl26) =&gt; /lib/libc.so.4.6.29</screen>
<sect2>
<title>Linux の ELF バイナリのインストール</title>
<indexterm>
<primary>Linux</primary>
<secondary>ELF バイナリ</secondary>
</indexterm>
<para>ELF のバイナリを使うためには、
<quote>マークをつける (branding)</quote> 作業が必要になります。
@ -233,6 +258,7 @@ Abort</screen>
<screen>&prompt.user; <userinput>brandelf -t Linux my-linux-elf-binary</userinput></screen>
<indexterm><primary>GNU ツールチェイン</primary></indexterm>
<para>今では GNU のツールたちが
ELF バイナリに自動的に適切なマークを付加するようになったので、
今後はこの作業もだんだんと必要なくなってゆくでしょう。</para>
@ -269,9 +295,13 @@ multi on</programlisting>
<sect1 id="linuxemu-mathematica">
<title>Mathematica のインストール</title>
<para><emphasis>Mathematica 4.x 用に &a.murray;
<para><emphasis>Mathematica 4.X 用に &a.murray;
がアップデートし、Bojan Bistrovic <email>bojanb@physics.odu.edu</email>
がマージしました。</emphasis></para>
<indexterm>
<primary>アプリケーション</primary>
<secondary><application>Mathematica</application></secondary>
</indexterm>
<para>この章では、Mathematica 4.X Linux 版の FreeBSD
へのインストールについて説明します。</para>
@ -308,8 +338,7 @@ multi on</programlisting>
ELF バイナリすべての扱いを、デフォルトで Linux
バイナリとすることが可能です。</para>
<screen>&prompt.root; <userinput>sysctl -w kern.fallback_elf_brand=3</userinput>
</screen>
<screen>&prompt.root; <userinput>sysctl -w kern.fallback_elf_brand=3</userinput></screen>
<para>これは FreeBSD システムに対して、
マーク付けされていない ELF バイナリが
@ -322,6 +351,10 @@ multi on</programlisting>
<para>Mathematica を起動する前に Wolfram から自分の
<quote>マシン ID</quote> に対応したパスワードを取得しなければいけません。</para>
<indexterm>
<primary>イーサネット</primary>
<secondary>MAC アドレス</secondary>
</indexterm>
<para>一旦 Linux 互換ランタイムライブラリをインストールし、
Mathematica を展開すれば Install ディレクトリにある
@ -391,6 +424,7 @@ disco.example.com 7115-70839-20412</screen>
<para>XFree86 サーバを使用しているなら、
<filename>/etc/XF86Config</filename>
に加えることでこれらのフォントを自動的に読み込むことができます。</para>
<indexterm><primary>フォント</primary></indexterm>
<para>
<filename>/usr/X11R6/lib/X11/fonts/Type1</filename> という
@ -406,6 +440,10 @@ disco.example.com 7115-70839-20412</screen>
<para><emphasis>Marcel Moolenaar 寄贈
<email>marcel@cup.hp.com</email></emphasis></para>
<indexterm>
<primary>アプリケーション</primary>
<secondary><application>Oracle</application></secondary>
</indexterm>
<sect2>
<title>はじめに</title>
@ -426,7 +464,7 @@ disco.example.com 7115-70839-20412</screen>
5.2 を試してみてください。</para>
<para>もし賢いエージェント (intelligent agent) を起動したいなら
Red Hat TCL パッケージ <filename>tcl-8.0.3-20.i386.rpm</filename>
Red Hat Tcl パッケージ <filename>tcl-8.0.3-20.i386.rpm</filename>
もインストールする必要があるでしょう。
公式の RPM パッケージをインストールするには一般的に次のようにします。</para>
@ -446,6 +484,7 @@ disco.example.com 7115-70839-20412</screen>
<sect3 id="linuxemu-kernel-tuning">
<title>カーネルのチューニング</title>
<indexterm><primary>カーネルのチューニング</primary></indexterm>
<para>Oracle インストールガイドにあるように、
シェアードメモリーの最大サイズを設定しなければいけません。
@ -647,6 +686,10 @@ export PATH</programlisting>
<para><emphasis>Holger Kipp 寄稿</emphasis>
<email>holger.kipp@alogis.com</email></para>
<para><emphasis>SGML への変換 &a.logo;</emphasis></para>
<indexterm>
<primary>アプリケーション</primary>
<secondary><application>SAP R/3</application></secondary>
</indexterm>
<sect2 id="preface">
<title>まえがき</title>
@ -668,7 +711,7 @@ export PATH</programlisting>
<sect2 id="software">
<title>ソフトウェア</title>
<para>SAP のインストールには以下の CD-ROM を使いました。</para>
<para>SAP のインストールには以下の CDROM を使いました。</para>
<informaltable>
<tgroup cols=3>
<thead>
@ -812,7 +855,7 @@ export PATH</programlisting>
通常、インストール後には一部のテーブル領域を拡張する必要があります。</para>
<para>私は、800MHz の Pentium III を 2 個、Adaptec 29160
Ultra160 SCSI アダプタ (40/80 GB DLT テープドライブと CD-ROM
Ultra160 SCSI アダプタ (40/80 GB DLT テープドライブと CDROM
にアクセスするため)、Mylex AcelleRAID
(2 チャンネル、ファームウェアバージョン 6.00-1-00、32MB RAM)
を積んだデュアルプロセッサボードを使いました。Mylex RAID
@ -1029,6 +1072,7 @@ DOCSUPFILE= /usr/share/examples/cvsup/doc-supfile</programlisting>
<sect3 id="installingnecessaryrpms">
<title>必要な RPM のインストール</title>
<indexterm><primary>RPMs</primary></indexterm>
<para>R3SETUP プログラムを動かすには、pam
サポートが必要になります。
@ -1059,7 +1103,7 @@ DOCSUPFILE= /usr/share/examples/cvsup/doc-supfile</programlisting>
<screen>&prompt.root; <userinput>rpm -i --ignoreos --nodeps --root /compat/linux --dbpath /var/lib/rpm pam-0.68-7.i386.rpm</userinput> </screen>
<para><application>Oracle</application> が intelligent agent
を動作させるには、次の RedHat TCL package を (FreeBSD
を動作させるには、次の RedHat Tcl package を (FreeBSD
ハンドブックにあるように) インストールしなければなりませんでした。
<filename>tcl-8.0.5-30.i386.rpm</filename> (そうしないと、
<application>Oracle</application>
@ -1293,11 +1337,12 @@ sapmsIDS 3600/tcp # SAP Message Server. 3600 +
<sect3 id="necessarylocales">
<title>必要となるロケール</title>
<indexterm><primary>ロケール</primary></indexterm>
<para>SAP は、デフォルトの RedHat
のインストールでは入らないロケールを少なくとも
2 つ必要とします。
SAP は、必要な RPM を ftp
SAP は、必要な RPM を FTP
サーバからダウンロードする形で提供しています
(OSS アクセス契約している顧客でなければアクセスできません)。
必要な RPM の一覧は note 0171356 をご覧ください。</para>
@ -1320,6 +1365,7 @@ en_US.ISO-8859-1</programlisting>
<sect3 id="kerneltuning">
<title>カーネルのチューニング</title>
<indexterm><primary>カーネルのチューニング</primary></indexterm>
<para>SAP R/3 システムには多くのリソースが必要です。
そのため、私はカーネルコンフィグレーションファイルに
@ -1353,12 +1399,12 @@ options SEMUME=100 #number of UNDO keys</programlisting></para>
<title>SAP R/3 のインストール</title>
<sect3 id="preparingsapcdroms">
<title>SAP CD-ROM の準備</title>
<title>SAP CDROM の準備</title>
<para>インストールの際にマウントしてアンマウントしなければならない
CD-ROM が山ほどあります。十分な数の
CD-ROM ドライブを持っていれば、
すべてマウントしてしまえばよいでしょう。私は、CD-ROM
CDROM が山ほどあります。十分な数の
CDROM ドライブを持っていれば、
すべてマウントしてしまえばよいでしょう。私は、CDROM
の中身をそれぞれに対応するディレクトリにコピーすることにしました。</para>
<programlisting>/oracle/IDS/sapreorg/&lt;cd-name&gt;</programlisting>
@ -1668,7 +1714,7 @@ options SEMUME=100 #number of UNDO keys</programlisting></para>
元の RedHat システムから持ってきて使うこともできるでしょう。</para>
<para>インテリジェントエージェントをコンパイルするために、
RedHat TCL パッケージがインストールされていなければなりません。
RedHat Tcl パッケージがインストールされていなければなりません。
<filename>tcl-8.0.3-20.i386.rpm</filename>
が入手できないなら、RedHat 6.1 用の
<filename>tcl-8.0.5-30.i386.rpm</filename>
@ -2128,6 +2174,7 @@ drwxrwxr-x 11 idsadm sapsys 512 May 4 14:20 trans </screen>
<sect2>
<title>どのように動くのでしょう?</title>
<indexterm><primary>execution class loader</primary></indexterm>
<para>FreeBSD は、&ldquo;実行クラスローダ (execution class loader) &rdquo;
と呼ばれる抽象的な機構を持っています。これは &man.execve.2
@ -2139,7 +2186,7 @@ drwxrwxr-x 11 idsadm sapsys 512 May 4 14:20 trans </screen>
ローダのリストを持っているのです。
</para>
<para>歴史的には、UNIX プラットフォーム上の唯一のローダーがマジックナンバー
<para>歴史的には、Unix プラットフォーム上の唯一のローダーがマジックナンバー
(一般的にはファイルの先頭の 4 ないし 8 バイトの部分)
の検査を行ないシステムで実行できるバイナリかどうかを検査し、
もしそうならバイナリローダーを呼び出すというようになっていました。</para>
@ -2159,11 +2206,13 @@ drwxrwxr-x 11 idsadm sapsys 512 May 4 14:20 trans </screen>
その際、空白文字までの文字列をインタプリタとして認識する、
通常の <literal>#!</literal> ローダを用いるため、
該当するものが存在しなければ最終的に /bin/sh がロードされます。</para>
<indexterm><primary>ELF</primary></indexterm>
<para>Linux ABI をサポートするため、FreeBSD は
ELF バイナリを示すマジックナンバを確認します。
(ただし、この段階では FreeBSD、Solaris、Linux、そしてその他の
ELF イメージ形式を使っている OS を区別することはできません)。</para>
<indexterm><primary>Solaris</primary></indexterm>
<para>ELF ローダは、特殊な<emphasis>マーク (brand)</emphasis> があるかどうか探します。
このマークとは、ELF イメージのコメントセクションのことです。
@ -2178,11 +2227,15 @@ drwxrwxr-x 11 idsadm sapsys 512 May 4 14:20 trans </screen>
<para>上のようにすることで、指定されたファイルは
<literal>Linux</literal> のマークが付けられ、
ELF ローダが認識できるようになります。</para>
<indexterm>
<primary>ELF</primary>
<secondary>branding</secondary>
</indexterm>
<para>ELF ローダが <literal>Linux</literal> マークを確認すると、
ローダは <literal>proc</literal> 構造体内の
ある一つのポインタを置き換えます。システムコールは全て、
このポインタ (伝統的な UNIX システムではこれは構造体の配列 <literal>sysent[]</literal>
このポインタ (伝統的な Unix システムではこれは構造体の配列 <literal>sysent[]</literal>
で、システムコールが含まれています) を通してインデックスされます。
さらに、そのプロセスには Linux カーネルモジュールに必要な
シグナルトランポリンコード (訳注: