如果您喜歡這些文章,歡迎點(diǎn)擊此處訂閱本Blog

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

如何在Linux中安裝應(yīng)用程序

系統(tǒng) 1835 0
<!-- Feedsky FEED發(fā)布代碼開始 -->

如果您喜歡這些文章,歡迎點(diǎn)擊此處訂閱本Blog

<!-- FEED自動發(fā)現(xiàn)標(biāo)記開始 --> <!-- FEED自動發(fā)現(xiàn)標(biāo)記結(jié)束 -->

Blog 訂閱

<!--Google 728*90橫幅廣告開始-->

<script type="text/javascript"><!-- google_ad_client = "pub-7343546549496470"; /* 728x90, 大橫幅正文上方 */ google_ad_slot = "4725362798"; google_ad_width = 728; google_ad_height = 90; // --></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>

<!--Google 728*90橫幅廣告結(jié)束-->


1 安裝應(yīng)用程序

下面我們來解釋如何在Linux系統(tǒng)中安裝軟件,例如如何安裝現(xiàn)成的應(yīng)用程序,或者編
譯公開源代碼的應(yīng)用程序。事實(shí)上,由于Linux應(yīng)用程序可以以源代碼或者目標(biāo)程序的方
式提供,所以有多種提供軟件包的方法,最常用的兩種方法是rpm和tgz。

1.1 rpm程序

rpm是一種將軟件打包發(fā)行并且實(shí)現(xiàn)自動安裝的程序,目前,大部分Linux發(fā)行版本都
使用rpm程序來管理軟件的安裝和拆除,例如RedHat,Turbo Linux,Corel Linux等等。
對于個別沒有提供rpm程序的發(fā)行版本,你可以自己下載rpm程序并且進(jìn)行編譯。

需要用rpm安裝的軟件包通常是一些打包文件,后綴名是.rpm。rpm程序可以對這種程
序包進(jìn)行安裝,卸載,升級和維護(hù)。

Rpm程序的第一個功能是安裝應(yīng)用軟件,例如,在當(dāng)前目錄下有一個apache-1.3.6-4.
rpm軟件包,那么安裝它的命令是

rpm –i apache-1.3.6-4.rpm

-i開關(guān)用來安裝應(yīng)用軟件,如果你想看到更完整的安裝信息,可以同時使用-v和-h選
項:

rpm –ivh apache-1.3.6-4.rpm

這兩個選項將在安裝的同時顯示軟件的名稱和安裝進(jìn)度。

rpm程序能夠在安裝程序的同時檢查軟件包的相互依賴關(guān)系,并且檢驗(yàn)軟件之間的文件
沖突,如果發(fā)現(xiàn)沖突或者需要的軟件包沒有安裝,或者已經(jīng)安裝了其他版本的軟件包,
就會報錯并退出。

對于需要升級舊版本軟件的情況,使用-U選項,例如,已經(jīng)安裝了Apache 1.2.1的系
統(tǒng)上再安裝1.3.6,那么需要執(zhí)行

rpm –U apache-1.3.6-4.rpm

同樣可以使用-v和-h選項。

偶爾你可能會碰到想要不顧文件沖突或者版本沖突而想強(qiáng)行安裝應(yīng)用程序的情況,這
種情況下可以使--force選項,如:

rpm –i --force apache-1.3.6-4.rpm

類似的還有兩個選項--nodeps 和--replacefiles。-nodeps是不檢查相互依賴關(guān)系,
--replacefiles是自動強(qiáng)制替換文件。

另外一個有趣的用法是可以用rpm從ftp server上安裝應(yīng)用程序,例如

rpm –i ftp://myserver.com/apache/apache-1.3.6-4.rpm

rpm程序的第二個標(biāo)準(zhǔn)用法是卸載軟件包,這可以用-e選項,例如,刪除apache-1.3.
6的命令是

rpm –e apache

注意刪除軟件包的時候使用的軟件包的名字不包含版本號。

同樣,刪除軟件包也會引起rpm的軟件包依賴性驗(yàn)證,如果你想刪除的軟件包被別的軟
件包使用就會出錯。--nodeps選項仍然用于禁止依賴性檢查。

下一個常用的功能是對軟件包進(jìn)行查詢,這是通過-q選項來完成的,例如,要查閱當(dāng)
前是否安裝了apache軟件包,版本是什么,可以使用命令(注意沒有版本后綴)

rpm –q apache

會顯示當(dāng)前安裝的apache rpm的文件名。如果要查詢當(dāng)前安裝的所有軟件包,使用-a
選項:

rpm –a

有時你想知道某個文件是什么軟件包安裝上去的,這時可以使用-f選項,例如,要查
出/etc/httpd/httpd.conf屬于那個軟件包,執(zhí)行

rpm –qf /etc/httpd/httpd.conf

另外的工作是查詢某個軟件包所包含的文件,這可以使用-qpl選項,如

rpm –qpl apache-1.3.6-4.rpm

