1. 程式人生 > >【Linux】安裝軟體的三種方式--rpm、yum、原始碼包

【Linux】安裝軟體的三種方式--rpm、yum、原始碼包

說明:此文首發於本人原創公眾號【媛測】中,如有轉載,請著明出處!

在windows系統下安裝軟體很簡單,下載軟體包後雙擊.exe檔案,點選下一步即可。然而在linux安裝軟體就沒那麼容易了,不同的Linux發行版有所差異,下面以centos7系統為例說明,如何在linux下安裝軟體。

linux系統下安裝軟體一般有3種方法:①rpm工具    ②yum工具    ③原始碼包安裝

目錄

一、三種安裝方式

二、 rpm包及rpm工具使用

二、yum工具用法

三、原始碼包安裝:


一、三種安裝方式

在Linux下安裝軟體包,主要有3種辦法

(1)rpm工具(redhat package manager,手動安裝,難點在於包的依賴關係

rpm包類似於windows下的.exe檔案,安裝路徑和檔名基本都是固定的。

rpm -ivh [rpm完整包名] 

(2)yum工具(python開發出來的工具,操作物件rpm包,能自動解決軟體包的依賴關係,是最常用的方式

yum install -y 【包名簡稱】

(3)原始碼包(需要通過編譯器把該原始碼包編譯成可執行的檔案)【安裝難度大

./configure---->make---->make install

 

二、 rpm包及rpm工具使用

要想使用rpm工具,得先有rpm包。

 

1、rpm包格式說明

上圖所示:

abrt是包名、2.1.11是版本資訊、48.el7.centos是釋出版本號、x86_64是執行平臺;

另外有一些rpm包沒有寫具體平臺而是noarch:說明沒有平臺限制。

 

2、rpm工具用法

  (1)rpm常用選項:

        -a:查詢所有已安裝rpm包

        -e:刪除指定rpm包

        -f:查詢指定rpm包

        -i:顯示指定rpm包的詳細資訊

        -h:顯示安裝rpm包列出標記

        -v:顯示指令的執行過程,即視覺化過程

        -U:升級指定rpm包

        -q:使用詢問模式

        -l:顯示指定rpm包的檔案列表

(2)常用命令

安裝rpm包:rpm -ivh [rpm包名] ; 【注意包名一定要寫全到.rpm,不能簡寫】

升級rpm包:rpm -Uvh [rpm包名]; 【注意同上】

解除安裝rpm包:rpm -e [rpm包名] ;如:rpm -e bc;【這裡需要注意的是:解除安裝可以不用寫全包名】

檢視已安裝rpm包:rpm -q [指定rpm包名] 或者rpm -qa 表示列出所有已安裝包    如:rpm -q vim-enhanced;查詢所有:rpm -qa;

檢視已安裝rpm包的具體資訊:rpm -qi [rpm包名]    如:rpm -qi vim-enhanced

列出rpm包的安裝檔案:rpm -ql [rpm包名]    如:rpm -ql vim-enhanced

檢視某個檔案屬於哪個rpm包安裝的:rpm -qf [檔案絕對路徑]    如:rpm -qf /usr/bin/vim

當某個命令忘記了絕對路徑,又不想分2步來查詢。那麼可以後面跟which cd(這裡的符號時反引號):rpm -qf `which cd` /這裡寫入的命令不能是帶有alias的

 

【溫馨提示】

    當你執行rpm -ivh 安裝rpm包的時候你會發現,其實rpm安裝需要很多的依賴包,並且需要手動安裝依賴後才能rpm -ivh安裝。執行rpm -e 也是一樣的;所以一般也很少使用rpm進行軟體的安裝,最常用的安裝工具是yum。

 

二、yum工具用法

yum工具相比rpm工具的優勢是:yum安裝會聯網自動安裝依賴包,不需要手動安裝依賴。還有一個好處是使用yum安裝時,僅僅是寫入包名即可,而rpm安裝時,是需要寫入包全名的。

yum配置檔案路徑:/etc/yum.repos.d/

1、常見的yum用法:

列出所有可用的rpm包:yum list (第一列是包名,第二列是版本號,第三列是配置檔案/etc/yum.repos.d/中配置的倉庫名)

精準搜尋指定的rpm包:yum list | grep 'vim' (只顯示出包名中包含vim的rpm包)

搜尋指定名稱相關的所有rpm包:yum search vim (顯示所有包名和介紹中包含vim的rpm包,比較模糊)

yum安裝rpm包:yum install -y 【包名簡稱】;-y表示安裝時不再詢問是否安裝

yum解除安裝rpm包:yum remove 【包名簡稱】;//解除安裝時不要加-y選項,因為如果要解除安裝的依賴包又是系統所需要的,那麼繼續解除安裝有可能會導致系統異常,不加-y也可以檢視到它所依賴的包都有哪些

yum更新rpm包:yum update 【包名簡稱】;//使用在剛安裝完系統可以使用。如果系統中有已經運行了一段時間的服務,那麼這時去升級可能會出現問題【注意:如果直接yum update 不加包名,則會直接升級所有包和升級系統】

查詢一個命令是由哪個包來安裝的:yum provides "/*/vim"

 

2、yum使用光碟搭建本地倉庫:

當Linux不能聯網的時候,我們就不能使用聯網的yum源了。這時需要自己在系統中使用光碟製作yum源, 搭建本地的yum源,讓它在本地中尋找RPM包。具體步驟如下:

    (1)掛載光碟映象到/mnt目錄:mount /dev/cdrom /mnt

    (2)刪除/etc/yum.repos.d/目錄下的所有repo檔案(刪除前注意先備份,不然等下無法還原了)

cp -r /etc/yum.repos.d/ /etc/yum.repos.d_bak/

rm -rf /etc/yum.repos.d/*

    (3)建立新檔案dvd.repo

            vim /etc/yum.repos.d/dvd.repo,加入如下內容:

(enabled--是否可用,1可用,0不可用; gpgcheck--是否檢測,0不檢測,1檢測)

(4)清理之前的快取:yum clean all

(5)yum list 檢視本地倉庫是否配置成功(能看到自己配置的倉庫名,就是成功了)

    這時就能安裝你需要的rpm包了!

 

3、配置yum.conf 保留下載的rpm包

可以設定使yum保留已經下載的rpm包,供以後升級或者重新安裝時使用 。只需

修改/etc/yum.conf即可(這是個新檔案)

[main]

cachedir=/home/soft1/yumcache

keepcache=1

debuglevel=2

其中cachedir是放置下載的包的地方,可以自定義

keepcache=1表示儲存已經下載的rpm包,0表示不儲存

 

到這裡,你應該熟悉yum工具了。不知道你有沒有注意到使用yum安裝的時候會非常慢,那是因為預設的yum源是使用國外的yum倉庫的。

 

下面我們來介紹使用國內的倉庫作為yum源。

在操作之前,我們先恢復之前的yum源,否則使用的yum時會出問題的。操作如下:

rm -rf /etc/yum.repos.d

mv /etc/yum.repos.d_bak /etc/yum.repos.d

yum list    (這一步必須執行,生成快取,方便下次使用。)

4、更改國內yum倉庫源:

    (1)進入yum配置目錄,刪除CentOS-Base.repo(注意備份:mv CentOS-Base.repo CentOS-Base.repo_bak)

 

   (2)下載一份新的國內的CentOS-Base.repo檔案代替

            wget http://mirrors.163.com/.help/CentOS7-Base-163.repo  或者 curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo

可以開啟檢視一下這個檔案的內容:

 

    (3)替換成功後,安裝一個rpm包測試一下,例如: yum install -y zsh

 

除了CentOS-Base.repo這個標準的rpm源外,還可以安裝yum擴充套件源epel

     yum install -y epel-release

 

5、利用yum工具下載rpm包:

    (1)下載rpm包不安裝:yum install [包名] -y --downloadonly ;

預設存放路徑為/var/cache/yum/x86_64/7/xxx/packets ; xxx為倉庫源,如:base、epel、dvd等等

    (2)下載rpm包不安裝,指定存放路徑:yum install [包名] -y --downloadonly --downloaddir=/usr/local/src

    (3)如果是已安裝的rpm包:yum  reinstall -y [包名] --downloadonly

 

三、原始碼包安裝:

1、獲取原始碼

下載軟體原始碼包,一般存放在/usr/local/src,解壓原始碼包。

2、檢視INSTALL與README檔案

解壓後檢視INSTALL與README檔案,這兩個檔案中詳細介紹了本軟體的安裝方法和注意事項。

3、執行configure,生成Makefile檔案

執行./configure命令,生成Makefile檔案。

./configure --prefix=/usr/local/xxx

         常用prefix引數指定軟體安裝目錄,當執行make install命令時,會將軟體安裝在此路徑中。

4、執行make,從Makefile中讀取指令,編譯原始碼成二進位制檔案

make clean;make

PS:make clean命令用來清除上一次編譯生成的目標檔案。這個步驟可有可無,但為了確保編譯的成功,還是加上為好。防止由於軟體中含有殘留的目標檔案導致編譯失敗。

5、執行make install,將軟體安裝到指定目錄

make install

此時二進位制檔案會被安裝到先前configure prefix引數設定的路徑中去。

 

 

說明:此文首發於本人原創公眾號【媛測】中,如有轉載,請著明出處!