Linux系統下程序安裝主要採用三種方式:
一、rpm,有點相似.msi 和.exe比較相似,軟件包(至關於windows的某個程序的全部文件)的安裝路徑和文件名稱基本是固定的,可是他不會安裝關聯的包,就像windows下常常會讓你安裝.netframwwork包同樣,你必須已經有必定的系統環境了,你才能順利安裝rpm程序。
二、yum,有點像appstore和安卓的應用商店,yum安裝一個程序時會把關聯的程序一塊兒安裝,確保你裝完後就能夠用。
三、源碼包安裝,有點像windows裏面的visualstudio直接寫出來的原始程序,在vs中你須要把程序編譯後才能生成可以運行的exe,這種方式就和源碼安裝程序方式相似了,咱們首先要將源碼包編譯,而後安裝才能使用,這種方式較rpm方式和yum方式複雜。linux
接下來三篇博客將分別討論三種程序安裝方式的方法
1、rpm工具
rpm工具本來是Red Hat Linux發行版專門用來管理Linux各項套件的程序,因爲它遵循GPL規則且功能強大方便,於是廣受歡迎,逐漸受到其餘發行版的採用。shell
(一)rpm包名稱含義
Wiki的英文解釋:
An RPM is delivered in a single file, normally in the format:
<name>-<version>-<release>.<architecture>.rpm
such as:libgnomeuimm-2.0-2.0.0-3.i386.rpm
where <name>(包名) is libgnomeuimm, <version>(版本) is 2.0, <release> is 2.0.0-3, and <architecture> is i386.
Source code may also be distributed in RPM packages in which case the <architecture> part is specified as src as in, libgnomeuimm-2.0-2.0.0-3.src.rpm
RPMs with the noarch.rpm extension refer to packages which do not depend on a certain computer's architecture. These include graphics and text for another program to use, and programs written in interpreted programming languages such as Python programs and shell scripts.
The RPM contents also include a package label, which contains the following pieces of information:
software name
software version (the version taken from original upstream source of the software)
package release (the number of times the package has been rebuilt using the same version of the software). This field is also often used for indicating the specific distribution the package is intended for by appending strings like "mdv" (formerly, "mdk") (Mandriva Linux), "mga" (Mageia), "fc4" (Fedora Core 4), "rhl9" (Red Hat Linux 9), "suse100" (SUSE Linux 10.0) etc.
architecture for which the package was built (i386, i686, x86_64, ppc, etc.)
The package label fields do not need to match the filename.windows
(二)光盤下的rpm包
補充一下linux查看光盤信息的操做
一、首先在vmware中插入系統安裝光盤,標紅處選擇咱們安裝系統時的那個鏡像ISO文件。
二、在centos下掛載光盤
三、查看光盤下的Packages目錄,咱們看到該目錄下有許多的rpm包,這就是一個個的程序。
系統安裝碟iso文件下自己包含了不少rpm包,系統安裝時能夠默認安裝一些包以適應系統功能選擇的不一樣,好比你在這個界面中選擇FTP服務器的話系統安裝時就會安裝FTP的相關rpm包。
centos
(三)安裝rpm程序實際操做服務器
命令語法:rpm [-選項] [包名或命令名]app
選項:
-a, --all 查詢/驗證全部
-i, --install 安裝軟件包
-v, --verbose 提供更多的詳細信息輸出,就是顯示過程,不少命令都有這個選項,tar、gzip等等,便於你 瞭解程序在幹什麼。
-h, --hash 軟件包安裝的時候列出進度條 (和 -v 一塊兒使用效果更好)PS:給你們看一個關於進度條的豆知 識
-U 升級軟件包
-q 查詢,好比 rpm -qa查詢系統中全部安裝的rpm包
-e, --erase 卸載軟件包,rpm -e +包名就能夠卸載某個程序,注意卸載時會校驗依賴,若是包被依賴那麼 卸載不了。ide
下面以安裝卸載vsftpd.x86_64.0.3.0.2-22.el7爲例演示rpm工具用法工具
一、查詢系統中是否安裝這個包
命令:rpm -q vsftpd
(注意只寫包名,通常都是最前面有一堆英文字母)
ui
二、安裝vsftpd.x86_64.0.3.0.2-22.el7這個包
命令:rpm -ivh vsftpd.x86_64.0.3.0.2-22.el7.rpm
(注意如今應該在/mnt/Packages目錄下,否則就要用rpm包的絕對路徑)
查看一下,已經安裝好了
.net
三、升級安裝的vsftp程序(較少用到的功能)
命令:rpm -Uvh vsftpd-3.0.2-22.el7.x86_64.rpm
四、查看安裝的vsftpd.x86_64.0.3.0.2-22.el7.rpm包的具體信息
命令:rpm -qi vsftpd
五、查看vsftpd包含哪些文件
命令:rpm -ql vsftpd
六、查看某個命令是由哪一個rpm包安裝的
命令:rpm -qf /usr/bin/ls
(命令的絕對路徑)或者用反引號。
七、卸載vsftpd程序
命令:rpm -evh vsftpd