2010-04-19 36 views
2

我們有2種不同的編輯機器:red hat as4和as5。我們的架構師要求我們,開發者每次在這兩個平臺上編譯我們的程序,然後將它們複製到各自的生產機器上。什麼可以防止在不同的平臺上編譯的Linux發行版上運行二進制文件?

什麼能阻止我們在一臺機器上編譯我們的應用程序(比方說紅色例如是4)並在所有目標平臺上部署該二進制文件?

你的觀點是什麼?你能指出你遇到的具體問題嗎?我這樣做可能會遇到什麼問題?

回答

3

通過構建一個系統並在另一個系統上運行,您可能會遇到共享庫不兼容問題。在連續版本的紅帽之間不太可能,但它是可能的。

您可能遇到的另一個問題是,如果一個系統是32位而其他64位。在這種情況下,在64位機器上編譯的應用程序不會在32位機器上運行。

3

預防?沒有。在EL4上運行的應用程序也應該在EL5上運行,禁止外部應用程序等不同版本或庫被廢棄。但是,Red Hat喜歡對gcc進行各種調整,涉及安全性和代碼優化,如果您只是複製EL4編譯的二進制文件,您將錯過EL5中的任何改進。

此外,everyone needs a break

-1

哇,編譯的東西,然後開發人員將二進制文件複製到生產?這是一個非常糟糕的過程,你已經到了那裏。

當然,您可以在RHEL 4和5上運行相同的二進制文件,前提是它們是相同的體系結構,並且安裝了依賴關係。

我強烈建議您將二進制文件構建到RPM中,然後可以爲其創建依賴項,這將確保只有在依賴性得到滿足時才能安裝它。

此外,它將使您的QA團隊**能夠安裝相同的二進制文件,並在非生產系統等上執行測試,在他們將軟件放置在Ops團隊附近的任何地方之前,他們肯定會這樣做***知道相關流程(包括測試)已經完成,然後他們將部署它們。

**你有其中之一,正確的

***當然你有其中之一!

相關問題