aboutsummaryrefslogtreecommitdiff
path: root/zh_CN.GB2312/books/handbook/linuxemu
diff options
context:
space:
mode:
authorXin LI <delphij@FreeBSD.org>2006-03-15 19:38:56 +0000
committerXin LI <delphij@FreeBSD.org>2006-03-15 19:38:56 +0000
commitb99e83b0a7c48690c2e6b7699bbd549e9a2c8da1 (patch)
tree61578f2c24f19d8d92ac0907829272ba8ae92e3e /zh_CN.GB2312/books/handbook/linuxemu
parentf266a6a31f7f22bbb73de28eccf694ca3317afaa (diff)
Notes
Diffstat (limited to 'zh_CN.GB2312/books/handbook/linuxemu')
-rw-r--r--zh_CN.GB2312/books/handbook/linuxemu/chapter.sgml143
1 files changed, 85 insertions, 58 deletions
diff --git a/zh_CN.GB2312/books/handbook/linuxemu/chapter.sgml b/zh_CN.GB2312/books/handbook/linuxemu/chapter.sgml
index e3988ecfb6..848e0c7829 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.124
+ Original Revision: 1.129
$FreeBSD$
-->
@@ -100,11 +100,16 @@
<indexterm><primary>KLD (kernel loadable object)</primary></indexterm>
- <para>默认的Linux兼容模式没有被打开。启用这个功能的最容易的方法是调用<literal>linux</literal>
- KLD对象(<quote>Kernel LoaDable object</quote>)。您可以在命令行通过健入<command>linux</command>来加载这个模块。
- </para>
+ <para>默认情况下, 并不开启 Linux 二进制兼容支持。
+ 启用这一功能最简单的方法是载入
+ <literal>linux</literal> KLD 模块 (<quote>Kernel LoaDable
+ object</quote>)。 以 <username>root</username>
+ 的身份, 键入下列命令即可:</para>
- <para>如果您想让Linux二进制兼容性总是被启用,您可以在<filename>/etc/rc.conf</filename>加入下面这一行:</para>
+ <screen>&prompt.root; <userinput>kldload linux</userinput></screen>
+
+ <para>如果希望 Linux 兼容支持在系统初始化过程中自动启用, 则应在
+ <filename>/etc/rc.conf</filename> 中增加:</para>
<programlisting>linux_enable="YES"</programlisting>
@@ -281,16 +286,9 @@ multi on</programlisting>
<sect1info>
<authorgroup>
<author>
- <firstname>Murray</firstname>
- <surname>Stokely</surname>
- <contrib>Updated for Mathematica 4.X by </contrib>
- </author>
- </authorgroup>
- <authorgroup>
- <author>
- <firstname>Bojan</firstname>
- <surname>Bistrovic</surname>
- <contrib>Merged with work by </contrib>
+ <firstname>Boris</firstname>
+ <surname>Hollas</surname>
+ <contrib>Updated for Mathematica 5.X by </contrib>
</author>
</authorgroup>
</sect1info>
@@ -301,61 +299,90 @@ multi on</programlisting>
<secondary><application>Mathematica</application></secondary>
</indexterm>
- <para>这节描述在FreeBSD系统上安装Linux版的<application>&mathematica; 4.X</application>。
- </para>
+ <para>这份文档介绍了如何在 FreeBSD 系统中安装 Linux
+ 版本的 <application>&mathematica; 5.X</application>。</para>
- <para>Linux版<application>&mathematica;</application>在FreeBSD下运行的很好,但是
- 由Wolfram打包的二进制程序需要标记才能让FreeBSD知道需要使用Linux ABI来执行它们。</para>
-
- <para>Linux版的<application>&mathematica;</application>
- 或<application>&mathematica; for Students</application>
- 可以从<ulink url="http://www.wolfram.com/"></ulink>直接定购。</para>
+ <para>Linux 版本的 <application>&mathematica;</application>
+ 或 <application>&mathematica; for Students</application>
+ 可以直接从 Wolfram 的
+ <ulink url="http://www.wolfram.com/"></ulink> 订购。</para>
<sect2>
- <title>标记Linux程序</title>
-<para>
-Linux程序可以在Wolfram发布的CDROM的<application>&mathematica; </application><filename>Unix</filename>目录中找到。
-您必须将这个目录树拷贝到本地硬盘上,以便您能在运行安装程序之前用&man.brandelf.1; 来标记Linux程序:
-</para>
+ <title>运行 &mathematica; 安装程序</title>
+
+ <para>首先您应告诉 &os;
+ <application>&mathematica;</application> 的 Linux
+ 可执行文件需要使用 Linux ABI。 达到这一目的最简单的办法,
+ 是将未加标志的可执行文件的默认 ELF 标记为 Linux,
+ 输入下面的命令:</para>
- <screen>&prompt.root; <userinput>mount /cdrom</userinput>
-&prompt.root; <userinput>cp -rp /cdrom/Unix/ /localdir/</userinput>
-&prompt.root; <userinput>brandelf -t Linux /localdir/Files/SystemFiles/Kernel/Binaries/Linux/*</userinput>
-&prompt.root; <userinput>brandelf -t Linux /localdir/Files/SystemFiles/FrontEnd/Binaries/Linux/*</userinput>
-&prompt.root; <userinput>brandelf -t Linux /localdir/Files/SystemFiles/Installation/Binaries/Linux/*</userinput>
-&prompt.root; <userinput>brandelf -t Linux /localdir/Files/SystemFiles/Graphics/Binaries/Linux/*</userinput>
-&prompt.root; <userinput>brandelf -t Linux /localdir/Files/SystemFiles/Converters/Binaries/Linux/*</userinput>
-&prompt.root; <userinput>brandelf -t Linux /localdir/Files/SystemFiles/LicenseManager/Binaries/Linux/mathlm</userinput>
-&prompt.root; <userinput>cd /localdir/Installers/Linux/</userinput>
-&prompt.root; <userinput>./MathInstaller</userinput></screen>
-
- <para>另外,您也可以简单地用下面的命令将默认的ELF标记成Linux:
- </para>
<screen>&prompt.root; <userinput>sysctl kern.fallback_elf_brand=3</userinput></screen>
- <para>这将让FreeBSD知道没有标记的ELF程序使用Linux ABI,所以您将可以直接从CDROM来运行安装程序。 </para>
+
+ <para>这回让 &os; 假定所有未加标志的 ELF 可执行文件,
+ 都应使用 Linux ABI, 这样就可以直接从 CDROM 执行安装程序了。</para>
+
+ <para>接下来, 需要将 <filename>MathInstaller</filename>
+ 复制到硬盘上:</para>
+
+ <screen>&prompt.root; <userinput>mount /cdrom</userinput>
+&prompt.root; <userinput>cp /cdrom/Unix/Installers/Linux/MathInstaller /localdir/</userinput></screen>
+
+ <para>在这个文件的第一行中, 将 <literal>/bin/sh</literal>
+ 改为 <literal>/compat/linux/bin/sh</literal>。
+ 这样就能确保安装程序是使用 Linux
+ 版本的 &man.sh.1; 来运行的。 接下来, 使用文本编辑器或下面的脚本, 把所有的
+ <literal>Linux)</literal> 替换为 <literal>FreeBSD)</literal>。
+ 由于 <application>&mathematica;</application>
+ 安装程序会调用 <command>uname -s</command> 来检测操作系统,
+ 这样做能够让它视 &os; 为一种 类-Linux 操作系统。
+ 现在执行 <command>MathInstaller</command>
+ 就能安装 <application>&mathematica;</application> 了。</para>
+ </sect2>
+
+ <sect2>
+ <title>修改 &mathematica; 执行文件</title>
+
+ <para>在安装
+ <application>&mathematica;</application> 的过程中所创建的脚本,
+ 必须首先进行适当的修改才能使用。
+ 如果您选择将 <filename role="directory">/usr/local/bin</filename>
+ 作为
+ <application>&mathematica;</application> 可执行文件的安装路径,
+ 则可以在这个目录中找到一些到名为
+ <filename>math</filename>、 <filename>mathematica</filename>、
+ <filename>Mathematica</filename>, 以及
+ <filename>MathKernel</filename> 的文件的符号连接。 您可以使用文本编辑器,
+ 或者下面的 shell 脚本来将这些文件中的
+ <literal>Linux)</literal> 改为 <literal>FreeBSD)</literal>:</para>
+
+ <programlisting>#!/bin/sh
+cd /usr/local/bin
+for i in math mathematica Mathematica MathKernel
+ do sed 's/Linux)/FreeBSD)/g' $i &gt; $i.tmp
+ sed 's/\/bin\/sh/\/compat\/linux\/bin\/sh/g' $i.tmp &gt; $i
+ rm $i.tmp
+ chmod a+x $i
+done</programlisting>
</sect2>
<sect2>
<title>获得您的&mathematica; 密码</title>
- <para>在您运行<application>&mathematica;</application>之前,您必须从Wolfram获得对应您的<quote>机器ID</quote>的密码。
- </para>
<indexterm>
<primary>以太网</primary>
<secondary>MAC地址</secondary>
</indexterm>
- <para>一旦您安装了Linux运行时库,并把<application>&mathematica;</application>解包开了,
- 您可以在安装目录通过运行<command>mathinfo</command>来获得您的<quote>机器ID</quote>。
- 这个机器ID是以您的第一块以太网卡的MAC地址为基础的。</para>
+ <para>在首次启动 <application>&mathematica;</application>
+ 时, 您将被问及一个密码。 如果您还未从 Wolfram 获得密码, 则安装目录中的
+ <command>mathinfo</command> 可以帮助您获得 <quote>machine ID</quote> (计算机 ID)。
+ 这个计算机 ID 取决于您第一块以太网卡的 MAC 地址,
+ 以确保您不在多台机器上运行
+ <application>&mathematica;</application>。</para>
- <screen>&prompt.root; <userinput>cd /localdir/Files/SystemFiles/Installation/Binaries/Linux</userinput>
-&prompt.root; <userinput>mathinfo</userinput>
-disco.example.com 7115-70839-20412</screen>
-
- <para>当您用email,电话或者传真向Wolfram注册时,给他们您的<quote>机器ID</quote>,就会返回一个包含一组数字的密码。
- 当您第一次运行<application>&mathematica;</application>时就需要得到的密码。
- </para>
+ <para>在通过电子邮件、 电话或传真向 Wolfram 注册时,
+ 您需要向他们提供 <quote>machine ID</quote>,
+ 探后它们会给您一个与之对应的由一组数字组成的密码。</para>
</sect2>
<sect2>
@@ -490,14 +517,14 @@ LOG=/var/log/lmgrd.log
case "$1" in
start)
- lmgrd -c ${LICENSE_FILE} 2>> ${LOG} 1>&2
+ lmgrd -c ${LICENSE_FILE} 2&gt;&gt; ${LOG} 1&gt;&2
echo -n " lmgrd"
;;
stop)
- lmgrd -c ${LICENSE_FILE} -x lmdown 2>> ${LOG} 1>&2
+ lmgrd -c ${LICENSE_FILE} -x lmdown 2&gt;&gt; ${LOG} 1&gt;&2
;;
*)
- echo "Usage: `basename $0` {start|stop}" 1>&2
+ echo "Usage: `basename $0` {start|stop}" 1&gt;&2
exit 64
;;
esac
@@ -2792,7 +2819,7 @@ SVRMGR&gt; <userinput>exit</userinput></screen>
total 4
drwxr-xr-x 3 idsadm sapsys 512 May 5 11:20 D00
drwxr-x--x 5 idsadm sapsys 512 May 5 11:35 IDS
-lrwxr-xr-x 1 root sapsys 7 May 5 11:35 SYS -> IDS/SYS
+lrwxr-xr-x 1 root sapsys 7 May 5 11:35 SYS -&gt; IDS/SYS
drwxrwxr-x 2 idsadm sapsys 512 May 5 13:00 tmp
drwxrwxr-x 11 idsadm sapsys 512 May 4 14:20 trans</screen>