2012-07-01 114 views
7

所以我想在本地编译一个Haskell程序,然后将其上传到我的EC2 Ubuntu 12.04(免费试用版)实例。如果在本地编译Haskell,EC2 Ubuntu 12.04是不同的?

我的问题是,如果我在官方的Ubuntu 12.04发行版(比如在virtualbox中)编译我的haskell程序,它会在EC2上工作吗? 或者我需要与亚马逊运行的Ubuntu版本完全相同的版本吗?它是否必须具有完全相同的一组更新等。?

P.S.如果是的话 - 我从哪里获得亚马逊的Ubuntu版本?

谢谢!

+1

我不知道这个问题的正确答案,但是您可以使用ldd来检查您的可执行文件希望存在的库(和版本),并确保Amazon的Ubuntu具有这些库。 –

回答

10

我经常这样做,它应该工作得很好。只要确保你使用相同的体系结构(32位或64位)。

你可以得到不同的Ubuntu的AMI的列表:

https://help.ubuntu.com/community/EC2StartersGuide

+0

谢谢!但为什么我需要一个ubuntu AMI列表?我的意思是我知道我的实例使用哪个AMI,只需在控制面板中检查它,对吧? – drozzy

+0

对不起,我以为你的PS要求提供AMI列表,我明显误解了。 –

+0

尝试在我的Ubuntu 12.04上的Virtualbox编译,然后复制到Ec2 Ubuntu 12.04安装 - 它的工作原理! – drozzy

0

如果您使用的是Ubuntu官方的AMI从https://cloud-images.ubuntu.com/releases/,你有相同的二进制文件的正式Ubuntu发行版(只要因为架构是相同的:32位或64位)。唯一的区别应该是默认安装哪些软件包(因此您可能需要安装一些额外的软件包)。只要两者都保持更新,两者都将具有完全相同的一组更新。

即使您使用其他人创建的AMI,它也应该是相同的;我相信大多数Ubuntu AMI都是通过安装官方的Ubuntu发行版创建的。