Linux 軟件安裝

0 前言

  • 不一樣的軟件的安裝方法是並不相同的。有的軟件只能經過特定的方法來安裝。
  • 在不一樣的Linux發行版本上安裝同一個軟件的方法也未必相同, 所以有的時候,你在網上找到的在Ubuntu上安裝某個軟件的方法,也許在CentOS上並不能成功。

1 RPM

1.1 介紹

RPM是 Redhat Package Manager的縮寫,是Linux上的一種軟件打包和管理的工具。 由於Linux的不一樣發行版(distribution),甚至同一發行版的不一樣版本之間每每有不少的不一樣, 開發者在某個Linux發行版下開發和編譯的程序,直接放到另一個Linux下有很是大的可能性沒法運行。 所以早期的Linux的軟件都是經過源碼來分發,使用者基本都是經過在本身的Linux平臺上從新編譯源代碼來安裝軟件。 可是這種編譯源代碼的方式比較繁瑣和複雜,普通用戶每每也難以掌握。後來 Redhat推出了RPM這個軟件打包的方式。就是在特定的Linux平臺上把軟件編譯好,而後把與這個軟件相關的文件和庫打包成一個文件(RPM包), 但須要注意的是: 一般不一樣的distribution所發佈的RPM包每每不能用於其餘的Linux的distributions上面。 例如,針對Redhat的RPM包每每沒法直接在OpenSUSE上進行安裝。所以,在使用RPM方式進行安裝的時候,必須選擇和你使用的平臺一致的RPM安裝包。android

1.2 命令

rpm -ivh google-chrome-33.xxxx.rpm
  • -i: install 安裝
  • -v: verbose 顯示詳細信息
  • -h: hash 顯示安裝進度

升級某個軟件:chrome

rpm -Uvh   abc.xxx.rpm             //abc這個軟件的新版本會覆蓋原來的版本,若是原來沒有安裝,直接安裝

查詢某個軟件是否安裝apache

rpm -q httpd                    //查詢是否安裝了apache服務
rpm -qa | grep pam              //查詢是否安裝了包含pam這個名字的軟件
rpm -qi httpd                   //列出目前安裝的apache服務的詳細信息
rpm -qR httpd                   //列出apache的軟件依賴關係

卸載軟件centos

rpm -e httpd   //卸載apache

1.3 問題

雖然用RPM包來安裝軟件免去了編譯源代碼的麻煩,但軟件之間的屬性依賴問題並無解決,有的時候,爲了安裝某個軟件,你不得不先要安裝N個其餘的軟件才行。工具


2 YUM

2.1 介紹

爲了解決軟件依賴的問題,已經爲了給用戶提供一種更加方便簡單的軟件安裝方法, YUM被開發出來了。 YUM 是Yellowdog Updater Modified 的縮寫. YUM 是創建在RPM的基礎之上的, 爲用戶提供軟件安裝,升級,卸載的功能。YUM最大的好處是解決了軟件依賴的問題。YUM 把不少軟件的RPM包放在RPM 容器(repository)中, 用YUM 方式來安裝軟件的時候,會自動分析你要安裝的軟件的依賴關係,並會自動幫你安裝必須的「依賴軟件」, 這樣就解決了最爲困擾用戶的軟件依賴的問題。ui

2.2 命令

查詢功能google

yum list/search /info   xxx
例如:yum list httpd   //檢查apache是否已經安裝
yum info httpd  //查看apache的詳細信息, 相似 rpm -qi httpd
yum search httpd  //查詢和 apache (httpd)相關的軟件

安裝升級.net

yum install httpd
yum update httpd

卸載軟件code

yum remove httpd

3 dpkg

3.1 介紹

用於Ubuntu。

dpkg 是一種比較低層的軟件包安裝管理工具,在安裝時,不會安裝軟件包的依賴關係;只能安裝所要求的軟件包。

dpkg一般用於 安裝.deb文件,不會自動解決軟件安裝過程當中的依賴關係。

3.2 命令

dpkg -i package_name.deb  #安裝本地軟件包,不解決依賴關係
dpkg -r package #刪除軟件包
dpkg -P #刪除軟件包及配置文件

4 apt-get

4.1 介紹

用於Ubuntu。

apt-get 是一種高級的軟件包管理工具,在安裝軟件時,會自動解決軟件安裝過程當中的依賴關係;

ap-get remove 不會自動刪除不須要的軟件包。

4.2 命令

apt-get install package #在線安裝軟件包
apt-get install package --reinstall   #從新安裝軟件包
apt-get remove package  #刪除軟件包
apt-get remove package --purge      #刪除軟件包及配置文件
apt-get autoremove #刪除再也不須要的軟件包
apt-get clean #清除 /var/cache/apt/archives 目錄
apt-get autoclean #清除 /var/cache/apt/archives 目錄,不過只清理過期的包
apt-get build-dep package #解決編譯源碼 package 的依賴關係

5 aptitude

5.1 介紹

用於Ubuntu。

aptitude 是一種帶有UI界面的更高級的軟件包安裝管理工具,自動解決軟件包安裝中的依賴關係;而且在刪除的時候,會自動刪除不須要的軟件依賴關係安裝包;更加的智能,高效。


6 參考資料

相關文章
相關標籤/搜索