我这里遇到了一个小问题:我获得了亚马逊免费使用套餐来测试它,在欧盟西部服务器上启动了 ami-465c6932(Ubuntu 10.10 32 位 iirc)。我安装了 postgresql 并确保它使用 EBS 持久化。到目前为止一切都很好。问题是我现在需要安装 java(因为我想使用 tomcat 部署 JEE 应用程序),所以我执行了“sudo apt-get install openjdk-6-jdk”,但它在某个时候冻结了。现在重新启动后,它告诉我我需要执行“sudo dpkg --configure -a”,我照做了。问题是它也冻结了:
ubuntu:~$ sudo dpkg --configure -a
Setting up ca-certificates-java (20100412) ...
creating /etc/ssl/certs/java/cacerts...
done.
Setting up openjdk-6-jre-headless (6b20-1.9.1-1ubuntu3) ...
这种情况已经持续了大约 15 分钟。我是不是搞砸了什么?我能做些什么来真正将我心爱的 Java 安装到云端吗?
@Edit:好的,我发现这是微实例的一个已知错误,下面是解决方法http://ubuntu-smoser.blogspot.com/2010/10/how-to-rebundle-ubuntu-1010-maverick.html
答案1
我也遇到过这个问题,我敢打赌,免费的微型实例没有足够的 RAM。同样的安装在小型实例上运行得很好。
现在,我并不是说 613 MB 的 RAM 不足以在该实例上运行 Java。我认为 Ubuntu 软件包尝试使用较大的堆大小启动 JVM,而该堆大小不适合该实例。
我在微型实例上运行 Java 的方式是自己使用 Sun(呃……Oracle)包安装 JDK。获取它这里然后自行运行安装程序。请注意,您可能需要手动将 Java 二进制文件添加到 PATH。
我对上述堆大小的猜测来自于这样一个事实:如果我手动安装 Java 并启动一个具有巨大堆大小(比如 1 GB)的 VM,实例将以完全相同的方式挂起。
祝你好运!