自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

將Solaris移植到Linux上

運(yùn)維 系統(tǒng)運(yùn)維
solaris是Unix操作系統(tǒng)衍生出的版本之一,屬于混合開源軟件。如何將Solaris移植到Linux上?本文主要講的是在Linux上構(gòu)建,并測試Solaris。

  如果應(yīng)用程序只使用標(biāo)準(zhǔn)語言構(gòu)件和標(biāo)準(zhǔn)庫,而且并不一定要在SPARC處理器上的SolarisS下運(yùn)行,那么移植就相對(duì)容易一點(diǎn)。舉例來說, Java 應(yīng)用程序通常就屬于這個(gè)范疇。另一方面,如果應(yīng)用程序不使用Solaris上的POSIX服務(wù)的C程序,或者依賴于Linux上沒有的第三方產(chǎn)品,那么移 植工作就困難多了。當(dāng)移植應(yīng)用程序時(shí),很多情況下都是在將不可移植的方法和附屬物替換成可移植性更好的東西。您會(huì)將Solaris構(gòu)建工具替換成GNU工 具,并使用與POSIX相容的線程庫代替Solaris中對(duì)應(yīng)的庫。因?yàn)檫@些工具和接口在Solaris上也能找到,所以您可以繼續(xù)自由地使用 Solaris,甚至在將開發(fā)平臺(tái)移植到Linux之后繼續(xù)把握Solaris市場。

一、在Solaris上用GNU構(gòu)建C/C++應(yīng)用程序

  GCC(GNU Compiler Collection)工具套裝包括一個(gè)C編譯器和一個(gè)C++編譯器。因?yàn)镾olaris和Linux中都有GNU編譯器和make實(shí)用程序,所以要用這些工具開始構(gòu)建應(yīng)用程序相對(duì)來說比較容易。

  首先,請(qǐng)下載GNU工具,并將它們安裝在Solaris上。然后,請(qǐng)?jiān)囍肎NU gmake實(shí)用程序(而不是Solaris make實(shí)用程序)來構(gòu)建應(yīng)用程序。因?yàn)镚NU gmake實(shí)用程序與Solaris make實(shí)用程序有所不同,所以根據(jù)您的make文件中使用的構(gòu)件,會(huì)碰到GNU gmake實(shí)用程序生成的一些錯(cuò)誤消息。請(qǐng)使用上面的make工具文檔鏈接來識(shí)別make文件中的問題區(qū)域,并相應(yīng)地調(diào)整make文件。一旦將make文 件修改為使用 gmake,請(qǐng)?jiān)趍ake文件中將被調(diào)用的C編譯器的名稱從cc改為gcc,并將C++編譯器的名稱從CC改為g++。

  然后重新構(gòu)建應(yīng)用程序,在構(gòu)建過程中會(huì)碰到的錯(cuò)誤消息(如果存在的話)可以分為兩類:命令行選項(xiàng)問題和代碼問題。請(qǐng)辨別出那些由于 GNU和Sun編譯器接受的命令行選項(xiàng)中有所區(qū)別而產(chǎn)生的消息。除了少數(shù)幾個(gè)基本選項(xiàng)(如“-c”和“-g”)之外,編譯器接受的多數(shù)選項(xiàng)都不同。

  下面,就可以處理剩下與代碼相關(guān)的錯(cuò)誤消息和警告信息了。處理這些消息的一種簡單的方法是將它們捕獲在一個(gè)文件中,并逐個(gè)檢查。請(qǐng)使用上面的編 譯器文檔鏈接來了解和處理編譯器之間不同的問題。在移植到Linux和將應(yīng)用程序鏈接到開放源代碼庫時(shí),請(qǐng)注意與這些庫相關(guān)的許可證和版權(quán)。新移植的 C/C++應(yīng)用程序至少將被鏈接到GNU C/C++運(yùn)行時(shí)庫,這些庫受GNU“copyleft”許可證的保護(hù)。如果正在移植的軟件有專有屬性,而且您打算在用GNU工具構(gòu)建該軟件之后馬上出售 它,那么最好謹(jǐn)慎地全面理解GNU通用公共許可證和GNU次通用公共許可證中規(guī)定的條款和條件。一旦軟件被鏈接到由這些許可證保護(hù)的庫上,GNU許可證中 的某些條款和條件就將沿用到您的軟件上。

二、在Linux上構(gòu)建并測試應(yīng)用程序

  有一種不常見的情況,那就是被移植的應(yīng)用程序有對(duì)SPARC硬件特定的附屬物,這時(shí)第2個(gè)步驟就變成移植過程中重要的中間階段了。它使 Solaris開發(fā)者能夠在不放棄底層SPARC硬件和不修改應(yīng)用程序中特定于SPARC的部分的前提下熟悉Linux環(huán)境。請(qǐng)下載可以在您的Sun硬件 上運(yùn)行的Linux版本,然后安裝操作系統(tǒng),使用所提供的GNU工具重新構(gòu)建應(yīng)用程序。因在第2個(gè)步驟中使用GCC構(gòu)建了應(yīng)用程序,所以在第2個(gè)步驟中將 碰到的區(qū)別將被限制到Solaris和Linux之間的運(yùn)行時(shí)應(yīng)用程序編程接口(application programming interface,API)的區(qū)別。