其中,l選項的含義是建立類似于ls –l的文件列表輸出,類似的還有-i,-d和-c,例


rpm –qpi apache-1.3.6-4.rpm

顯示這個軟件包的版本和開發(fā)人員信息。

rpm –qpc apache-1.3.6-4.rpm

顯示軟件包中的配置文件清單

rpm –qpd apache-1.3.6-4.rpm

顯示軟件包中的文檔列表。

最后一個常用的功能是校驗(yàn)軟件包的完整性,命令是-V。例如,檢驗(yàn)?zāi)硞€軟件包的文
件是否正確,使用

rpm –V apache

想檢查某個安裝好的文件和包中的文件是否一致,使用-Vf,例如

rpm –Vf /usr/sbin/httpd

想檢查某個包安裝到系統(tǒng)上的文件是否完全正確(和包比較),使用-Vp,如

rpm –Vp apache-1.3.6-4.rpm

1.2 編譯應(yīng)用程序

盡管rpm程序帶來了很多好處,但是由于各種原因,仍然難免發(fā)生在某個系統(tǒng)上編譯出
的應(yīng)用程序在其他系統(tǒng)上不能運(yùn)行的情況。最常見的情況是運(yùn)行庫的不同,例如,現(xiàn)在
大部分Linux上的應(yīng)用程序基于GLIBC(GNU GCC編譯器使用的運(yùn)行庫),結(jié)果是沒有包含
正確的GLIBC版本的Linux就無法使用這些目標(biāo)代碼,這種互相不兼容是UNIX傳統(tǒng)的一大
體現(xiàn)。幸運(yùn)的是,所有Linux都基于共同的操作系統(tǒng)內(nèi)核(內(nèi)核版本不同引起的沖突除外
)和相同的編譯器(GNU GCC)。而且Linux下的應(yīng)用程序是基于GNU協(xié)議的,因此你通常
總是可以重新編譯源程序,得到一個可以使用的版本。

要編譯應(yīng)用程序,首先必須拿到應(yīng)用程序的源代碼。一般來說,各個Linux廠商都會提
供它的發(fā)行版本中各種應(yīng)用程序的源代碼,實(shí)在不行的話你也可到網(wǎng)上去下載。

下載下來的源代碼有各種形式,最常見的是rpm,其后綴名是.src.rpm,可以象普通的
rpm文件一樣安裝,安裝時,rpm程序一般會把源代碼拷貝到/usr/src/redhat/SOURCE下
(也可能有其他的目錄名,你自己到/usr/src下看一下),通常這些源代碼安裝時并沒
有解壓,是一些在/usr/src/redhat/SOURCE下后綴名為.tgz或.tar的文件。另外,也可
能你下載的源代碼本身就是.tgz或者.tar.gz形式,那么就可以直接進(jìn)行下一步,不需要
安裝了。

.tgz或者.tar.gz就是.tar的壓縮格式,可以用gzip程序進(jìn)行展開:

gzip –d apache-1.3.6.tgz

或者

gzip –d apache-1.3.6.tar.gz

將會將其還原為apache-1.3.6.tar文件,然后

tar xvf apache-1.3.6.tar

將這個程序完全展開成為源代碼。關(guān)于tar和gzip程序的詳細(xì)說明見后面“日常維護(hù)”
部分。

進(jìn)入到展開的目錄apache-1.3.6,然后執(zhí)行

./configure

幾乎所有的源程序都會包含這個程序,通常,在發(fā)行源代碼時,開發(fā)者會寫這個名為
configure的腳本,以便自動確定諸如操作系統(tǒng)類型,編譯器的版本等等重要的信息。這
個腳本將生成關(guān)鍵性的Makefile文件。(然而,也有個別開發(fā)者會把這個工作留給你自
己,這樣的話,他一般會給你一個范例性的Makefile文件,并且給出足夠的說明,你可
以在這個文件上修改使之適合你的系統(tǒng))另外,大部分程序的configure程序包含一些參
數(shù),可以設(shè)置程序安裝運(yùn)行的路徑,程序的運(yùn)行庫等等信息。一般你可以使用-help參數(shù)
來察看這些參數(shù)的用法。

然后執(zhí)行

make

GNU的make程序?qū)⒆詣泳幾g所有源代碼。

最后,在編譯完畢之后,通常開發(fā)者會設(shè)計自動安裝程序,這可以執(zhí)行

make install

完成。

為了兼容性的原因,大部分源代碼在編譯后,目標(biāo)程序的缺省安裝路徑是/usr/local
,相應(yīng)地,配置文件的位置也變到了/usr/local/etc,/usr/local/etc或者/usr/local
/xxxx/etc等(xxxx是被編譯的應(yīng)用程序的名字),通常你可以用configue的選項設(shè)定這
些目錄,或者干脆按照新的路徑進(jìn)行配置。

個別比較簡單的軟件只有一個運(yùn)行文件,例如joe程序,那么就不提供安裝命令,你只
要自己把編譯出的可執(zhí)行程序拷貝到/usr/bin就萬事大吉了。

