久久中文视频-久久中文网-久久中文亚洲国产-久久中文字幕久久久久-亚洲狠狠成人综合网-亚洲狠狠婷婷综合久久久久

以文本方式查看主題

-  曙海教育集團論壇  (http://www.xinguifushi.cn/bbs/index.asp)
--  Linux應用開發(fā)  (http://www.xinguifushi.cn/bbs/list.asp?boardid=32)
----  在 Power 上使用 Linux 開放源代碼工具  (http://www.xinguifushi.cn/bbs/dispbbs.asp?boardid=32&id=1678)

--  作者:wangxinxin
--  發(fā)布時間:2010-11-23 13:14:44
--  在 Power 上使用 Linux 開放源代碼工具
本文主要介紹用于 POWER 微處理器體系結構上的 Linux 的開放源代碼工具,不過其中討論的問題對開放源代碼軟件在 Linux 中的使用都是共同的。本文中提及的所有項目都對(但不限于)POWER 上的 Linux 可用。

什么是開放源代碼?

開放源代碼軟件是現代計算環(huán)境的寶貴資源。本質上,開放源代碼軟件使得源代碼對使用軟件的任何人可用,即不對最終用戶隱藏任何內容。開放源代碼軟件不一定是免費的,雖然大多數都是免費的。許可證協(xié)議決定了軟件的使用方式;最流行的許可證是 GNU 公共許可證(GNU Public License,GPL)。

開放源代碼軟件是由許多不同的發(fā)起者所開發(fā)的,包括選擇與其他人共享其工作成果的技術愛好者所開發(fā)的項目。商業(yè)性的公司,比如 IBM,也在為開放源代碼出力,以便在社區(qū)中提供優(yōu)秀的技術,同時確保他們的專有硬件和軟件得到開放工具的支持。能夠編程、編寫文檔或執(zhí)行其他一些軟件開發(fā)相關任務的任何人,都能夠幫助創(chuàng)建開放源代碼軟件 —— 并且他們正是這樣做的!


圖片點擊可在新窗口打開查看
圖片點擊可在新窗口打開查看
圖片點擊可在新窗口打開查看
圖片點擊可在新窗口打開查看


為什么要使用開放源代碼工具?

許多人選擇開放源代碼工具是因為它們便宜(開放源代碼軟件經常是免費的,這當然非常便宜)。開放源代碼軟件還傾向于非常可靠。由于有技術興趣的任何人都能夠查看源代碼,因而可能會有數千個質量控制機構在評估代碼。程序員能夠無隔閡地直接接觸用戶,因此問題和 bug 通常是大家都知道的,從而迅速得到糾正。此外,由于沒有對用戶隱藏任何東西,這樣有利于更好的技術脫穎而出。

對于擔心安全問題的用戶,開放源代碼軟件能夠給他們帶來心靈的平靜。如果懷疑應用程序隱藏有“后門(back door)”,您可以獲得源代碼,自己檢查它,或讓您信任的人檢查它。然后您可以自己編譯該代碼,確保它和您預期的完全一樣。當發(fā)現與安全相關的缺陷時,社區(qū)會立即采取行動,并且通常會在幾小時內提供建議使用的補丁。正式的項目解決辦法可能要花稍長一點的時間,但是通常不會超出幾小時或幾天。開放源代碼軟件使您能夠在必要時對您的資源采取動作。

開放源代碼軟件還有助于確保技術不會被忽略。由于開發(fā)過程對感興趣的任何人都是開放的,您通常會找到人們?yōu)椴怀R姷挠布_發(fā)的驅動程序。此外,您還能找到由那些利用不常見協(xié)議的小社區(qū)為此類協(xié)議提供的支持。Linux 之所以在廣泛的 IBM 硬件上可用,正是由于采用了這種開放方法。這有助于保持您的硬件的生命力,同時幫助保護您避免失去對某種關鍵技術的軟件支持。如果某個項目不再提供官方支持了,您總是能夠選擇自己提供該支持!


圖片點擊可在新窗口打開查看
圖片點擊可在新窗口打開查看
圖片點擊可在新窗口打開查看
圖片點擊可在新窗口打開查看


獲得開放源代碼工具

獲得開放源代碼軟件是很容易的;Linux 內核本身就是開關放源代碼的。當您安裝 Linux 時,就開始使用開放源代碼了。除了內核外,Linux 發(fā)行套件中還包含其他許多開放源代碼包,其中包括開發(fā)工具、庫和應用程序。對于所有這些包,它們的源代碼都是可用的,您可以編譯任何包以優(yōu)化或為特定用途而自定義它。

除了發(fā)行套件中包含的包外,Internet 上還有其他開放源代碼軟件可供使用。有些是專用的項目或正處于首次開發(fā)中的新技術,而其他則是與 Linux 發(fā)行套件中包含的包相競爭的方法。這是一個思想的自由市場。成功的開放源代碼軟件通常最終會作為輔助包或公共包被接納到發(fā)行套件中。有些項目甚至被接納為 Linux 內核的一部分,此時這個單獨的項目將解散,而它的開發(fā)將作為標準內核維護的一部分繼續(xù)進行。

SourceForge

SourceForge.net(請參閱 參考資料)是一個很受歡迎的針對開放源代碼項目的知識庫。它通過易于使用的 Web 界面來組織項目,該界面具有搜索功能以幫助您查找項目。每個 SourceForge 項目都有版本歷史記錄、bug 列表、討論組、文檔,當然還包括源代碼。如果擁有自己的開放源代碼項目,您也可以利用 SourceForge。

RPM 與源代碼

無論何時只要可能,預編譯的二進制 RPM 都是在 Linux POWER 環(huán)境中使用開放源代碼軟件的最簡單方式。軟件的所有部分都以二進制的形式準備好了,只需直接安裝即可。安裝通常只需幾秒鐘就能完成,軟件馬上就可供使用了。

由于 RPM 的工作方式,系統(tǒng)將自動接受依賴關系和兼容性檢查,在軟件開始安裝之前,您會接到關于缺少某個組件的通知。此外,升級、管理和刪除 RPM 包也很簡單。無論何時只要可能,采用 RPM 都是可取的。

針對 RPM 的一個優(yōu)秀知識庫是 Rpmfind.net(請參閱 參考資料)。它具有一個來自許多發(fā)行套件的可搜索索引,以及大多數主要發(fā)行套件和升級的鏡像。為 PPC 列出的任何包都應該與 POWER 系統(tǒng)兼容。您既可以搜索包的名稱,也可以搜索某個包中包含的單獨文件。得到的搜索結果將跨越廣泛的 Linux 發(fā)行套件,包括非常罕見的發(fā)行套件。所列出的每個包通常還指向對應項目的主頁,因此如果在查找某個項目資源時遇到問題, rpmfind 可能會提供幫助。對于 POWER 體系結構,作為 PPC 包列出的所有 RPM 或許都能工作。在安裝新的包時務必細心一點。RPM 將會幫助保護您避免意外地完全摧毀系統(tǒng),不過強烈建議您使用常規(guī)的預防措施,比如制作備份以及在非生產系統(tǒng)上執(zhí)行測試。


圖片點擊可在新窗口打開查看
圖片點擊可在新窗口打開查看
圖片點擊可在新窗口打開查看
圖片點擊可在新窗口打開查看


使用源代碼

由于 POWER 體系結構上的 Linux 還比較新,并非所有開放源代碼項目擁有者都曾想到過它。因此可能還沒有對那些包可用的 RPM 包。在這種情況下,您必須自己編譯源代碼。這對于諸如 Samba 這樣成熟的項目來說通常不是一件難事,但是對于不太常見的項目來說,可能需要做更多的工作。應該對在生產系統(tǒng)上編譯源代碼保持謹慎,因為這樣可能導致問題,或者失去對正在該系統(tǒng)上運行的商業(yè)軟件的支持。

Linux 本質上在不同的體系結構上都是相同的;因此,許多項目的源代碼無需多少經驗就能成功地編譯。源代碼通常作為壓縮的 tar 文件來提供。Gzip 是最常用的壓縮方式,不過 bzip2 正在變得流行起來,因為它創(chuàng)建的壓縮文件更小一些。

首先,您必須展開壓縮包。讓我們使用 Gimp 作為一個例子。Gimp 是一個照片編輯包,它處理各種各樣的圖像格式,并且包括昂貴的商業(yè)產品中具有的功能。

圖 1. Gimp 實際應用
圖片點擊可在新窗口打開查看

要下載 Gimp 源代碼,請參閱本文后面 參考資料中指向 Gimp Web 站點的鏈接。要展開源代碼,請使用 tar -xvjf gimp-1.2.4.tar.bz2 命令。

文件將解壓縮到當前目錄。標準的方法是將源代碼包含在一個與產品名稱相同的目錄中。在此例中,文件包含在一個名為 gimp-1.2.4 的目錄中。

切換到該目錄就會看到源代碼、一些文檔、配置腳本,以及 README 文件。大多數源代碼包都有一個名為 INSTALL 和一個名為 README 的文件。在編譯軟件之前應該閱讀這些文件。通過閱讀這些文件,您可以在產生問題之前識別它們,并且獲得正確的編譯和安裝步驟,從而省去一些麻煩。我在編譯源代碼時遇到的大多數問題,都只是因為我沒有遵循那些文件中的指示。

最常見的下一個步驟是運行 configure 腳本。 Configure 是 autoconf 包的一部分,這個包包含在 Linux 發(fā)行套件的開發(fā)工具中。下面引用 Autoconf 的包描述:

“GNU 的 Autoconf 是一個用于配置源代碼和 Makefile 的工具。使用 Autoconf,程序員能夠創(chuàng)建可移植和可配置的包,因為生成包的人能夠指定各種配置選項。”

這個配置腳本在系統(tǒng)上運行一系列測試,以確定針對您的發(fā)行套件和體系結構編譯包的最佳方式。然后它為您的系統(tǒng)創(chuàng)建一個自定義的 Makefile。如果在系統(tǒng)上執(zhí)行編譯時遇到問題, configure 將會告訴您。 Configure 通常允許您定制要包括到編譯包中的特性,或者允許您提供關于庫或其他必需文件的位置參數,以便該包能夠成功編譯。要不帶參數執(zhí)行 configure 腳本,請使用如下命令:

./configure

它將在系統(tǒng)用上執(zhí)行多個測試并成功地結束。要生成程序,請使用如下命令:

make

如果編譯出錯,您需要確定問題并修復它們。這些問題也許比較棘手,可能需要關于您的環(huán)境和總體編程的大量知識。如果一切順利,下一步通常是使用如下命令來安裝軟件:

make install

這個命令將把文件復制到系統(tǒng)中的適當位置,更新文件權限,復制配置文件,并把文檔添加到手冊頁。

這種方案存在許多可能的變化形式。這其中包括對 configure 腳本使用開關來調整將要編譯到程序中的特性,使用 Makefile 中的不同命令來調整編譯方式,等等。

如果程序在安裝后無法工作,大多數 Makefile 都包含一個 uninstall 參數來刪除該程序。

make uninstall

務必記住,使用原始源代碼不會向 RPM 數據庫輸入任何內容。以這種方式安裝的軟件是非托管的(unmanaged),因此應該小心進行。


圖片點擊可在新窗口打開查看
圖片點擊可在新窗口打開查看
圖片點擊可在新窗口打開查看
圖片點擊可在新窗口打開查看


創(chuàng)建自定義 RPM

如果打算使用大量純源代碼,您應該了解更多關于創(chuàng)建自己的 RPM 的信息。創(chuàng)建 RPM 并不是特別困難,雖然這個主題超出了本文的討論范圍。從您自己的代碼創(chuàng)建 RPM 要比從陌生人編寫的代碼創(chuàng)建 RPM 容易得多。要創(chuàng)建良好的 RPM 包,您需要足夠了解某個軟件部分中的所有組件。本質上,這個過程就是創(chuàng)建一個名為 SPEC 的配置文件,它識別 RPM 數據庫所必需的所有信息。關于依賴關系的信息、生成該文件的步驟,以及安裝后的操作連同該包中所有文件的列表,都包括在這個 SPEC 文件中。RPM 使用這個 SPEC 文件來編譯代碼和創(chuàng)建二進制包。請查看您的源包,以確定是否已經創(chuàng)建了一個示例 SPEC 文件。包括 SPEC 文件已經成了一個普遍習慣,這樣還可能允許您只需做很少工作或不需要做工作就能創(chuàng)建一個自定義的 RPM。

源 RPM

在創(chuàng)建 RPM 時,存在一個叫做源 RPM(Source RPM,SRPM)的工件(artifact)。這是一個與源代碼組合后的 SPEC 文件,設計用于構建一個或多個體系結構。這對兩個世界來說都是最好的!使用源 RPM,您能夠在系統(tǒng)上自定義編譯軟件,但是完成后的產品將是可安裝的 RPM 而不只是原始的二進制。作為預編譯 RPM 可用的大多數包也作為 SRPM 可用。這可能是在 Linux 中跨平臺移動軟件的一種簡單方式。當您在一個不同的平臺上成功地重新編譯時,可考慮與社區(qū)共享完成后的 RPM。

 


主站蜘蛛池模板: 在线成人精品国产区免费 | 久久综合九九 | 国产精品久久久久久网站 | 亚州黄色网址 | 国产精品自拍亚洲 | 久久综合色88 | 国产一区二区三区在线免费观看 | 国产永久免费高清动作片www | 久久国内精品自在自线400部o | 久爱免费观看在线网站 | 亚洲美女视频网站 | 色拍拍噜噜噜aⅴ在线观看 色青青草原桃花久久综合 色婷婷91 | 涩里番资源网站在线观看 | 国产精品黑丝 | 久久这里有精品视频 | 日本乱理伦片在线观看网址 | 538prom精品视频在放免费 | 亚洲国产激情在线一区 | 欧美深夜影院 | 成年人免费观看视频网站 | 免费午夜扒丝袜www在线看 | 在线视频久 | 国产91精品一区二区麻豆亚洲 | 最刺激黄a大片免费观看下截 | av18在线播放 | 久久香蕉国产线看观看精品yw | 久久视频这里只有精品 | 久久精品中文字幕第一页 | 久久精品久久精品国产大片 | 99re在线视频精品 | 国产韩国精品一区二区三区久久 | 国产欧美久久久精品影院 | 久久久国产精品视频 | 成人在线免费播放 | 亚洲小视频在线播放 | 亚洲视频在线观看一区 | 色综合久久久 | 精品视频免费在线观看 | 国产精品久久久久久久久免费观看 | 成人欧美精品久久久久影院 | 亚洲欧美日韩中文字幕在线一区 |