分页: 1 / 1

《NetBSD指南-10.1.2.安装Linux库文件》

发表于 : 2010-03-02 15:34
leo
通常, 应用程序链接时需要依赖共享库文件, 而对Linux应用程序来说需要Linux共享库。你可以从任何Linux分发版中得到这个共享库, 这里假设它不太旧。但是建议的方式是使用pkgsrc系统来自动安装这个库文件(用的是SUSE的库文件). 当你安装则这个库文件时,会看见:

建立了一个 二级根目录 /emul/linux,这个目录被Linux程序使用。 在模拟模式中的Linux程序将使用这个目录作为其根目录并使用这里的文件。 如果一个所需文件没有找到, Linux程序将以/作为根目录进行新的搜索。

例如, 如果一个Linux程序要打开 /etc/ld.so.conf 文件, 它将先找 /emul/linux/etc/ld.so.conf这个文件(也就是先在 /emul/linux/etc 下寻找), 如果没有找到,会接着去 /etc/ld.so.conf寻找。

Linux共享库安装后,多数的应用程序是动态链接的并希望在系统内找到所需的库文件。 例如, Acrobat Reader, 如果你进入 /usr/pkgsrc/print/acroread7 运行一个 make depends 命令, pkgsrc将获取并按抓过所有Acrobat Reader所需的依赖包。

上述两个操作全可以自动地由package系统处理, 无需人工干预(我猜现在你已经开始喜欢package系统了...)。 注意本节描述的是手动安装Linux共享库。

要安装共享库需要先安装一个程序来处理 RPM 格式: 它就是 rpm, 我们用其释放 SUSE 的库文件。 在 /usr/pkgsrc/misc/rpm/ 目录中执行 make 和 make install来构建和安装rpm。

接下来必须安装 suse100_base package. SUSE的RPM文件可以从package系统下载,或者如果你有SUSE的CD, 你可以将它们拷贝到 /usr/pkgsrc/distfiles/suse100 目录,然后进入 /usr/pkgsrc/emulators/suse100_base目录运行 make 和 make install 。

用同样的方法安装 suse100_compat 和 suse100_x11. 最后的配置是:

# pkg_info -a | grep suse
suse_base-10.0nb3 Linux compatibility package
suse_compat-10.0nb1 Linux compatibility package with old shared libraries
suse_x11-10.0nb2 Linux compatibility package for X11 binaries