solaris使用opencsw安装软件包
在solaris下安装或者更新软件通常有3种方法:
1.下载源代码编译安装。
2.从sunfreeware.com下载pkg包,使用pkgadd安装。
3.下载pkg-get工具(类似于redhat的yum),在线更新软件包,这种方法其实是对第二种方法的自动化封装实现。
很多时候,我们要安装的软件依赖与其他一些的包,这是我们可以综合使用上面的三种方法:
①对于一些小的或者我们不打算定制安装的包使用方法2或者3安装,更快捷。
②对于需要定制安装或者sunfreeware.com中未提供的包采用方法1安装。不幸的是,仍然有
一些软件包无法使用SunStutio(solaris提供的gcc编辑器)进行编译。通常是因为软件包在编译时只考虑gun gcc,没考虑SunStutio。这时我们必须使用gun gcc编译,我们需要设置以下环境变量:
export CPP=”/usr/sfw/bin/gcc -E”
export CC=/usr/sfw/bin/gcc
export CXX=/usr/sfw/bin/g++
然后再编译。但是问题又来了,我们的依赖包也许还要依赖其他的包,我们可能需要手工编译很多包最终才能成功!
so,opencsw降临!
她致力于解决这些问题。opencsw提供pkgutil包管理工具,通过在线的方式更新软件包,同时解决软件的依赖问题。
我们只需要两步设置:
①安装opencsw: pkgadd -d http://get.opencsw.org/now ,默认安装在/opt/csw/内
②使用pkgutil安装软件包,比如:/opt/csw/bin/pkgutil –install libmagic,默认安装到/opt/csw/lib/下,然后建立相关库到/usr/local/lib/的链接或者添加/opt/csw/lib/到动态链接库环境变量.到这里一切ok,我们可以继续编译安装软件。
不得不说opencsw提供了一种更简单、方便的方式安装某些软件。
目前支持的软件和包列表:http://www.opencsw.org/get-it/packages/
其他的一些设置可以到官方网站查询:http://www.opencsw.org/

