天天看點

【轉】linux下軟體的安裝與解除安裝

一 軟體安裝包的類型

通常linux應用軟體的安裝有五種: 

   1) tar+ gz包,如software-1.2.3-1.tar.gz。他是使用unix系統的打包工具tar打包的。 

   2) rpm包,如software-1.2.3-1.i386.rpm。他是redhat linux提供的一種包封裝格式(www.rpmfind.net)。 

   3) dpkg(deb)包,如software-1.2.3-1.deb。他是debain(ubuntu) linux提供的一種包封裝格式。

   4) bin包,如realplayer11gold.bin,它是realplayer的linux檔案下的二進制安裝格式,它是源程式經過編譯後的一種機器語言。

   5) 腳本安裝檔案,這一類格式比較多,例如字尾為sh、pl、run的檔案都是腳本檔案。不過對于普通使用者不太常見。安裝這類檔案要注意的問題是,多數要給檔案先增加可執行權限,否則有可能會提示找不到檔案。具體方法:終端或控制台下執行 chmod +x ***.*,然後再安裝。

二 軟體包的命名規則

大多數linux應用軟體包的命名也有一定的規律,他遵循: 名稱-版本-修正版-類型 。

例如: 

   1)software-1.2.3-1.tar.gz 意味着:軟體名稱:software |版本号:1.2.3 |修正版本:1 | 類型:tar.gz,說明是個tar包。 

   2)sfotware-1.2.3-1.i386.rpm 意味着:軟體名稱:software | 版本号:1.2.3 |修正版本:1 |可用平台:i386,适用于intel 80x86平台 | 類型:rpm,說明是個rpm包。

三 軟體的安裝

新手:系統裝好後直接可以使用apt-get update (debian類系統)或 yum update (redhat類系統) 安裝所需要的大部分軟體!

下載下傳的 deb檔案點選無法安裝, 指令行下輸入sudo dpkg -i **.deb

