目錄html
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
rpm -ivh google-chrome-33.xxxx.rpm
升級某個軟件: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
雖然用RPM包來安裝軟件免去了編譯源代碼的麻煩,但軟件之間的屬性依賴問題並無解決,有的時候,爲了安裝某個軟件,你不得不先要安裝N個其餘的軟件才行。工具
爲了解決軟件依賴的問題,已經爲了給用戶提供一種更加方便簡單的軟件安裝方法, YUM被開發出來了。 YUM 是Yellowdog Updater Modified 的縮寫. YUM 是創建在RPM的基礎之上的, 爲用戶提供軟件安裝,升級,卸載的功能。YUM最大的好處是解決了軟件依賴的問題。YUM 把不少軟件的RPM包放在RPM 容器(repository)中, 用YUM 方式來安裝軟件的時候,會自動分析你要安裝的軟件的依賴關係,並會自動幫你安裝必須的「依賴軟件」, 這樣就解決了最爲困擾用戶的軟件依賴的問題。ui
查詢功能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
用於Ubuntu。
dpkg 是一種比較低層的軟件包安裝管理工具,在安裝時,不會安裝軟件包的依賴關係;只能安裝所要求的軟件包。
dpkg一般用於 安裝.deb文件,不會自動解決軟件安裝過程當中的依賴關係。
dpkg -i package_name.deb #安裝本地軟件包,不解決依賴關係 dpkg -r package #刪除軟件包 dpkg -P #刪除軟件包及配置文件
用於Ubuntu。
apt-get 是一種高級的軟件包管理工具,在安裝軟件時,會自動解決軟件安裝過程當中的依賴關係;
ap-get remove 不會自動刪除不須要的軟件包。
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 的依賴關係
用於Ubuntu。
aptitude 是一種帶有UI界面的更高級的軟件包安裝管理工具,自動解決軟件包安裝中的依賴關係;而且在刪除的時候,會自動刪除不須要的軟件依賴關係安裝包;更加的智能,高效。