閱讀586 返回首頁    go 阿裏雲 go 技術社區[雲棲]


【轉】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包.它能自動解決包的倚賴性問題.它能便於管理大量係統的更新問題.

*rpm包的檢查更新
//檢查可更新的rpm包#yum check-update
//更新所有的rpm包#yum update
//更新指定的rpm包,如更新kernel和kernel source#yum update kernel kernel-source
//大規模的版本升級,與yum update不同的是,連舊的淘汰的包也升級#yum upgrade
*rpm包的安裝和刪除
//例如安裝rpm包,如xmms-mp3#yum install xmms-mp3
//刪除rpm包,包括與該包有倚賴性的包#yum remove licq注:同時會提示刪除licq-gnome,licq-qt,licq-text*yum暫存(/var/cache/yum/)的相關參數
//清除暫存中rpm包文件#yum clean packages
//清除暫存中rpm頭文件#yum clearn headers
//清除暫存中舊的rpm頭文件#yum clean oldheaders
//清除暫存中舊的rpm頭文件和包文件#yum clearn 或#yum clearn all注:相當於yum clean packages + yum clean oldheaders
*rpm包列表
//列出資源庫中所有可以安裝或更新的rpm包#yum list
//列出資源庫中特定的可以安裝或更新以及已經安裝的rpm包#yum list mozilla#yum list mozilla*注:可以在rpm包名中使用匹配符,如列出所有以mozilla開頭的rpm包
//列出資源庫中所有可以更新的rpm包#yum list updates
//列出已經安裝的所有的rpm包#yum list installed
//列出已經安裝的但是不包含在資源庫中的rpm包#yum list extras注:通過其它網站下載安裝的rpm包
*rpm包信息顯示(info參數同list)
//列出資源庫中所有可以安裝或更新的rpm包的信息#yum info
//列出資源庫中特定的可以安裝或更新以及已經安裝的rpm包的信息#yum info mozilla#yum info mozilla*注:可以在rpm包名中使用匹配符,如列出所有以mozilla開頭的rpm包的信息
//列出資源庫中所有可以更新的rpm包的信息#yum info updates
//列出已經安裝的所有的rpm包的信息#yum info installed
//列出已經安裝的但是不包含在資源庫中的rpm包的信息#yum info extras注:通過其它網站下載安裝的rpm包的信息
*搜索rpm包
//搜索匹配特定字符的rpm包#yum search mozilla注:在rpm包名,包描述等中搜索
//搜索有包含特定文件名的rpm包#yum provides realplay

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 remove packagename——卸載一個已安裝的軟件包(保留配置文件)

apt-get --purge remove packagename——卸載一個已安裝的軟件包(刪除配置文件)

最後更新:2017-04-03 14:54:00

  上一篇:go WebService——通過契約優先開發webservice
  下一篇:go Android鎖屏未讀短信,未接電話