如果您喜歡這些文章,歡迎點擊此處訂閱本Blog

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

如何在Linux中安裝應用程序

系統 1926 0
<!-- Feedsky FEED發布代碼開始 -->

如果您喜歡這些文章,歡迎點擊此處訂閱本Blog

<!-- FEED自動發現標記開始 --> <!-- FEED自動發現標記結束 -->

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橫幅廣告結束-->


1 安裝應用程序

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

1.1 rpm程序

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

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

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

rpm –i apache-1.3.6-4.rpm

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

rpm –ivh apache-1.3.6-4.rpm

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

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

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

rpm –U apache-1.3.6-4.rpm

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

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

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

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

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

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

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

rpm –e apache

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

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

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

rpm –q apache

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

rpm –a

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

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

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

rpm –qpc apache-1.3.6-4.rpm

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

rpm –qpd apache-1.3.6-4.rpm

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

最后一個常用的功能是校驗軟件包的完整性,命令是-V。例如,檢驗某個軟件包的文
件是否正確,使用

rpm –V apache

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

rpm –Vf /usr/sbin/httpd

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

rpm –Vp apache-1.3.6-4.rpm

1.2 編譯應用程序

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

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

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

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

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

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

進入到展開的目錄apache-1.3.6,然后執行

./configure

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

然后執行

make

GNU的make程序將自動編譯所有源代碼。

最后,在編譯完畢之后,通常開發者會設計自動安裝程序,這可以執行

make install

完成。

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

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

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

gcc編譯程序的用法是

gcc –o [目標文件名] [源文件名]

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

gcc –o soft somesoft.c

就可以了。

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

patch –p0 < tok.patch

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

1.3 其他

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

tar zxvf apache-1.3.6.tgz

轉自【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橫幅廣告結束-->


<!--新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 橫鏈接單元結束-->


<!-- Google Reader shared發布代碼開始 -->

<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發布代碼結束 -->

如何在Linux中安裝應用程序


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美videosex性极品hd | 国产午夜福利视频一区二区32页 | 国产高清中文字幕 | 韩国一级免费视频 | 亚洲一区二区久久 | 国产污网站在线观看 | 在线精品自拍亚洲第一区 | 免费小视频 | 国产精品区二区三区日本 | 婷婷色综合久久五月亚洲 | 亚洲视频国产一区 | 日韩hd | 中文字幕在线观看第一页 | 亚洲综合色在线 | aaa在线观看 | 久久视频在线免费观看 | 欧美一级片在线播放 | 国产精选经典三级小泽玛利亚 | 日本精品在线 | 久久一区二区三区99 | 亚洲色图国产 | 亚洲综合视频在线观看 | 亚洲狼人综合干 | 久久日本精品国产精品白 | 中文字幕乱码一区二区三区 | 综合一区二区三区 | 久久福利青草精品资源 | 国产一区二区三区在线 | 五月婷婷深深爱 | 欧美电影网 在线电影 | 91蜜芽尤物福利在线观看 | 久久久久久久国产精品电影 | 毛片成人永久免费视频 | 成人瑟瑟 | 日韩精品欧美一区二区三区 | 色网站免费视频 | 国产精品99999999 | 国产98在线传媒在线视频 | 国产精品视频第一区二区三区 | 国产成人精品综合 | 欧美日本一 |