Linux軟件安裝與卸載(源碼包形式):一般情況下linux程序的發(fā)布不能像windows那樣,直接打包成一個setup.exe文件,然用戶安裝 時直接按下一步就完成了,因為它對庫的依賴比較嚴(yán)重下面就來看下linux下軟件源碼包安裝與卸載:
Linux軟件的源代碼分發(fā)是指提供了該軟件所有程序源代碼的發(fā)布形式,需要用戶自己編譯成可執(zhí)行的二進制代碼并進行安裝,其優(yōu)點是配置靈活,可以隨意去掉或保留某些功能/模塊,適應(yīng)多種硬件/操作系統(tǒng)平臺及編譯環(huán)境,缺點是難度較大,一般不適合初學(xué)者使用。
1、*.src.rpm形式的源代碼軟件包 安裝:rpm -rebuild *.src.rpm
cd /usr/src/dist/RPMS
rpm -ivh *.rpm
卸載:rpm -e packgename
說明:rpm --rebuild *.src.rpm命令將源代碼編譯并在/usr/src/dist/RPMS下生成二進制的rpm包,然后再安裝該二進制包即可。packgename 如前所述。
2、*.tar.gz/*.tgz、*.bz2形式的源代碼軟件包 安裝:tar zxvf *.tar.gz 或 tar yxvf *.bz2 先解壓
然后進入解壓后的目錄:
./configure 配置
make 編譯
make install 安裝
卸載:make uninstall 或 手動刪除
說明:建議解壓后先閱讀說明文件,可以了解安裝有哪些需求,有必要時還需改動編譯配置。有些軟件包的源代碼在編譯安裝后可以用make install命令來進行卸載,如果不提供此功能,則軟件的卸載必須手動刪除。由于軟件可能將文件分散地安裝在系統(tǒng)的多個目錄中,往往很難把它刪除干凈, 那你應(yīng)該在編譯前進行配置,指定軟件將要安裝到目標(biāo)路徑:./configure --prefix=目錄名,這樣可以使用“rm -rf 軟件目錄名”命令來進行干凈徹底的卸載。與其它安裝方式相比,需要用戶自己編譯安裝是最難的,它適合于使用Linux已有一定經(jīng)驗的人,一般不推薦初學(xué)者 使用。
關(guān)于Linux下軟件的安裝與卸載lanche已經(jīng)講了這么多,但可能還會有人問怎么知道一個tar.gz/bz2包是二進制文件包呢還是源代碼包? 如果你用過壓縮工具就會明白,壓縮包未必就是軟件,它也可能是備份的許多圖片,也可能是打包在一起的普通資料,要分辨它到底是什么最好的辦法就是查看包里 的文件清單,使用命令tar ztvf *.tar.gz / tar ytvf *.bz2或者在X-Window下使用圖形化的ArK壓縮檔案管理工具都可以,源代碼包里的文件往往會含有種種源代碼文件,頭文件*.h、c代碼源文 件*.c、C++代碼源文件*.cc/*.cpp等;而二進制包里的文件則會有可執(zhí)行文件(與軟件同名的往往是主執(zhí)行文件),標(biāo)志是其所在路徑含有名為 bin的目錄(僅有少數(shù)例外)。
另附:linux刪除安裝包(rpm,src.rpm,tar.gz,bz2) 不管是哪個平臺下,軟件的安裝與卸載是每一位計算機操作者所必需掌握的知識。Windows之所以易用、好掌握,也在于它軟件安裝、卸載完全圖形化操作、直觀。反觀Linux,就令人感覺有些困惑。Linux下軟件的安裝除了二進制形式的軟件分發(fā)外,還有許多以源碼形式分發(fā)的軟件包。
1、以“rpm”為后綴的二進制軟件包 安裝:rpm -ivh *.rpm
卸載:rpm -e packagename
參數(shù)-i表示安裝,-v是校驗,-h是用散列符顯示安裝進度,-e是刪除軟件包,packgename代表軟件包名,也就是版本號前面那個字符串。
卸載軟件前,應(yīng)首先知道軟件包在系統(tǒng)中注冊的名稱,可以使用命令:rpm -q -a 結(jié)合grep來查詢。確定了要卸載的軟件包名后,就可以開始卸載了,命令如上所示。
由于系統(tǒng)中各個軟件包之間相互有依賴關(guān)系,如果因存在這種依賴關(guān)系而不能卸載,rpm將給予提示并停止卸載,此時,可以使用命令 rpm -e --nodeps packagename 來忽略依賴關(guān)系,直接進行卸載。當(dāng)然,忽略依賴關(guān)系的卸載,可能導(dǎo)致系統(tǒng)中其它一些軟件無法正常使用,卸載前應(yīng)三思。
2、以“src.rpm”為后綴的源碼軟件包 安裝:先使用命令 rpm -rebuild *.src.rpm 將源代碼編譯并在/usr/src/dist/RPMS下生成二進制的rpm包,然后再 rpm -ivh *.rpm 安裝該二進制包即可。
卸載:同上,rpm -e packgename
3、以“tar.gz”、“.bz2”為后綴的二進制軟件包 安裝:tar zxvf *.tar.gz 、tar jxvf *.bz2
參數(shù)-z調(diào)用gzip,-x是解包,-v是校驗,-f指定包的文件名,此項通常必選,-j調(diào)用bzip。當(dāng)然,這些參數(shù)也不是絕對要加上的,比如-v參數(shù),或者也可以使用其它一些參數(shù),只不過我習(xí)慣上這么寫。
卸載:手動刪除
4、以“tar.gz”、“.bz2”為后綴的源代碼軟件包 先使用命令 tar zxvf *.tar.gz 或 tar jxvf *.bz2進行解壓,然后進入解壓后的目錄,接著就是眾所周知的三步曲: ./configure(配置)、make(編譯)、make install(安裝)。建議解壓后不要急著進行所謂的“三步曲”,而應(yīng)該先看下相關(guān)的說明文件,了解軟件安裝需要哪些條件,以便在配置的時候提供相應(yīng)的參數(shù)。
我通常的做法是,進入解壓后的目錄后,先用ls命令查看一下該目錄下都有哪些文件。通常在解壓后的目錄里,會有一個“Install”的純文本文件,不妨先看看里面的內(nèi)容,里面詳細(xì)講述了軟件包的安裝方法。當(dāng)然,有時候也會發(fā)現(xiàn)這個“Install”是個可執(zhí)行文件。
我遇到過里面帶有setup這種類似Windows下軟件安裝的可執(zhí)行文件(當(dāng)然,這種情況是比較少數(shù)的),這對于不太習(xí)慣使用Linux的用戶來說,是比較方便的。還有,就是一個后綴為“bin”的安裝文件,安裝前先查看一下它的執(zhí)行權(quán)限。如果不具有可執(zhí)行權(quán)限,請先賦予它執(zhí)行的權(quán)限,再像正常的可執(zhí)行文件那樣運行即可。
安裝完畢后,應(yīng)清除編譯過程中產(chǎn)生的臨時文件和配置過程中產(chǎn)生的文件,可以使用命令:make clean 以及make distclean。
有些軟件包的源代碼在編譯安裝后可以使用 make uninstall 命令來進行卸載,如果沒有提供此功能,則該軟件的卸載也只有手動刪除。由于軟件可能將文件分散安裝在系統(tǒng)的多個目錄中,手動刪除往往很難將它刪除干凈,這也許是很多人比較頭痛的地方。所以,通常的做法是,在編譯前的配置階段,指定軟件將要安裝到的目標(biāo)路徑,即 “./configure --prefix=目錄名”,這樣可以使用 “rm -rf 軟件的目錄名”這一命令來進行干凈徹底的卸載。