標籤:linux安裝軟體 rpm make gcc yum
linux中有很多安裝軟體的方法,比如說gcc編譯再安裝,make安裝,rpm安裝,yum安裝等,下面逐一比較之間的區別,不再迷茫不再糾結。
1.gcc源碼編譯安裝
這是最原始的一種安裝方式,gcc為linux中的編譯器,需要預先安裝。
編寫原始碼,以c語言為例子
(1)vi hello.c
#include<stdio.h> int main(Void){ printf("hello world\n"); return 0;}
(2)gcc -c hello.c 編譯源碼程式,可以看到同層目錄下產生了目標檔案hello.o
(3)gcc -o hello hello.o 將目標檔案產生可執行檔, hello為可執行檔名,hello.o為目標檔案
最後得到的hello可執行檔,./hello 即可執行,列印出hello world
這種方式看起來比較簡單,但是當軟體中引用很多檔案時,需要一個個編譯,複雜程度可想而知,故瞭解源碼編譯的原理即可,實際工作中放棄這種吧。
2.make安裝
由上面看出來,如果源碼檔案很多的話,則需要很多條gcc -c 的命令,過於麻煩,如果把所有的命令
都寫成二進位檔案,可好?是的,make安裝就是這個原理。
我們下載tarball檔案,一般xx.tar.gz
一般自己安裝的檔案安裝在/usr/local中,所以講tarball檔案移動至 /usr/local中
(1)tar -zxvf xx.tar.gz 解壓檔案,可以看到解壓後的檔案夾中,存在configure檔案,vi進入 configure檔案,可以看到裡面的相關命令。
(2)./configure 執行檔案,繼而此後檔案夾中產生makefile檔案,makefile檔案裡面存在了軟體的編譯命令。 ./configure -prefix=/usr/local/xx可以指定軟體的安裝目錄,安裝好的目錄將如下所示:
/usr/local/xx/etc
/usr/local/xx/bin
/usr/local/xx/lib
/usr/local/xx/man
(3)make clean 清理之前可能編譯過產生的檔案
(4)make 自動化編譯,根據makefile檔案進行自動編譯
(5)make install 安裝
上面的步驟,都是一環扣一環的,如果哪一個步驟出現了錯誤,那麼軟體就無法安裝成功,
gcc安裝與make安裝都屬於tallball安裝,刪除的話,直接移除相關的目錄即可,相比之下make安裝還是用的比較多的。
但是這兩種安裝都要編譯,是不是太麻煩了,不能下window下面直接點擊下一步?可以的,請看下面的rpm安裝
3.rpm安裝
rpm安裝,最大的優點是軟體商發布時已經編譯好,我們只需要執行一條命令即可。
rpm -qa :查詢所有安裝已經安裝的軟體
rpm -qa|grep mysql :查看是否安裝了mysql
rpm -e mysql: 卸載軟體,卸載mysql
rpm -ivh example.rpm :安裝軟體, -i 安裝,-v顯示安裝的檔案資訊,-h顯示安裝的進度
很方便有沒有,rpm能夠達到這種方便程度是有原因的,存在一個rpm的資料庫於/var/lib/rpm中,查詢,刪除,安裝都會往資料庫中添加或刪除記錄。
4.yum安裝
yum安裝是建立在rpm安裝的基礎上的,主要功能是更方便的添加/刪除/更新rpm包, yum是線上安裝,需要網路,需要獲得該軟體的yum安裝地址,地址找不到的話同樣無法安裝。
yum install xx: 安裝軟體
yum remove xx: 卸載軟體
yum list installed: 列出所有已安裝的軟體包
yum info xx :使用YUM擷取軟體包資訊
yum list : 列出所有可安裝的軟體包
yum會查詢資料庫,有無這一軟體包,如果有,則檢查其依賴衝突關係,如果沒有依賴衝突,那麼最好,下載安裝;如果有,則會給出提示,詢問是否要同時安裝依賴,或刪除衝突的包,你可以自己作出判斷
上面討論了linux安裝軟體的4中方法,一般建議為rpm安裝。
本文出自 “bulajunjun” 部落格,請務必保留此出處http://5148737.blog.51cto.com/5138737/1612945
linux中安裝軟體