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