三、為其它硬件構(gòu)建和測試應(yīng)用程序

  在遷移過程的最后一個(gè)步驟中,首先請(qǐng)獲取并在您選擇的目標(biāo)硬件上安裝Linux??梢灾苯邮褂肔inux的服務(wù)器有IBM基于英特爾 IA32的產(chǎn)品系列(包括 NetVista、IntelliStation、Netfinity)和IBM eServer xSeries。IBM pSeries和zSeries也可以使用Linux。您可以低價(jià)購得或免費(fèi)下載流行的用于x86的Red Hat Linux分發(fā)版,而且它在幾乎任何一臺(tái)基于英特爾處理器的PC機(jī)上都很容易安裝和設(shè)置。此外,一定要安裝將使用的編譯器和工具。

四、其它注意事項(xiàng)

  系統(tǒng)管理總的來說,管理Linux與管理任何其它UNIX操作系統(tǒng)幾乎一樣,只是在某些具體的命令和任務(wù)上有一些區(qū)別,IBM和 UNIXGuide已經(jīng)發(fā)布了比較圖,總結(jié)了這些區(qū)別,其中不僅包括Solaris和Linux之間的區(qū)別,還包括AIX和其它版本的UNIX之間的區(qū) 別。有經(jīng)驗(yàn)的Solaris系統(tǒng)管理員不必花費(fèi)太大氣力就能夠完全適應(yīng)Linux。

  源代碼管理 對(duì)于目前正在使用Solaris上的Sun Forte TeamWare或者SCCS(Source Code Control System,源代碼控制系統(tǒng))并希望繼續(xù)使用SCCS這種風(fēng)格的源代碼管理系統(tǒng)的開發(fā)者來說,他們可以試著使用GNU CSSC(Compatibly Stupid Source Control),開放源代碼SCCS的克隆版本。CVS(Concurrent Versions System)是Linux上更常用而且倍受推崇的源代碼管理系統(tǒng)。

  其它第三方工具、實(shí)用程序和庫 Solaris上有很多常見、流行的第三方工具、實(shí)用程序和庫,它們都可以在Linux上使用。鑒于Linux的日益普及,支持Linux的第三方供應(yīng)商的數(shù)目每天都在增長。

  64位計(jì)算 Red Hat和很多其它發(fā)行商為Compaq/DEC Alpha提供了一種64位版的Linux。您可以在AlphaLinux Web站點(diǎn)上了解關(guān)于這種Linux的其它信息。64位的Solaris和64位的Linux/Alpha都使用LP64數(shù)據(jù)模型,它能夠帶來很好的兼容 性。不久,英特爾安騰64位處理器也能夠使用一種64位版的Linux。您可以在IA-64 Linux Project Web站點(diǎn)了解關(guān)于這種Linux的更多信息,此外,一種支持IBM 64位PowerPC體系結(jié)構(gòu)的Linux也在開發(fā)之中。 請(qǐng)注意,盡管SuSE Linux/UltraSPARC的內(nèi)核運(yùn)行在64位的模式中,但SuSE Linux/UltraSPARC目前并不支持64位的用戶空間應(yīng)用程序。

  端(Endian)格 Sun SPARC和UltraSPARC處理器以大端(Big Endian)格式存儲(chǔ)整數(shù)。如果希望將應(yīng)用程序移植到小端(Little Endian)版本的Linux(如 Linux/Intel)上,就必須解決應(yīng)用程序中任何與端格式有關(guān)的問題,應(yīng)用程序才能夠正確運(yùn)行。也可以選擇讓應(yīng)用程序使用 Linux/PowerPC、Linux/zSeries或Linux/SPARC,它們都是Linux/Intel之外的大端平臺(tái)。

【編輯推薦】

  1. Linux操作系統(tǒng)中運(yùn)行ASP.NET 4
  2. Linux操作系統(tǒng)內(nèi)核工作原理介紹
  3. 從Solaris遷移Perl腳本到Linux
  4. 甲骨文發(fā)布Solaris 11 Express(附下載)
  5. OpenSolaris后繼者初探:OpenIndiana的無線網(wǎng)絡(luò)管理
  6. OpenSolaris xVM hypervisor配置實(shí)戰(zhàn)

 

責(zé)任編輯:zhaolei 來源: IT專家網(wǎng)
相關(guān)推薦

2021-01-19 15:57:53

CorelliumMacLinux

2011-10-17 10:25:09

SiriiPhone4

2011-10-09 12:59:54

DtraceLinux甲骨文

2012-05-18 11:12:09

TitaniumMetro UIiOS

2010-11-22 09:36:37

Perl腳本SolarisLinux

2022-01-16 08:09:03

微軟DirectXLinux

2021-03-18 09:17:00

LinuxM1 Mac蘋果

2017-09-17 12:21:52

移植Linux系統(tǒng)sqlite3

2023-06-07 09:00:00

JavaScript開發(fā)TypeScript

2011-05-04 09:29:22

2011-07-11 16:10:38

SQL移植Oracle數(shù)據(jù)庫

2011-07-11 15:23:37

Sql DevelopOracle Migr

2011-07-11 16:47:57

數(shù)據(jù)庫移植SQL ServerOracle

2011-07-11 17:44:07

SQLOracle標(biāo)識(shí)符

2011-07-11 18:22:34

2009-03-14 09:31:50

企業(yè)軟件移植智能手機(jī)

2011-10-31 09:32:31

SiriiPhone 4Touch 4

2011-12-09 21:10:50

Android

2015-08-07 13:23:27

bridgeios應(yīng)用移植

2010-07-27 09:07:51

Solaris 10IBM終止
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)