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


曙海教育集團(tuán)論壇Linux專區(qū)Linux應(yīng)用開發(fā) → 在 Power 上使用 Linux 開放源代碼工具


  共有9016人關(guān)注過本帖樹形打印

主題:在 Power 上使用 Linux 開放源代碼工具

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個(gè)性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
在 Power 上使用 Linux 開放源代碼工具  發(fā)帖心情 Post By:2010-11-23 13:14:44

本文主要介紹用于 POWER 微處理器體系結(jié)構(gòu)上的 Linux 的開放源代碼工具,不過其中討論的問題對(duì)開放源代碼軟件在 Linux 中的使用都是共同的。本文中提及的所有項(xiàng)目都對(duì)(但不限于)POWER 上的 Linux 可用。

什么是開放源代碼?

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

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


圖片點(diǎn)擊可在新窗口打開查看
圖片點(diǎn)擊可在新窗口打開查看
圖片點(diǎn)擊可在新窗口打開查看
圖片點(diǎn)擊可在新窗口打開查看


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

許多人選擇開放源代碼工具是因?yàn)樗鼈儽阋耍ㄩ_放源代碼軟件經(jīng)常是免費(fèi)的,這當(dāng)然非常便宜)。開放源代碼軟件還傾向于非常可靠。由于有技術(shù)興趣的任何人都能夠查看源代碼,因而可能會(huì)有數(shù)千個(gè)質(zhì)量控制機(jī)構(gòu)在評(píng)估代碼。程序員能夠無隔閡地直接接觸用戶,因此問題和 bug 通常是大家都知道的,從而迅速得到糾正。此外,由于沒有對(duì)用戶隱藏任何東西,這樣有利于更好的技術(shù)脫穎而出。

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

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


圖片點(diǎn)擊可在新窗口打開查看
圖片點(diǎn)擊可在新窗口打開查看
圖片點(diǎn)擊可在新窗口打開查看
圖片點(diǎn)擊可在新窗口打開查看


獲得開放源代碼工具

獲得開放源代碼軟件是很容易的;Linux 內(nèi)核本身就是開關(guān)放源代碼的。當(dāng)您安裝 Linux 時(shí),就開始使用開放源代碼了。除了內(nèi)核外,Linux 發(fā)行套件中還包含其他許多開放源代碼包,其中包括開發(fā)工具、庫和應(yīng)用程序。對(duì)于所有這些包,它們的源代碼都是可用的,您可以編譯任何包以優(yōu)化或?yàn)樘囟ㄓ猛径远x它。

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

SourceForge

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

RPM 與源代碼

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

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

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


圖片點(diǎn)擊可在新窗口打開查看
圖片點(diǎn)擊可在新窗口打開查看
圖片點(diǎn)擊可在新窗口打開查看
圖片點(diǎn)擊可在新窗口打開查看


使用源代碼

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

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

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

圖 1. Gimp 實(shí)際應(yīng)用
圖片點(diǎn)擊可在新窗口打開查看

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

文件將解壓縮到當(dāng)前目錄。標(biāo)準(zhǔn)的方法是將源代碼包含在一個(gè)與產(chǎn)品名稱相同的目錄中。在此例中,文件包含在一個(gè)名為 gimp-1.2.4 的目錄中。

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

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

“GNU 的 Autoconf 是一個(gè)用于配置源代碼和 Makefile 的工具。使用 Autoconf,程序員能夠創(chuàng)建可移植和可配置的包,因?yàn)樯砂娜四軌蛑付ǜ鞣N配置選項(xiàng)。”

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

./configure

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

make

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

make install

這個(gè)命令將把文件復(fù)制到系統(tǒng)中的適當(dāng)位置,更新文件權(quán)限,復(fù)制配置文件,并把文檔添加到手冊(cè)頁。

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

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

make uninstall

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


圖片點(diǎn)擊可在新窗口打開查看
圖片點(diǎn)擊可在新窗口打開查看
圖片點(diǎn)擊可在新窗口打開查看
圖片點(diǎn)擊可在新窗口打開查看


創(chuàng)建自定義 RPM

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

源 RPM

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

 


支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

在 Power 上使用 Linux 開放源代碼工具








簽名
主站蜘蛛池模板: 日韩大片高清播放器大全 | 亚洲欧美日韩国产精品26u | 久久国产影视 | 日韩国产欧美在线观看 | 国产欧美va欧美va香蕉在线观 | 亚洲欧美日韩在线一区二区三区 | 色综久久 | 中国国语毛片免费观看视频 | 一级片久久| 日本免费一区尤物 | 寡妇一级毛片 | 成年人网站免费 | 久久精品免费观看久久 | 日本一级做人免费视频 | 国产精品午夜性视频网站 | 精品亚洲大全 | 亚洲精品一区二区三区 | 免费久草视频 | 国产成人精品永久免费视频 | 久久免费看 | 普通话对白国产情侣自啪 | 国产精品极品美女自在线看免费一区二区 | 乱淫毛片 | 成年人免费的视频 | 国产成人女人视频在线观看 | 日本免费网址 | 中文字幕区 | www.黄.com| 色噜噜国产精品视频一区二区 | 日韩男人天堂 | 久爱午夜精品免费视频 | 一区二区三区免费精品视频 | 成人午夜大片 | 欧美色黄毛片 | 一级成人a做片免费 | 亚洲国产精品久久网午夜 | 亚洲精品日韩专区在线观看 | 久久天天躁综合夜夜黑人鲁色 | 成人男女啪啪免费观看网站 | 牛牛a级毛片在线播放 | 性做久久久久久久免费观看 |