2012-07-01 45 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發行版創建的。