从Solaris 11中缺lessGCC,并已部署服务器(无法访问Internet)

我有一个特殊的问题,一个服务器已经部署,并不再连接到networking。 因为它的原始目的,它不需要任何C / C ++编译工具,因此他们从来没有安装。

我已经检查/usr/sfw/bin ,但确实他们从那里失踪..

我对Solaris环境并不是很熟悉,但是对于Solaris 11,我似乎无法findGCC作为“可安装软件包”(类似于debian的dpkg)。尽pipe如此,旧版Solaris环境似乎有些东西。 有没有办法后安装这些工具,而无需使用互联网连接和软件包pipe理器? 有没有,例如,我可以用作包pipe理器的来源的DVD映像?

我想运行一个我用C ++编写的程序,但是当我运行64位x86 Linux机器时,我无法编译我的机器上的代码。

我可以访问较旧的Solaris 8机器,即设置正常,我用它来创build一个静态二进制文件(使用gcc 3.8 )。 该程序运行,但有一些string格式化奇怪的行为,并不按预期执行 – 在Solaris 8主机上看不到此行为。

我可以从机器上复制这些库,例如创build一个交叉编译环境,但我不知道这是否简单。 从dynamic链接的文件中,我看到例如链接到libstdc ++,但是从目标机器丢失。

所以我想知道我能否创build适当的交叉编译环境?

/usr/sfw/bin是Solaris 10的捆绑gccpath。在Solaris 11.1上, gcc在安装时直接在/usr/bin作为指向/usr/gcc/<version>/bin/gcc的符号链接。

现在磁盘数据格式为ips包( .p5p文件),但我build议下载整个存储库(在Solaris 11.1下载页面中查找Oracle Solaris 11.1存储库映像 ),并创build您自己的ips服务。 详情请看这个博客 。 这将允许安装gcc所依赖的任何软件包,也可能安装其他可能仍然缺失的软件包。

对我来说,您似乎也可以在Web上访问Solaris 11 Package Repository ,并且可以在那里下载软件包。 编辑:我站在更正(谢谢@alanc),你只能下载“标题”的包在那里,所以唯一的select是获得包,否则。

我假设有一种方法可以指示Solaris软件包pipe理器使用一些命令行参数来安装单个文件。 这种方法的问题是找出所有的依赖关系,如果没有反复下载,可能仍然会丢失,试图安装并重新search下一个。

我还假设有DVD映像包含所有必要软件包的原始版本,而gcc是我期望成为的一部分。

请注意,如果您位于本地区域内(是吗?),那么您实际上并不需要访问Internet以使用pkg命令,或者更准确地说,该区域不需要它。 原因在于IPS(在区域内使用时)自动将全局区域的IPS用作代理服务器。 但是,当然,如果即使全球区域没有互联网接入,那么你需要遵循jlliagre的答案。

你可以看看这个贴子 ,以便在Solaris 11上实际安装的东西。这将是几个pkg命令,你就完成了!

一种select是从www.UNIXPackages.com获取所需的软件包(需要订阅),并且可以将单个文件下载到一台机器上(Linux),刻录到DVD,然后移动并安装到Solaris 11机。

没有互联网连接到Solaris 11机器是必要的。 更新和其他添加将是很容易在未来做。

这是UNIX Packages在IPS和OpenCSW上的优势之一。 随时在unixpackages点com发送技术问题支持。

我有一个类似的问题,并使用另一个系统连接到互联网和支持回购。 快速总结的步骤如下。 但是,请注意,您可能会遇到依赖性和版本问题,因此build议使用reco'd / preferred方法来构build完整的本地回购服务器 – 尤其是在您的系统希望保持与支持回购服务器断开连接的情况下。

//获取iperf pkg并保存为/tmp/iperf.p5p

pkgrecv -s https://pkg.oracle.com/solaris/support/ -d /tmp/iperf.p5p -a -r pkg://benchmark/iperf

//检查包装的内容:

pkgrepo -s /tmp/iperf.p5p list

//或者你可以使用:

pkg list -f -g /tmp/iperf.p5p

//我必须禁用solaris发行者才能安装pkg set-publisher --disable solaris

// Sneaker-net将p5p文件连接到断开连接的系统

//安装pkg(s):

pkg install -g file:///tmp/iperf.p5p benchmark/iperf