我是亚马逊ec2设置的新手。
我现在已经根据自己的口味设置了一台机器 - 我现在想把它捆绑起来。
我正在从已启动的实例运行以下命令 -
root@domU-21-34-67-26-ED-Z4:~# ec2-bundle-vol -r i386 -d /mnt \
-p ACT-VOL -u 8940-1355-4155 -k /tmp/pk-key.pem \
-c /tmp/cert.pem -s 10240 \
-e /mnt,/root/.ssh,/home/ubuntu/.ssh
ruby: No such file or directory --
/home/ubuntu/ec2tools/ec2-api-tools-1.3-46266/lib/ec2/amitools/bundlevol.rb (LoadError)
ruby版本是1.8.7。我搜索互联网并安装了libruby1.8-extras等,但无济于事。我也试过从site_ruby(/ usr / local / lib / site_ruby)运行它 - 但没用。
我尝试安装1.8.6版本的ruby,但也无法找到办法。
非常感谢任何帮助。
谢谢, ķ
编辑:还有一个问题是:我是否应该在本地计算机上运行此命令,还是应该在启动的实例中运行此命令?
答案 0 :(得分:0)
您遇到了一个恼人的问题,即EC2实例上默认情况下未安装EC2 AMI工具。这些工具可以通过this link获得 - 只需下载并解压缩到您启动的实例上即可。
答案 1 :(得分:0)
直接从AMI工具中的bin目录运行脚本,而不是在API工具中运行。 对于ec2-bundle-vol命令,主路径也必须设置为AMI-tools路径
答案 2 :(得分:0)
/home/ubuntu/ec2tools/ec2-api-tools-1.3-46266/lib/ec2/amitools/bundlevol.rb(LoadError)
我遇到的第一个问题是我已将EC2_HOME
和EC2_AMITOOL_HOME
个环境变量设置为指向ami-tools
中/opt
的旧位置。从我的脚本和环境中删除这些导出,一切都运行得更好。
最初我还认为这与ruby的不兼容版本存在问题。
我的解决方案是卸载juby
版本并卸载ami-tools
包(实际上是ec2-ami-tools
下的ubuntu)。然后,当我重新安装ami-tools
软件包时,它能够获取相应的ruby版本,现在一切似乎都能正常工作。
apt-get remove ruby
apt-get remove ec2-ami-tools
apt-get install ec2-ami-tools