diff options
Diffstat (limited to 'zh_CN.GB2312/books')
-rw-r--r-- | zh_CN.GB2312/books/handbook/linuxemu/chapter.sgml | 151 |
1 files changed, 79 insertions, 72 deletions
diff --git a/zh_CN.GB2312/books/handbook/linuxemu/chapter.sgml b/zh_CN.GB2312/books/handbook/linuxemu/chapter.sgml index 97596d46e2..ec23ce67ba 100644 --- a/zh_CN.GB2312/books/handbook/linuxemu/chapter.sgml +++ b/zh_CN.GB2312/books/handbook/linuxemu/chapter.sgml @@ -1,7 +1,7 @@ <!-- The FreeBSD Documentation Project - Original Revision: 1.114 + Original Revision: 1.123 $FreeBSD$ --> @@ -38,36 +38,33 @@ <secondary>Linux</secondary> </indexterm> - <para>FreeBSD提供了与其他几种类&unix;操作系统兼容的模式,包括Linux。 - 您可能会问为什么FreeBSD要能够运行Linux二进制程序? - 问题的答案很简单。许多公司和开发人员只为Linux开发程序, - 因为它是目前计算机世界<quote>最热门</quote>的技术。 - 这样就导致我们这些FreeBSD用户必须把他们这些公司和开发人员开发的应用程序移植到本地FreeBSD版本上来。 - 问题是,这些公司中的绝大多数都无法知道有多少人会使用他们的FreeBSD版本的产品, - 所以许多公司仍然只开发Linux平台的产品。那么FreeBSD用户应该做些什么呢? - 这就是使用Linux二进制兼容性的原因。 - </para> - - <para>简单来讲,这种兼容性允许FreeBSD用户能够不做任何修改就可以运行大约90%的Linux应用程序。 - 这些包括<application>&staroffice;</application>, - Linux版的<application>&netscape;</application>, + <para>FreeBSD 提供了与其他几种类 + &unix; 操作系统, 包括 Linux, 的兼容性。 现在您可能会问, 为什么 + FreeBSD 需要能够运行 Linux 的可执行文件? 答案很简单。 + 许多公司和开发人员只为 Linux 开发程序, + 因为这是目前计算机世界 <quote>最热门</quote> 的技术。 + 这使得我们 FreeBSD 用户不得不去劝说这些公司和开发人员提供他们应用程序可以直接在 + FreeBSD 上运行的版本。 问题是, 许多这样的公司并不真的知道到底提供了 + FreeBSD 版本之后能带来多少用户, 因此许多仍然只开发 Linux + 的版本。 这时 FreeBSD 用户能做什么呢? 答案就是使用 FreeBSD + 所提供的 Linux 二进制兼容性。</para> + + <para>简而言之, 这种兼容性能够让 FreeBSD 用户不加修改地直接运行大约 90% + 的 Linux 应用程序。 这包括类似 <application>&staroffice;</application>, + Linux 版本的 <application>&netscape;</application>, <application>&adobe; &acrobat;</application>, - <application><trademark class="registered">RealPlayer</trademark></application> - 5和7, <application><trademark>VMware</trademark></application>, + <application><trademark class="registered">RealPlayer</trademark></application>, + <application><trademark>VMware</trademark></application>, <application>&oracle;</application>, <application><trademark class="registered">WordPerfect</trademark></application>, - <application>Doom</application>, <application>Quake</application>,和更多的其他程序。 - 据说在某些情况下,在FreeBSD上Linux程序的性能比它们在Linux上运行得还要好。</para> - <indexterm> - <primary>Linux</primary> - <secondary><filename>/proc</filename>文件系统</secondary> - </indexterm> + <application>Doom</application>, + <application>Quake</application>, 等等。 此外, 也有人说, + 某些情况下, 在 FreeBSD 上面运行的 Linux 程序的性能, + 甚至好于直接在 Linux 上面运行。</para> - <para>然而,一些具有Linux本身操作系统特性的程序就无法在FreeBSD上运行。 - 如果它们使用Linux的<filename>/proc</filename>文件系统 - (它与FreeBSD的<filename>/proc</filename>文件系统是不同的) - 或如启用虚拟8086模式这样特定的 &i386;调用,那Linux的兼容模式就无法工作。 - </para> + <para>然而, 仍然有一些只有 Linux 才有的操作系统特性在 FreeBSD 上并不被支持。 + 如果 Linux 程序过分地使用只能在 &i386; 上使用的特性, + 例如启用虚拟 8086 模式, 则也有可能无法在 FreeBSD 上运行。</para> <para>读完这章,您将了解到:</para> <itemizedlist> @@ -137,11 +134,11 @@ Id Refs Address Size Name 要么<link linkend="linuxemu-libs-manually">手动</link>安装。</para> <sect3 id="linuxemu-libs-port"> - <title>使用linux_base Port安装</title> - <indexterm><primary>ports collection</primary></indexterm> + <title>通过使用 linux_base Port 来安装</title> + <indexterm><primary>Ports Collection</primary></indexterm> <para>这是最容易的安装方法,只需要像安装其他port一样从 - <ulink type="html" url="file://localhost/usr/ports/">ports collection</ulink>来安装:</para> + <ulink type="html" url="file://localhost/usr/ports/">Ports Collection</ulink>来安装:</para> <screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_base</userinput> &prompt.root; <userinput>make install distclean</userinput></screen> @@ -165,9 +162,9 @@ Id Refs Address Size Name <filename>/compat/linux/lib/libc.so</filename>,如果不存在,它将尝试打开<filename>/lib/libc.so</filename>。 共享库应该安装在<filename>/compat/linux/lib</filename>而不是Linux <command>ld.so</command>报告的其他路径。</para> - <para>通常,您需要寻找Linux程序依赖的共享库。然后, - 您需要在系统上做一个高效的Linux共享库设置,以便能够运行最新的Linux程序。 - </para> + <para>通常,您需要寻找Linux程序依赖的共享库。 此后, + 你的系统上就会有一组 Linux 共享库, + 这组共享库足以用来运行新安装的 Linux 二进制程序。</para> </sect3> <sect3> @@ -397,8 +394,11 @@ disco.example.com 7115-70839-20412</screen> &prompt.root; <userinput>xset fp+ /usr/X11R6/lib/X11/fonts/MathType1</userinput> &prompt.root; <userinput>xset fp rehash</userinput></screen> - <para>如果您正在使用<application>&xfree86;</application>服务器,您可以把它们添加到您的 - <filename>XF86Config</filename>文件来自动加载。</para> + <para>如果您正使用 <application>&xorg;</application> 服务器, 则可以通过修改 + <filename>xorg.conf</filename> 文件来自动加载它们。</para> + + <note><para>对于 <application>&xfree86;</application> 服务器, + 配置文件的名字是 <filename>XF86Config</filename>。</para></note> <indexterm><primary>fonts</primary></indexterm> <para>如果您<emphasis>没有</emphasis>一个叫<filename>/usr/X11R6/lib/X11/fonts/Type1</filename>的目录, @@ -791,13 +791,15 @@ exit 0</programlisting> <sect2> <title>安装Linux环境</title> - <para>确信您已经从ports collection安装了<filename role='package'>emulators/linux_base</filename> - 和<filename role='package'>devel/linux_devtools</filename>。如果运行这些ports有困难, - 您可能不得不使用packages或老版本的ports collection。</para> + <para>确信您已经从 Ports Collection 安装了 <filename role='package'>emulators/linux_base</filename> 和 + <filename role='package'>devel/linux_devtools</filename>。 如果在使用这些 port + 时遇到困难, 您可能就不得不从 package, 或使用较早版本的 Ports Collection + 来安装。</para> - <para>如果您想运行智能代理,您还需要安Red Hat Tcl package: - <filename>tcl-8.0.3-20.i386.rpm</filename>。安装这些包的命令是使用官方安装程序 - <application>RPM</application>(ports里面<filename role='package'>archivers/rpm</filename>):</para> + <para>如果要运行智能代理, 您还需要安装 Red Hat Tcl 软件包: + <filename>tcl-8.0.3-20.i386.rpm</filename>。 + 用于安装官方的 <application>RPM</application> + (<filename role='package'>archivers/rpm</filename>) 软件包的命令是:</para> <screen>&prompt.root; <userinput>rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm <replaceable>package</replaceable></userinput></screen> @@ -854,7 +856,7 @@ options SYSVMSG #SysV interprocess communication</programlisting> <para>除了普通的<application>&oracle;</application>变量外, 比如<envar>ORACLE_HOME</envar>和<envar>ORACLE_SID</envar>,您还必须设置下面的环境变量:</para> - <informaltable frame="none"> + <informaltable frame="none" pgwide="1"> <tgroup cols="2"> <colspec colwidth="1*"> <colspec colwidth="2*"> @@ -917,14 +919,16 @@ export PATH</programlisting> <sect2> <title>安装&oracle;</title> - <para>由于linux模拟器的一个小错误,在启动安装程序之前,您必须在<filename>/var/tmp</filename>下 - 创建<filename>.oracle</filename>目录。您可以把它设为所有人可写,或者由<username>oracle</username>用户拥有。 - 您必须没有问题的安装<application>&oracle;</application>,如果有问题,请检查一下<application>&oracle;</application> - 发行包,或先配置它。安装完<application>&oracle;</application>后,执行下面两步的修补工作。 - </para> + <para>由于 Linux 模拟器的一处小小的差异, 您必须在 <filename>/var/tmp</filename> + 中创建一个名为 <filename>.oracle</filename> 的目录才能够启动安装程序。 + 需要把它设置为属于 <username>oracle</username> 用户。 接下来, + 您就可以毫无问题地安装 <application>&oracle;</application> 了。 + 如果您遇到问题, 请首先检查 <application>&oracle;</application> + 软件包和/或配置文件!安装完 <application>&oracle;</application> + 之后, 使用下面两节中所说的补丁。</para> - <para>一个经常出现的问题是TCP协议的适配器没有安装好。结果您不能启动任何TCP监听。下面的工作将帮助您解决这个问题: - </para> + <para>一个比较常见的问题是 TCP 协议适配器安装不正确。 + 其结果是将无法进行任何的 TCP 侦听。 下面的操作将帮助解决此问题:</para> <screen>&prompt.root; <userinput>cd $ORACLE_HOME/network/lib</userinput> &prompt.root; <userinput>make -f ins_network.mk ntcontab.o</userinput> @@ -1066,7 +1070,7 @@ export PATH</programlisting> <sect3 id="software-46b"> <title>&sap.r3; 4.6B, &oracle; 8.0.5</title> - <informaltable frame="none"> + <informaltable frame="none" pgwide="1"> <tgroup cols=3> <thead> <row> @@ -1125,7 +1129,7 @@ export PATH</programlisting> <sect3 id="software-46c"> <title>&sap.r3; 4.6C SR2, &oracle; 8.1.7</title> - <informaltable frame="none"> + <informaltable frame="none" pgwide="1"> <tgroup cols=3> <thead> <row> @@ -1189,7 +1193,7 @@ export PATH</programlisting> <sect3 id="sap-notes-46b"> <title>&sap.r3; 4.6B, &oracle; 8.0.5</title> - <informaltable frame="none"> + <informaltable frame="none" pgwide="1"> <tgroup cols="2"> <thead> <row> @@ -1240,7 +1244,7 @@ export PATH</programlisting> <sect3 id="sap-notes-46c"> <title>&sap.r3; 4.6C, &oracle; 8.1.7</title> - <informaltable frame="none"> + <informaltable frame="none" pgwide="1"> <tgroup cols="2"> <thead> <row> @@ -1308,7 +1312,7 @@ export PATH</programlisting> 用于生产用途,就需要更强的配置: </para> - <informaltable frame="none"> + <informaltable frame="none" pgwide="1"> <tgroup cols="3"> <thead> <row> @@ -1366,8 +1370,10 @@ with 128 MB,和一个EIDE DVD-ROM驱动器。RAID controller被挂上2个18 GB硬 <sect2 id="installation"> <title>安装FreeBSD</title> - <para>首先需要安装FreeBSD。有几种方法来装(FreeBSD 4.3通过FTP安装, FreeBSD 4.5直接从RELEASE CD安装)。 - 更多信息参考<xref + <para>首先需要安装 FreeBSD。 + 有很多方法来完成这个工作 (FreeBSD 4.3 通过 FTP + 安装, 而 FreeBSD 4.5 则是从 RELEASE CD + 安装的)。 要了解进一步的情况请参考 <xref linkend="install-diff-media">。</para> <sect3 id="disk-layout"> @@ -1379,7 +1385,7 @@ with 128 MB,和一个EIDE DVD-ROM驱动器。RAID controller被挂上2个18 GB硬 所以如果是使用AMI &megaraid;,我们能看到 <filename>/dev/amr0s1a</filename> 代替了 <filename>/dev/da0s1a</filename>):</para> - <informaltable frame="none"> + <informaltable frame="none" pgwide="1"> <tgroup cols="4"> <thead> <row> @@ -1518,10 +1524,11 @@ pam-0.68-7.i386.rpm</userinput></screen> <sect3 id="linuxprocandfallbackelfbrand"> <title>其它一些注意的地方</title> - <para>添加<literal>linprocfs</literal>到<filename>/etc/fstab</filename>是个好主意, - 更多信息看&man.linprocfs.5;手册页。 - 另一个要设置的参数是<literal>kern.fallback_elf_brand=3</literal>, - 在<filename>/etc/sysctl.conf</filename>里面设置。</para> + <para>添加 <literal>linprocfs</literal> + 到 <filename>/etc/fstab</filename> 是个好主意。 + 要了解进一步的细节, 请参考 &man.linprocfs.5; 联机手册。 + 另一个是设置 <literal>kern.fallback_elf_brand=3</literal>, + 这可以通过 <filename>/etc/sysctl.conf</filename> 文件来完成。</para> </sect3> </sect2> @@ -1533,7 +1540,7 @@ pam-0.68-7.i386.rpm</userinput></screen> <para>对简单的安装,创建下面的文件系统就够了:</para> - <informaltable frame="none"> + <informaltable frame="none" pgwide="1"> <tgroup cols="2"> <thead> <row> @@ -1596,7 +1603,7 @@ ERROR 2002-03-19 16:45:36 R3LINKS_IND_IND Ins_SetupLinks:0 对于4.6C SR2安装,使用<literal>PRD</literal>。 这样我们定义了下面的几个组: </para> - <informaltable frame="none"> + <informaltable frame="none" pgwide="1"> <tgroup cols="3"> <thead> <row> @@ -1632,7 +1639,7 @@ ERROR 2002-03-19 16:45:36 R3LINKS_IND_IND Ins_SetupLinks:0 <para>我们也需要下面的用户</para> - <informaltable frame="none"> + <informaltable frame="none" pgwide="1"> <tgroup cols="6"> <thead> <row> @@ -1908,7 +1915,7 @@ options SEMUME=100 #number of UNDO keys</programlisting> <para>这个脚本会问一些问题(括号里面是缺省值,后面是实际输入): </para> - <informaltable frame="none"> + <informaltable frame="none" pgwide="1"> <tgroup cols="3"> <thead> <row> @@ -2104,7 +2111,7 @@ options SEMUME=100 #number of UNDO keys</programlisting> <para>这个脚本会问一些问题(括号里面是缺省值,后面是实际输入):</para> - <informaltable frame="none"> + <informaltable frame="none" pgwide="1"> <tgroup cols="3"> <thead> <row> @@ -2265,7 +2272,7 @@ options SEMUME=100 #number of UNDO keys</programlisting> &prompt.root; <userinput>export TERM=xterm</userinput> &prompt.root; <userinput>export ORACLE_TERM=xterm</userinput> &prompt.root; <userinput>export ORACLE_HOME=/oracle/IDS</userinput> -&prompt.root; <userinput>cd /ORACLE_HOME/orainst_sap</userinput> +&prompt.root; <userinput>cd $ORACLE_HOME/orainst_sap</userinput> &prompt.root; <userinput>./orainst</userinput></screen> <para>用<keycap>Enter</keycap>来确认所有的屏幕直到安装完成,除了您必须取消 @@ -2323,7 +2330,7 @@ options SEMUME=100 #number of UNDO keys</programlisting> <para>数据加载完后(可能需要一些时间),需要创建一些口令。对于测试安装,可以使用缺省口令: </para> - <informaltable frame="none"> + <informaltable frame="none" pgwide="1"> <tgroup cols="2"> <thead> <row> @@ -2431,7 +2438,7 @@ LICENSE KEY = <replaceable>license key, 24 chars</replaceable></programlisti <para>在客户端000,用户不同于<username>ddic</username>和<username>sap*</username>,做下面的工作: </para> - <informaltable frame="none"> + <informaltable frame="none" pgwide="1"> <tgroup cols="2"> <thead> <row> @@ -2518,7 +2525,7 @@ tape_address_rew = /dev/sa0</programlisting> <para>下面的<application>&sap;</application>参数应该在安装以后调整(例子是IDES 46B, 1 GB内存): </para> - <informaltable frame="none"> + <informaltable frame="none" pgwide="1"> <tgroup cols="2"> <thead> <row> @@ -2557,7 +2564,7 @@ tape_address_rew = /dev/sa0</programlisting> <para>&sap;注释0013026:</para> - <informaltable frame="none"> + <informaltable frame="none" pgwide="1"> <tgroup cols="2"> <thead> <row> @@ -2576,7 +2583,7 @@ tape_address_rew = /dev/sa0</programlisting> <para>&sap;注释0157246:</para> - <informaltable frame="none"> + <informaltable frame="none" pgwide="1"> <tgroup cols="2"> <thead> <row> |