问题标签 [solaris-10]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gcc - Solaris 10 上的 gcc 编译错误
我想编译一个源代码,但是关于__sync_xxx
函数(__sync_bool_compare_and_swap
等)有一些编译错误
机器上的 GCC 版本是 3.4.3(它必须是 gcc 4.1 或更高版本才能支持原子内置),所以我下载了 GCC v4.6,将其复制到另一个目录(我没有删除 v3.4.3)然后更改$PATH
路径对于 GCC 但它不起作用(发生相同的错误)。
我想问一下,只是改变 gcc 路径export PATH=...
足以用新的 GCC 编译吗?
bash - PS1='$PWD $' 在 shell 脚本中不起作用
我不是 Solaris 专家,我正在尝试创建一个 shell 脚本,它将我的提示更改为 PWD,将 ksh 更改为 bash,我有这个:
PS1='$PWD $' exec bash --noprofile --rcfile /dev/null
或者
PS1='\w $' 执行 bash --noprofile --rcfile /dev/null
他们两个都不是从 sh 工作的。如果我从命令行添加它们,那么我的 bash 第一次出现在提示符上,第二次 PS1='$PWD $' 启动并且我的提示符发生变化。
首先,为什么 PS1='$PWD $' 不能从 shell script 工作。以及为什么我必须从命令行运行命令两次才能获得我的结果。
此外,在我的 export/home/syed/ 目录中有三个文件 local.login、local.profile 和 local.cshrc。有什么方法可以使用它们,当我登录时,我不需要运行我的 shell 脚本,登录后我会得到 bash shell 和我想要的提示(我要求太多了,我不喜欢 ksh没有任何功能,如向上箭头召回最后一个命令和选项卡自动完成功能)
谢谢赛义德...
jruby - 在 Solaris 上使用 JRuby 的 Rails 3.2
有没有人设法让 Rails 3.2 使用 JRuby 在 Solaris-10 上工作?
我们似乎陷入了一个令人讨厌的依赖漩涡。Rails 3.2 需要 JRuby 1.6.6 或更高版本,根据:Using JRuby with Rails 3.2
但是 JRuby 1.6.5 是最后一个可以在 Solaris 上成功安装 gems 的版本:http: //jira.codehaus.org/browse/JRUBY-6494
有没有可能有补丁或者我们没有想到的东西?
java - 如何在 Oracle VM 上运行命令
我们的 Solaris 机器中安装了 oracle 虚拟机。(我们需要只能安装在 Windows 上的 waptpro 工具)。所以,我们在 oracle 虚拟机上安装了这个工具。
现在我的 solaris 机器上有一个 java 代码。我需要从 solaris 机器上执行 waptpro 工具。如果有任何命令可以在 oracle 虚拟机上从 solaris 运行命令,我可以将其集成到我的 javacode 中
所以,如果有人知道如何在 oracle 虚拟机上从 solaris 执行命令,请告诉我。
java - glassfish v3“无法找到请求目标的有效认证路径”
我意识到这个问题可能看起来是重复的,但我浏览过的线程似乎都没有解决或帮助我的情况。
几天来,我一直在尝试创建自签名 SSL 证书。需要该证书才能访问必须通过 HTTPS 提供 WSDL 文件的 glassfish 域。我在 Solaris 10 上使用 Glassfish 3.1.1,它不使用默认的 SSL 端口 (443)。目前,它正在使用 8181。
SSL 证书对用于访问它们的主机名非常特别。证书需要跨多个网络区域有效;因此 glassfish 域具有多个与之关联的不同 IP。据我所知,主机名(我们称之为 foobar)在服务器本身之外是不可访问的。
经过大量研究后,我决定我需要生成一个自签名证书,其中包含指示这些 IP 的主题备用名称。以下是我采取的步骤。
使用 SAN 生成证书的最简单方法是下载 Java 7,其中包括具有此功能的 keytool 实用程序。从 Oracle 网站下载 JDK 1.7.0_04 并安装在 foobar 中。
导航到 glassfish domain1 配置目录,例如 /opt/glassfish3/glassfish/domains/domain1/config
(以下内容根据 Oracle Glassfish 3.1 文档修改: http: //docs.oracle.com/cd/E18930_01/html/821-2435/ablqz.html)
在密钥库中生成证书。注意:每个 glassfish 域都有自己的密钥库;下面的证书是为 domain1 生成的,它与 HTTPS 端口 8181 相关联。
keytool -genkey -alias foobar -keyalg RSA -dname "CN=foobar, OU=xxxxxxx xxxx, O=xxxxxxxxxx, L=xxxxx xxx, S=xx, C=xx" -ext "SAN=IP:12.34.56.78,IP:99.88.77.66" -keypass changeit -storepass changeit -validity 3650 -keystore keystore.jks
将生成的证书导出到文件(在本例中为 foobar.cer)
keytool -export -alias foobar -storepass changeit -file foobar.cer -keystore keystore.jks
将证书作为可信证书导入 cacerts。执行此操作两次,一次用于 Glassfish cacerts 文件,一次用于 foobar 上的 Java JRE cacerts 文件。
keytool -import -v -trustcacerts -alias foobar -file foobar.cer -keypass changeit -storepass changeit -keystore cacerts.jks
在 /usr/java/jre/lib/security 中:
keytool -import -v -trustcacerts -alias foobar -file foobar.cer -keypass changeit -storepass changeit -keystore cacerts
以防万一,我还下载了证书并将其导入到将访问 HTTPS 的 Windows 工作站上的 Java JRE cacerts 文件中(可能没有必要)。
在 C:\Program Files\Java\jre\lib\security 中:
keytool -import -v -trustcacerts -alias foobar -file foobar.cer -keypass changeit -storepass changeit -keystore cacerts
重新启动 glassfish domain1。
asadmin restart-domain domain1
重启完成后,测试连接。在我的情况下,我去我的 Windows 工作站,在那里我在 Netbeans 中加载了 Java 应用程序。我通过 HTTPS 在需要 WSDL 的地方运行测试,并
https://12.34.56.78:8181
作为源输入。
这给了我以下错误:
如果我改为使用域 1 的默认 Glassfish SSL 证书,则会收到一个错误,指示不存在主题备用名称。这就是为什么我首先遇到了重新生成证书的麻烦。
据我所知,将证书导入为受信任的 CA 证书应该可以解决此“无法找到有效的证书路径”错误。我承认我不是网络专家,但到目前为止我的所有研究都表明情况确实如此。我不确定这里的问题是否是因为我使用的是非标准 SSL 端口(必须添加 :8181 可能会导致与 SAN IP 不匹配)。我还没有尝试过。但是有没有办法在 CN 或 SAN 中为 IP:Port 组合生成自签名证书?
谢谢...帮助将不胜感激!
PS 如果需要,我可以提供应用程序代码。
ruby-on-rails - 在 solaris 10 上执行 setuid 脚本时,rails 3.2.1 rails runner 失败
我们需要使用基于大型机的调度程序而不是 cron 来执行实用程序任务。此调度程序与主机上的代理通信,然后执行通用 setuid ksh 脚本,该脚本将实用程序与所需的任何参数一起作为参数执行。setuid ksh 脚本然后调用另一个脚本及其参数。
在我的例子中,下一个脚本 ( execute_something.ksh
) 将一些环境变量cd
s 设置为 Rails 根目录,并rails runner Module.function -e <environment>
在 environment 是传递的 arg 的位置执行。
所以那是:
当我像我自己一样直接调用时execute_something.ksh
,它工作正常。当我调用 setuid 脚本时,出现以下错误:
/[path]/bin/rails:15:in `force_encoding': 未知编码名称 - 来自 /[path]/bin/rails:15:in main 的 BINARY (ArgumentError)
这不是权限问题。所有涉及的文件要么归 setuid 用户所有,要么拥有 setgid 组的完整组权限并属于该组。(是的,矫枉过正,但这就是我得到的。)
setuid 脚本继承了我的环境(除了存在 setuid 用户的 EUID)。
此外,正在执行的 rails 脚本与安装在我的 linux 笔记本电脑上的脚本不同(我确实提到这是一个 solaris 问题)。
rails 脚本是:
这对我有用。我明确删除了对我的主目录沙箱的所有引用PATH
-LD_LIBRARY_PATH
它仍然适用于我,而不适用于 setuid 用户。
我无权更改全局环境中的内容 - 我必须提出请求并等待。没有办法改变模块必须执行的方式。
请有人 - 给我一些想法?我不认为这适用于很多人,但这不是一个有趣的谜题吗?
TIA。
卡里达
c - 警告:不正确的指针/整数组合:op“=”
我在 Solaris 中编译了一个 C 程序并收到此警告。
我的代码包含
第 68 行是
结构 cmsghdr 和 CMSG_FIRSTHDR 在 socket.h 中定义为
我在我的代码中包含了 socket.h。但我仍然收到此错误。
java - 获取 Java 中的硬链接计数
我需要一些东西来从java中的solaris10 os中的文件中获取硬链接计数。
解析 ls -l 不是一种选择。
我尝试使用 posix for java http://bmsi.com/java/posix/index.html但无法使其正常工作。
是否有任何其他轻量级 API 或代码来获取此信息?
database - 在 Solaris 10 上安装 Oracle11g
我正在本地 sun 机器上的 Solaris 10 上安装 Oravcle 11G。我已遵循 oracle 文档中提供的所有 pre-req 步骤,但毕竟当我尝试使用 oracle 用户运行安装程序时。安装程序检查 pre-reqs 并给我以下错误:
检查监视器:必须配置为以 256 色显示。无法使用命令 /usr/openwin/bin/xdpyinfo 执行自动检查显示颜色。检查是否设置了 dsiplay 变量
设置显示变量我使用了以下命令: $DISPLAY=localhost:0.0 export DISPLAY
如果我忽略此错误继续安装,它会说:
准备从 /tmp/OraInstall2012-07-12_05-57-10PM 启动通用安装程序。请稍候...$ Xlib:服务器拒绝连接到“localhost:0.0” Xlib:客户端无权连接到服务器。
请不要让我在 sun 服务器上本地执行安装。
bash - Solaris10:如何在 inted-started bash 脚本中获取远程端 IP 地址?
在 Solaris 10 主机上,配置了一个 inetd 服务,以在它获得到预配置端口/服务的传入 TCP 连接时启动 bash 脚本。有没有办法在调用的 bash 脚本中找到远程客户端的 IP 地址?
如果我使用的是 GNU 版本的 inetd,我会使用--environment
命令行标志。但是我使用的是默认的 Solaris 版本的 inetd/inetadm,它似乎不支持这个标志。有与此设置等效的 Solaris 吗?
我还假设在0 ( ) 或 1 ( )getpeername(2)
上调用会返回所需的信息,但我正在运行一个 bash 脚本,我似乎没有找到一种方法来调用from bash 的等价物。fd
stdin
stdout
getpeername(2)
我唯一的选择是调用 C 包装器,将getpeername(2)
其存储在环境变量(或命令行参数)中,然后调用主 bash 脚本?
谢谢!