当前位置:早雪网网络学院编程文档数据库技术Access → FreeBSD连载(57):可执行程序格式

FreeBSD连载(57):可执行程序格式

减小字体 增大字体 作者:不详  来源:supcode.com收集整理  发布时间:2005-7-23 15:06:19
# cd /usr/compat/linux
# rm -fr *

  安装新的Linux兼容文件可以通过多种方式来完成,由于当前最流行的 Linux系统通常使用RPM的包管理方式,因此可以使用RPM包来安装Linux文件。这需要首先安装包管理程序rpm,这个程序有FreeBSD版本(此时还无法运行Linux程序)。可以在Packages Collection中找到这个软件。

  然后就要为安装Linux的RPM包初始化rpm,使rpm不使用根目录作为系统的起始路径,而使用/usr/compat/linux作为所有的rpm包的根进行安装,这就要使用 --root参数指定相对的根目录,以将Linux执行程序与FreeBSD执行执行程序区分开。rpm在/usr/compat/linux/var/local/lib/rpm中记录包的安装信息。

# mkdir -p /usr/compat/linux/var/local/lib/rpm

# rpm --initdb --dbpath /usr/compat/linux/var/local/lib/rpm

# rpm -i --ignoreos --root /usr/compat/linux ld.so-1.9.5-7.i386.rpm

# rpm -i --ignoreos --root /usr/compat/linux ldconfig-1.9.5-3.i386.rpm

# rpm -i --ignoreos --root /usr/compat/linux glib-1.0.1-3.i386.rpm

# rpm -i --ignoreos --root /usr/compat/linux glibc-2.0.7-17.i386.rpm

  当使用rpm -I安装好所有必须的系统支持文件,以及需要执行的应用程序,这样安装完毕之后,在通过调整一些参数,Linux程序就能正常执行了。主要需要根据应用程序的错误提示,修改FreeBSD和Linux在文件和目录结构上的不同,如Linux 执行程序的位置,应该更改为/usr/compat/linux/usr/bin目录或其他相应的路径,而非原有根目录下的路径,以使得Linux程序内部只调用Linux执行程序。只有一些对执行程序的格式不敏感的程序,可以使用/bin或/usr/bin下的相应FreeBSD执行程序。通过这样的设置之后,在FreeBSD下就能运行包括Oracle 8 for Linux在内的大型应用软件

  但是FreeBSD并不可能运行所有的Linux程序,有的应用程序程序对Linux内核有一定要求,需要内核的特定版本的支持。一般来讲,对于这些对Linux特定内核有要求的应用程序,FreeBSD也就无法提供支持了。

  不管怎样,虽然在FreeBSD下运行Linux执行程序没有太大的问题,然而毕竟 Linux是一个独立的操作系统,处理问题的风格与FreeBSD不同,因此除了较小的程序之外,安装支持文件、必要的目录结构等参数的调整是免不了的。

未完,待续。。。  

上一页  [1] [2] [3] 

[数据载入中...] [返回上一页] [打 印]