我需要Java 1.7在多台机器上安装,因此我想使用脚本来完成它。问题是安装要求某些选项(具体为“Y”,然后“确定”,最后“是”)。我遇到了这个问题:
我很确定这个过程是一样的。但我不知道OP是如何知道变量名称(?)等的postfix postfix/mailname。
如果有人可以提供更直接的答案,将不胜感激。
编辑1:
我尝试将警报级别设置sudo dpkg-reconfigure debconf为non-interactive并选择为critial。然后我尝试执行sudo apt-get install oracle-java7-installer并得到这个错误:
Need to get 0 B/18.6 kB of archives.
After this operation, 193 kB of additional disk space will be used.
Preconfiguring packages ...
(Reading database ... 47992 files and directories currently installed.)
Unpacking oracle-java7-installer (from .../oracle-java7-installer_7u51-0~webupd8~4_all.deb) ...
oracle-license-v1-1 license could not be presented
try 'dpkg-reconfigure debconf' to select a frontend other than …Run Code Online (Sandbox Code Playgroud) 如果您想在您的 Linux(或其他 Unix)服务器机器上使用一个实用程序,并且它需要 Java,而您的服务器上没有其他应用程序需要 Java,您是否会因为必须安装它而被关闭?
也就是说,您是在查看该依赖项并认为“膨胀,安全隐患,另一个我必须维护的系统”,还是在这一点上 Java 如此安全和无处不在,以至于根本没有问题?
我安装了 Jaunty Alpha,随之而来的是 Subversion 1.6。
我的 IDE(Intellij Idea 7)不支持 Subversion 1.6,所以我想将我的 Subversion 降级回 1.5 版。
我怎样才能做到这一点?
JDK6的安装步骤为:
非常简单,但是:
下面的答案是社区维基的答案,旨在进行编辑。
在 Solaris10 sparc 服务器上安装 JDK 时,您有什么我们都应该知道的评论/备注吗?
我通常是 Windows 用户,目前正在使用 PuTTY 连接到运行 Fedora 8 的无头 linux 机器。我需要下载最新的 JDK 并安装它,但我必须使用命令行来完成。
我怎样才能做到这一点?
我设置了环境变量来设置 JAVA_HOME。
问题是,java 安装在 c:\program files\blah\blah\
(注意文件夹路径中的空格)。
所以这有效:
"%JAVA_HOME%\bin\java" -version
Run Code Online (Sandbox Code Playgroud)
但没有引号它没有。
我需要将 java 文件夹移动到一个目录,如:c:\java\
移动它会破坏任何东西吗?
我只是卸载并重新安装,该死的事情甚至没有问我想在哪里安装它!
使用来自 java.com 的 xxx.rpm.bin 安装程序安装 java sun jdk 1.6.x 非常容易,但它会强制您在安装过程中按“Enter”以获得许可协议。这对我来说是个问题,因为我需要创建脚本来自动安装 java jdk。有谁知道如何避免这个问题?谢谢。
由于某种原因,我的 cronjob 无法正常工作:
4 20 * * * /home/ubuntu/db_backup/myScript.sh 1 > /home/ubuntu/db_backup/cron_log.txt
Run Code Online (Sandbox Code Playgroud)
我的 bash 脚本如下所示:
#! /bin/bash
mysqldump -h anotherhost -P 3306 -u usen -pmypass --all-databases > $1.sql
java -jar myJar.jar param1 $1.sql
Run Code Online (Sandbox Code Playgroud)
所以 jar 文件接受 2 个参数,第一个我希望始终相同,第二个来自第一个 bash 参数。在 /var/spool/mail/ubuntu 我看到这个错误:
无法访问 jarfile myJar.jar
我在用户下设置了 crontab:ubuntu
jar 文件的所有者和组是 ubuntu,它的八进制权限为 700。
我究竟做错了什么?
我刚刚在 Debian Wheezy 上安装 activemq 经历了很多痛苦。apt-get install activemq安装了很多软件包 - openjdk-jre + 大量库,据我所知,所有这些都最终在 /usr/share/java 中。使用完全基本的配置,activemq 可以正常启动,但是一旦我将任何身份验证或授权部分添加到我的配置中,它就会出现org.objectweb.asm.commons.EmptyVisitor. 这个类肯定是由 /usr/share/java/asm3-all.jar 提供的,它很高兴地安装在我的系统上,大概是由于 activemq 包中指定的依赖关系。
那么什么给呢?经过更多的挖掘,事实证明,运行 activemq 所需的大多数 jar也直接安装在/usr/share/activemq/lib其中 - 包括 asm3.jar,但至关重要的是,不是 asm3-all.jar,其中包括有问题的类。作为一项实验,我将 jar 从 /usr/share/java/ 复制到 activemq lib 目录......一切正常。
所以我的问题是:如果 activemq 包实际上不使用它们中的任何一个,为什么它会在 /usr/share/java 中安装 150+MB 的 jar ?在我作为 Java 程序员的日子里,我会假设一个 Java 应用程序只需要捆绑它的所有依赖项并完成它,但是 activemq 将所有这些库作为依赖包引入的事实似乎表明有人不这么认为...或者这只是一个球?
当我运行命令时:
catalina.sh stop
Run Code Online (Sandbox Code Playgroud)
我收到错误:
org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop:
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
at java.net.Socket.<init>(Socket.java:375)
at java.net.Socket.<init>(Socket.java:189)
at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:456)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:352)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Run Code Online (Sandbox Code Playgroud)
原因是什么?谢谢。