上面的操作是編譯90%Linux程序的基本步驟,不過,必須記住,這只是一種習(xí)慣而已
,如果這樣的動作不起作用,那也沒有什么奇怪的,那你就的研究軟件的文檔了。還有
個別的程序只有一個.c文件,那就直接用gcc編譯程序編譯他就可以了。

gcc編譯程序的用法是

gcc –o [目標(biāo)文件名] [源文件名]

例如,有一個somesoft.c,你想編譯這個程序,編譯出的執(zhí)行程序的名字叫soft,那
么執(zhí)行

gcc –o soft somesoft.c

就可以了。

由于Linux的特性,軟件開發(fā)者會不斷地推出新的patch,通常,這些patch會用在源代
碼上修改的方式推出,表現(xiàn)就是一些.patch文件,可以用patch程序來使用這些patch,
例如,我得到了一個關(guān)于apache的patch程序,名字叫tok.patch,進(jìn)入apache的源代碼
展開的目錄,執(zhí)行

patch –p0 < tok.patch

就可以了。關(guān)于patch命令的情況,參考日常管理的部分。

1.3 其他

還有一些其他的軟件包安裝程序,例如pkgtool和deb安裝程序,說實(shí)話這些程序都很
蠢,而且現(xiàn)在大部分Linux廠商都在走向rpm,甚至許多其他的UNIX廠商也在考慮使用rp
m,當(dāng)然,像sun那樣的堅持使用愚蠢的pkgtool的公司也是有的。但是我們不打算介紹這
種東西了。唯一必須指出的是.tgz或是.tar.gz這種直接壓縮的軟件包還是經(jīng)常有人使用
的,如同我們剛才說的,這樣的壓縮包可以先用gzip解壓再用tar展開,另外,也可以使
用tar的z選項直接展開:

tar zxvf apache-1.3.6.tgz

轉(zhuǎn)自【http://hi.baidu.com/liminghui1986/blog/item/23248081a9e6a8debd3e1eeb.html】


<!--Google 728*90橫幅廣告開始-->

<script type="text/javascript"><!-- google_ad_client = "pub-7343546549496470"; /* 728x90, 大橫幅正文下方 */ google_ad_slot = "4725362798"; google_ad_width = 728; google_ad_height = 90; // --></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>

<!--Google 728*90橫幅廣告結(jié)束-->


<!--新Google 468x15 橫鏈接單元開始-->

<script type="text/javascript"><!-- google_ad_client = "pub-7343546549496470"; /* 468x15 橫鏈接單元 */ google_ad_slot = "5785741422"; google_ad_width = 468; google_ad_height = 15; // --></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>

<!--新Google 468x15 橫鏈接單元結(jié)束-->


<!-- Google Reader shared發(fā)布代碼開始 -->

<script src="http://www.google.com/reader/ui/publisher.js" type="text/javascript"></script><script src="http://www.google.com/reader/public/javascript/user/00697638153916680411/state/com.google/broadcast?n=5&amp;callback=GRC_p(%7Bc%3A%22green%22%2Ct%3A%22%5Cu8FD9%5Cu4E9B%5Cu6587%5Cu7AE0%5Cu4E5F%5Cu503C%5Cu5F97%5Cu4E00%5Cu770B%22%2Cs%3A%22false%22%7D)%3Bnew%20GRC" type="text/javascript"></script>

<!-- Google Reader shared發(fā)布代碼結(jié)束 -->

如何在Linux中安裝應(yīng)用程序


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久久久国产视频 | 国产成人aa免费视频 | 国产综合亚洲欧美日韩一区二区 | 免费精品国产 | 免费不卡视频 | 天天做天天操 | 国产亚洲精品一区二区久久 | 久久在线免费观看 | 欧美日韩国产一区三区 | 久草在线观看免费 | 丁香色综合 | 欧美激情精品久久久久久久 | 999奇米 | 国产日韩亚洲欧洲一区二区三区 | 96精品视频在线播放免费观看 | 小说区图片区综合久久亚洲 | 国产成人福利夜色影视 | 久久草在线看 | 欧美巨大video粗暴 | 亚洲一级片在线观看 | 亚洲欧美卡通成人制服动漫 | 国产精品v一区二区三区 | 日韩精品免费一级视频 | 日本人成年视频在线观看 | 亚洲一区二区视频 | 亚洲精品久久婷婷爱久久婷婷 | 干干日日| 免费欧美黄色网址 | 久久人人澡 | 国产一级视频在线观看 | 日韩 欧美 | 亚洲视频观看 | 男女乱淫真视频免费一级毛片 | 亚洲精品一区二区乱码在线观看 | 中国精品白嫩bbwbbw | 久久久精品麻豆 | 4hu四虎最新免费地址 | 亚洲自拍第二页 | 日本一级成人毛片免费观看 | 伊人网色 | 邵氏经典三级50部 |