1.*.tar.gz/*.tgz/*.bz2形式的源代碼軟體包

以tar.gz或tgz或tar.bz2等格式結尾的軟體包一般都是以源代碼方式釋出的軟體,安裝這類軟體首先需要對軟體進行解壓:

# tar zxvf filename.tar.gz

# tar xvfz filename.tgz

# tar xvf j filename.tar.bz2

解壓以後,就可以進入解壓後的目錄:

# cd filename/

對于這類文檔,常見的安裝步驟是:配置、編譯和安裝3步,其中最麻煩的就是配置,因為所有和軟體安裝相關的配置都是在這一步指定的:比如軟體安裝位置等。

配置:./configure

編譯:make

安裝:make install

解除安裝:make uninstall 或手動删除

說明:建議解壓後先閱讀說明檔案(readme和install),了解安裝的需求,有必要時還需改動編譯配置。有些軟體包的源代碼在編譯安裝後可以用 make uninstall指令來進行解除安裝,如果不提供此功能,則軟體的解除安裝必須手動進行。由于軟體可能将檔案分散地安裝在系統的多個目錄中,往往很難把它删除幹淨,那你應該在編譯前進行配置,指定軟體将要安裝到目标路徑:./configure --prefix=目錄名,這樣可以使用“rm -rf 軟體目錄名”指令來進行幹淨徹底的解除安裝。與其他安裝方式相比,需要使用者自己編譯安裝是最難的,它适合于使用linux已有一定經驗的人,一般不推薦初學者使用。

2.*.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軟體包,然後再安裝該二進制包即可。

3 . rpm格式軟體包的安裝

1).安裝

指令格式:rpm-i(or--install) options file1.rpm ... filen.rpm

參數:file1.rpm...filen.rpm指将要安裝的rpm包的檔案名。

詳細選項:

-h(or—hash)安裝時輸出hash記号;test隻對安裝進行測試,并不實際安裝;--percent以百分比的形式輸出安裝的進度;-- excludedocs不安裝軟體包中的文檔;--includedocs安裝文檔;--replacepkgs強制重新安裝已經安裝的軟體包;-- replacefiles替換屬于其他軟體包的檔案;--force忽略軟體包及文檔的沖突;--noscripts不運作預安裝和後安裝腳本;-- prefix newpath将軟體包安裝到由newpath指定的路徑下;--ignorearch不校驗軟體包的結構;--ignoreos不檢查軟體包運作的作業系統;--nodeps不檢查依賴性關系;--ftpproxy

host用host作為ftp代理;--ftpport port指定ftp的端口号為port。

通用選項:

-v顯示附加資訊;-vv顯示調試資訊;--root directory讓rpm将directory指定的路徑作為根目錄,這樣預安裝程式和後安裝程式都會安裝到這個目錄下;--rcfile filelist設定rpmrc文檔為filelist;--dbpath directory設定rpm資料庫所在的路徑為directory。

2).删除

指令格式:rpm -e(or--erase) options pkg1 ... pkgn

參數:pkg1...pkgn:要删除的軟體包。

詳細選項:--test隻執行删除的測試;--noscripts不運作預安裝和後安裝腳本程式;--nodeps不檢查依賴性。

-vv顯示調試資訊;--root directory讓rpm将directory指定的路徑作為根目錄,這樣預安裝程式和後安裝程式都會安裝到這個目錄下;--rcfile filelist設定rpmrc文檔為filelist;--dbpath directory設定rpm資料庫所在的路徑為directory。

3).更新

指令格式:rpm -u(or--upgrade) options file1.rpm ... filen.rpm

參數:file1.rpm...filen.rpm指軟體包的名字。

-h(or—hash)安裝時輸出hash記号;—oldpackage允許一個舊版本;--test隻進行更新測試;--excludedocs不安裝軟體包中的檔案;--includedocs安裝檔案;--replacepkgs強制重新安裝已經安裝的軟體包;--replacefiles替換屬于其他軟體包的檔案;--force忽略軟體包及檔案的沖突;--percent以百分比的形式輸出安裝的進度;--noscripts不運作預安裝和後安裝腳本;--prefix

newpath将軟體包安裝到由newpath指定的路徑下;--ignorearch不校驗軟體包的結構;--ignoreos不檢查軟體包運作的作業系統;--nodeps不檢查依賴性關系;--ftpproxy host用host作為ftp代理;--ftpport host指定ftp的埠号為host。

-v顯示附加資訊;-vv顯示調試資訊;--root directory讓rpm将directory指定的路徑作為根目錄,這樣預安裝程式和後安裝程式都會安裝到這個目錄下;--rcfile filelist設定rpmrc檔案為filelist ;--dbpath directory設定rpm資料庫所在的路徑為directory。

4).查詢

指令格式:rpm -q(or--query) options

參數:pkg1...pkgn:查詢已安裝的軟體包。

-p package_file查詢軟體包的檔案;-f file查詢file屬于哪個軟體包;-a查詢所有安裝的軟體包;--whatprovides capability查詢提供了capability功能的軟體包;-g group查詢屬于group組的軟體包;--whatrequires capability查詢所有需要capability功能的軟體包。

選項:

-i顯示軟體包的概要資訊;-l顯示軟體包中的檔案清單;-c顯示配置檔案清單;-d顯示檔案清單;-s顯示軟體包中文檔清單并顯示每個檔案的狀态 -;-scripts顯示安裝、解除安裝、校驗腳本;--queryformat(or--qf)以使用者指定的方式顯示查詢資訊;--dump顯示每個檔案的所有已校驗資訊;--provides顯示軟體包提供的功能;--requires(or-r)顯示軟體包所需的功能。

-v顯示附加資訊;-vv顯示調試資訊;--root directory讓rpm将directory指定的路徑作為根目錄,這樣預安裝程式和後安裝程式都會安裝到這個目錄下;-rcfile filelist設定rpmrc檔案為filelist;--dbpath directory設定rpm資料庫所在的路徑為directory。

5).校驗已安裝的軟體包

指令格式:rpm -v(or--verify,or-y) options

參數:pkg1...pkgn将要校驗的軟體包名

軟體包選項:-p package_file校驗package_file所屬的軟體包;-a校驗所有的軟體包;-g group校驗所有屬于組group的軟體包。

詳細選項:--noscripts不運作校驗腳本;--nodeps不校驗依賴性;--nofiles不校驗文檔屬性。

-v顯示附加資訊;-vv顯示調試資訊;--root path讓rpm将path指定的路徑做為根目錄,這樣預安裝程式和後安裝程式都會安裝到這個目錄下;--rcfile filelist設定rpmrc檔案為filelist;--dbpath directory設定rpm資料庫所在的路徑為directory。

6).校驗軟體包中的檔案

文法:rpm -k(or--checksig) options file1.rpm...filen.rpm

參數:file1.rpm...filen.rpm軟體包的檔案名;checksig--詳細選項;--nopgp不校驗pgp簽名。

通用選項:-v顯示附加資訊;-vv顯示調試資訊;--rcfile filelist設定rpmrc檔案為filelist。

7).其他rpm選項

--rebuilddb重建rpm資料庫;--initdb建立一個新的rpm資料庫;--quiet盡可能地減少輸出;--help顯示幫助檔案;--version顯示rpm的目前版本。

如果你不喜歡在字元接口下安裝或解除安裝這些軟體包,完全可以安裝基于x-window的圖形接口軟體包管理程式,如glint, xrpm這樣的圖形接口。或使用kde的kpackage(單擊【開始】→【運作指令】,在其中輸入kpackage即可啟動kpackage)等,這樣對軟體包的安裝、更新、解除安裝、驗證和查詢就可以通過單擊滑鼠來輕松完成,如圖所示。

4. deb格式的安裝,一般輕按兩下就可以了!

5 . yum主要功能是更友善的添加/删除/更新rpm包.它能自動解決包的倚賴性問題.它能便于管理大量系統的更新問題.

6 . apt是一個很完整和先進的軟體包管理程式,用來管理deb安裝檔案,在debian中使用它可以讓你,又簡單,又準确的找到你要的的軟體包, 并且安裝或解除安裝都很簡潔。 它還可以讓你的所有軟體都更新到最新狀态,而且也可以用來對ubuntu進行更新。可以自動處理互相之間的依賴關系,并且在更新過程中 維護他們的配置檔案。

apt-get update——在修改/etc/apt/sources.list或者/etc/apt/preferences之後運作該指令。此外您需要定期運作這一指令以確定您的軟體包清單是最新的。

apt-get install packagename——安裝一個新軟體包(參見下文的aptitude)

apt-get remove packagename——解除安裝一個已安裝的軟體包(保留配置檔案)

apt-get --purge remove packagename——解除安裝一個已安裝的軟體包(删除配置檔案)

dpkg --force-all --purge packagename 有些軟體很難解除安裝,而且還阻止了别的軟體的應用,就可以用這個,不過有點冒險。

apt-get autoclean apt會把已裝或已卸的軟體都備份在硬碟上,是以如果需要空間的話,可以讓這個指令來删除你已經删掉的軟體

apt-get clean 這個指令會把安裝的軟體的備份也删除,不過這樣不會影響軟體的使用的。

apt-get upgrade——更新所有已安裝的軟體包

apt-get dist-upgrade——将系統更新到新版本

apt-cache search string——在軟體包清單中搜尋字元串

dpkg -l package-name-pattern——列出所有與模式相比對的軟體包。如果您不知道軟體包的全名,您可以使用“*package-name-pattern*”。

aptitude——詳細檢視已安裝或可用的軟體包。與apt-get類似,aptitude可以通過指令行方式調用,但僅限于某些指令——最常見的有安裝和解除安裝指令。由于aptitude比apt-get了解更多資訊,可以說它更适合用來進行安裝和解除安裝。

apt-cache showpkg pkgs——顯示軟體包資訊。

apt-cache dumpavail——列印可用軟體包清單。

apt-cache show pkgs——顯示軟體包記錄,類似于dpkg –print-avail。

apt-cache pkgnames——列印軟體包清單中所有軟體包的名稱。

dpkg -s file——這個檔案屬于哪個已安裝軟體包。

dpkg -l package——列出軟體包中的所有檔案。

apt-file search filename——查找包含特定檔案的軟體包(不一定是已安裝的),這些檔案的檔案名中含有指定的字元串。apt-file是一個獨立的軟體包。您必須先使用apt-get install來安裝它,然後運作apt-file update。如果apt-file search filename輸出的内容太多,您可以嘗試使用apt-file search filename | grep -w filename(隻顯示指定字元串作為完整的單詞出現在其中的那些檔案名)或者類似方法,例如:apt-file

search filename | grep /bin/(隻顯示位于諸如/bin或/usr/bin這些檔案夾中的檔案,如果您要查找的是某個特定的執行檔案的話,這樣做是有幫助的)。

 apt-get autoclean——定期運作這個指令來清除那些已經解除安裝的軟體包的.deb檔案。通過這種方式,您可以釋放大量的磁盤空間。如果您的需求十分迫切,可以使用apt-get clean以釋放更多空間。這個指令會将已安裝軟體包裹的.deb檔案一并删除。大多數情況下您不會再用到這些.debs檔案,是以如果您為磁盤空間不足而感到焦頭爛額,這個辦法也許值得一試。

7.bin結尾的安裝包,這種包類似于rpm包,其實就是shell+ rpm,安裝也比較簡單:

1、打開一個shell,即終端;

2、用cd指令進入源代碼壓縮包所在的目錄;

3、給檔案加上可執行屬性:chmod +x ******.bin(中間是字母x,小寫);

3、執行指令:./******.bin(realplayer for linux就是這樣的安裝包);

如何解除安裝:把安裝時中選擇的安裝目錄删除就ok;

安裝完軟體後可以有好多種方法執行軟體:

a、有些軟體安裝後會自動在應用程式清單裡加上快捷鍵,和windows一樣,到那裡找就行了。

b、如果在應用程式清單裡找不到的話,可以直接在/開始/運作指令裡輸入指令:啟動指令一般就是軟體名,如firefox,realplay,xmms等;

c、也可以打開一個shell終端,輸入軟體名,和在“運作指令”裡一樣。如果不知道指令全程的話,可以輸入開頭的字母,然後按tab鍵查找,系統會自動顯示以輸入字母開頭的所有指令.

d、你也可以直接到安裝目錄下運作啟動檔案,linux下的可執行圖示和shell終端圖示很像.

e、到/usr/bin目錄裡找安裝的軟體啟動檔案執行指令。linux系統把所有可執行的檔案指令在/usr/bin目錄裡都作了啟動連接配接,你可以去那個目錄尋找你安裝的檔案的啟動指令,輕按兩下啟動.

四、軟體的解除安裝

1.解除安裝主要是使用rpm:

解除安裝軟體首先要知道軟體包在系統中注冊的名稱。鍵入指令:#rpm -q -a——即可查詢到目前系統中安裝的所有的軟體包。

實際解除安裝該軟體,鍵入指令:#rpm -e [package name] ——即可解除安裝軟體,參數e的作用是使rpm進入解除安裝模式。  

如果因存在依賴關系而不能解除安裝,rpm将給予提示并停止解除安裝。可以使用如下的指令來忽略依賴關系,直接開始解除安裝:#rpm -e [package name] -nodeps,但是忽略依賴關系的解除安裝可能會導緻系統中其它的一些軟體無法使用。

rpm包安裝到哪裡,鍵入指令:#rpm -ql [package name]

更多的rpm參數請自行參看手冊頁:man rpm。

2、解除安裝用源碼包安裝的軟體:

找到軟體的安裝點進行删除,删除相應的軟體目錄,在解壓目錄中執行:make uninstall

3、*.tar.gz/*.tgz、*.bz2形式的二進制軟體包

解除安裝:手動删除

說明:*.tar.gz/*.bz2形式的二進制軟體包是用tar工具來打包、用gzip/bzip2壓縮的,安裝時直接解包即可。對于解壓後隻有單一目錄的軟體,解除安裝時

用指令“rm -rf

軟體目錄名”;假如解壓後文檔分散在多處目錄中,則必須一一手動删除(稍麻煩),想知道解壓時向系統中安裝了哪些文檔,能夠用指令“tar ztvf

*.tar.gz”/“tar ytvf

*.bz2”擷取清單。tar的參數z是調用gzip解壓,x是解包,v是校驗,f是顯示結果,y是調用bzip2解壓,t是列出包的文檔清單。

更多的參

數請參看手冊頁:man tar。

4、

apt-get --purge remove

packagename——解除安裝一個已安裝的軟體包(删除配置檔案)

繼續閱讀