如何在Solaris10 sparc 64bits上安装JDK6?

JDK6的安装步骤为:

  • Solaris 32位
  • Solaris 64位

非常简单,但是:

  • 在两个单独的文件
  • 不要处理本地区域(容器)的安装
  • 不要处理完全不标准的安装path

下面的答案是一个社区维基的一个,意图进行编辑。

在Solaris 10 sparc服务器上安装JDK时,您是否有任何意见/评论?

自2009年(我的第一个答案 ),我发现自解压脚本完全兼容非标准path(例如在用户的$HOME/usr/local安装JDK,而不是系统path/usr/local

最新的Oracle JDK下载页面列出:

 Solaris SPARC - Self Extracting Binary 86.05 MB jdk-6u26-solaris-sparc.sh Solaris SPARC 64-bit - Self Extracting Binary 12.24 MB jdk-6u26-solaris-sparcv9.sh 

你需要小心,如果你从Windows复制到你的服务器(例如winscp ):你需要将这两个sh脚本复制为二进制文件 (或者一旦在Unix服务器上复制,它们将不能工作)。

一旦在服务器上,你需要chmod 755两个.sh (第二个只有当你有一个64位的Solaris时才需要)。
执行它们(例如在$HOME/usr/local ,作为用户而不需要任何root权限 ),首先执行jdk-6u26-solaris-sparc.sh ,然后根据需要执行jdk-6u26-solaris-sparcv9.sh

这将创build一个$HOME/usr/local/jdf1.6.0_26 ,您可以在其中完全运行JDK。

  • 没有根权限(与pkgadd相反)
  • 没有修改环境variables:如果要使用特定的JDK,则需要将$HOME/usr/local/jdf1.6.0_26/bin$PATH ,但重点是:
    此安装不会打扰您当前的任何环境设置。
    (注意: JAVA_HOME当然没有设置,但它永远不会被任何安装过程 )

更新2011年:看我更新的答案 :没有更多的sudo pkgadd必要的。


2009年的第一个答案:

有两种安装JDK的方法:

  • 自解压二进制(shell脚本)
  • Solaris软件包( pkgadd命令)

由于自解压二进制文件不是要configuration为安装在非标准path,所以我会推荐后者(包)。

你需要下载

  • jdk-6u16-solaris-sparc.tar.Z (主包,用于32位安装)
  • jdk-6u16-solaris-sparcv9.tar.Z (小包装,用于64位附加步骤安装)

由于这些压缩存档的内容提取直接在当前目录中创build文件,我build议将每个存档移动到其专用存储库中

 $ mkdir jdk-6u16-solaris-sparc $ mv jdk-6u16-solaris-sparc.tar.Z jdk-6u16-solaris-sparc $ cd jdk-6u16-solaris-sparc $ zcat jdk-6<update>-solaris-sparc.tar.Z | tar -xf - $ cd .. $ mkdir jdk-6u16-solaris-sparcv9 $ mv jdk-6u16-solaris-sparcv9.tar.Z jdk-6u16-solaris-sparcv9 $ cd jdk-6u16-solaris-sparcv9 $ zcat jdk-6<update>-solaris-sparcv9.tar.Z | tar -xf - 

在文档中没有提到的情况是,当您需要本地安装(在本地区域中)时,与已经安装在/usr/java/usr不能从本地区域写入的)中的全局JDK分离。

pkgadd的“ -R ”选项在这种情况下派上用场。

 $ cd jdk-6u16-solaris-sparc $ sudo pkgadd -R /MY_REP -d . SUNWj6rt SUNWj6dev SUNWj6cfg SUNWj6man SUNWj6dmo $ cd ../jdk-6u16-solaris-sparcv9 $ sudo pkgadd -R /MY_REP -d . SUNWj6rtx SUNWj6dvx SUNWj6dmx 

这里JDK6安装在:

 /MY_REP/usr/jdk/instances/jdk1.6.0 /MY_REP/usr/java -> jdk/jdk1.6.0_16/ /MY_REP/usr/jdk/jdk1.6.0_16 -> instances/jdk1.6.0/ 

Sun文档中提到,不需要“root shell”(反正是“邪恶的”):
一个“ sudo root pkgadd ”就足够了。