Linux學習----基礎篇(軟件的安裝與管理)

一、源碼方式安裝軟件

1.一、源碼安裝的優勢

由於Linux系統開放源代碼的特性,因此在系統上運行的大部分軟件也都是開源軟件。開源軟件基本都提供源碼的下載,這時就能夠經過源碼來安裝軟件。 前端

使用源碼安裝軟件的優勢在於用戶能夠自定製軟件功能,只安裝須要的模塊;安裝時可自定義軟件安裝的路徑,方便管理;卸載時只要刪除軟件安裝目錄便可。 node

1.二、源碼安裝過程

在源碼安裝以前,須要把開發工具等基礎模塊安裝好,好比 gcc、gcc-c++、libgcc、glibc、make、automake等開發工具和基礎包;還要安裝一些相應的開發包,通常是包名-devel類型的,glibc-devel、gettext-devel等(若是源碼安裝過程當中提示缺乏某軟件包可是該軟件包已經安裝,能夠檢查是否該包的開發包即包名-devel是否安裝);還有一些開發庫,好比以lib開頭的開發庫。python

進入源碼目錄,通常都有README或INSTALL文件,或者是DOC目錄,這些是安裝說明文檔。能夠按照文檔中的說明進行軟件的安裝。c++

源碼安裝軟件通常包含如下步驟:分析安裝平臺環境、編譯安裝軟件。sql

分析安裝平臺環境數據庫

源碼目錄下有個命名爲configure的可執行文件,使用命令./configure進行軟件安裝環境的檢測,若是提示缺乏某些軟件包,則須要先安裝這些包,再從新進行檢測,直到檢測經過。configure的--prefix參數用於指定軟件安裝的目錄;configure的其餘參數能夠參考軟件的安裝說明,不一樣軟件會支持不一樣的參數。緩存

編譯安裝軟件安全

安裝環境檢測經過後,運行make命令進行編譯。make是咱們常常用到的編譯命令,對於一個包含不少源文件的應用程序,使用make和makefile工具能夠簡單快速的解決各個源文件之間複雜的依賴關係;同時,make工具還能夠自動完成全部源碼文件的編譯工做,而且能夠只對上次編譯後修改過的文件進行增量編譯。若是不須要增量編譯,使用make clean命令清除上次編譯的結果,從新開始編譯。 服務器

make工具最主要的功能就是經過makefile文件來實現的,makefile文件是按照某種語法來進行編寫的,文件中定義了各個源文件之間的依賴關係,並說明了如何編譯源文件並生成可執行文件,它經過描述各個源程序之間的關係讓make工具自動完成編譯工做。 工具

編譯完成後,執行make install命令將編譯完成的軟件複製到指定的安裝目錄下,至此,源碼安裝軟件完成。

二、RPM包方式安裝軟件

2.一、RPM包管理工具

RPM,Red Hat Package Manager,Red Hat軟件包管理,由Red Hat公司開發的Linux軟件包管理工具。因爲該管理工具在軟件安裝和管理方面很是方便易用,逐漸被其餘Linux發行版使用,如今已經成爲Linux下通用的一種軟件包管理方式。另一種流行的工具爲Debian開發的dpkg。

RPM軟件包以.rpm結尾。每一個RPM文件中包含了已完成編譯的二進制可執行文件,本質爲將源碼進行編譯安裝而後封裝成RPM文件。

優勢:安裝簡單方便,由於軟件已經編譯完成打包完畢,安裝只是個驗證環境和解壓的過程。

缺點:對操做系統環境的依賴很是大,它要求RPM包的安裝環境必須與RPM包的封裝環境一致或至關;另外還需知足安裝時的軟件包依賴關係

2.二、RPM包種類及文件名含義

RPM包的封裝格式通常有兩種,分別是RPM和SRPM,SRPM包也是一種RPM,可是它包含了編譯時的源碼文件和一些編譯指定的參數文件,於是在使用的時候須要從新進行編譯,一般SRPM文件名稱相似於xxx.src.rpm

RPM包文件名的含義:

rpm

通常的RPM封裝包的命名格式都有這六個部分組成,因爲SRPM包是須要編譯才能使用的,所以沒有上面顯示項中對應的平臺選項,其它與RPM包命令格式徹底同樣。

2.三、RPM管理工具使用

2.3.一、安裝RPM包

語法以下:

rpm –i [輔助選項] RPM包

經常使用輔助選項:

  • -v:顯示附加信息
  • -h:安裝時輸出標記「#」,即安裝進度條
  • --test:只對安裝進行測試,並不實際安裝
  • --nodeps:不檢查軟件之間的依賴關係,加入此選項可能致使軟件不可用
  • --force:忽略軟件包以及軟件衝突

小技巧:若是安裝A軟件包時依賴B軟件包,而安裝B軟件包時又依賴A軟件包,則能夠同時安裝這兩個軟件包以解決相互依賴的狀況,使用命令rpm –ivh A.rpm B.rpm

2.3.二、更新RPM包

語法以下:

rpm -U [輔助選項] RPM包

經常使用輔助選項參考安裝RPM包。

2.3.三、查詢RPM包

語法以下:

rpm -q [輔助選項] RPM包

經常使用輔助選項:

  • -f:查詢某個文件對應的RPM包
  • -p:查詢以.rpm爲後綴的軟件包安裝後對應的包名稱
  • -l:顯示軟件包中的全部文件列表。此選項後面跟軟件包安裝後對應的包名,而不是以.rpm爲後綴的包
  • -i:顯示軟件包的概要信息,例如軟件名稱、版本、適應平臺、大小等等。此選項後面跟完整的包名,而不是以.rpm爲後綴的包
  • -a:查詢系統中安裝的所有軟件包

2.3.四、刪除RPM包

語法以下:

rpm -e [輔助選項] 已安裝的軟件包名

經常使用輔助選項:

  • --test:只執行刪除測試,而不真正刪除
  • --nodeps:不檢查依賴性

2.3.五、驗證未安裝的RPM包

RPM包是否值得信任,是否損壞,能夠經過RPM提供的選項進行驗證。RPM軟件包通常使用 Gnu 隱私衛士(GPG)來簽名,從而幫助使用者驗證下載的軟件包是否可信。語法以下:

rpm -K RPM包

2.四、安裝.src.rpm包

  1. 執行命令rpm –i xxx.src.rpm
  2. 切換到目錄/root/rpmbuild/SPECS(CentOS 5.x之前版本的路徑是/usr/src/redhat/SPECS,從CentOS 6.x以後的版本路徑變爲/root/rpmbuild/SPECS
  3. 執行命令rpmbuild –bb xxx.specs(xxx.specs是一個和軟件包同名的specs文件)
  4. 在目錄/root/rpmbuild/RPMS/x86_64下將會生成一個或多個RPM包,這些包是已經編譯完成的RPM包
  5. 執行命令rpm –ivh安裝這些生成的RPM包

三、yum方式安裝軟件

3.一、yum簡介

yum(全稱爲 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器。基於RPM包管理,可以從指定的服務器自動下載RPM包而且安裝,能夠自動處理依賴性關係,而且一次安裝全部依賴的軟件包,無須繁瑣地一次次下載、安裝。

3.二、yum的安裝與配置

使用命令rpm –qa|grep yum查看yum工具是否安裝。

若是系統中還未安裝yum工具,則能夠經過CentOS的安裝光盤安裝,CentOS光盤上帶有yum安裝包,使用如下命令安裝yum:

rpm -ivh yum-*.noarch.rpm

注意:yum的安裝須要依賴python-elementtree、python-sqlite、urlgrabber、yumconf等軟件包,這些包在CentOS的安裝光盤中都可找到。

yum主要配置文件

  • 主配置文件: /etc/yum.conf
  • 軟件源配置目錄: /etc/yum.repos.d
  • 軟件源基本配置文件:/etc/yum.repos.d/CentOS-Base.repo
  • yum緩存目錄: /var/cache/yum

yum的特色

  • 安裝方便,自動解決增長或刪除rpm包時遇到的依賴性問題。
  • 能夠同時配置多個資源庫(Repository)
  • 配置文件簡單明瞭(/etc/yum.conf、/etc/yum.repos.d/CentOS-Base.repo)
  • 保持與RPM數據庫的一致性

3.三、yum的使用

使用yum安裝軟件:

yum install 軟件名

使用yum刪除軟件:

yum remove 軟件名

注意:刪除軟件時yum會同時刪除該軟件的依賴包。

檢查是否有可更新的軟件:

yum check-update

更新全部可升級的軟件:

yum update

列出軟件源中特定的能夠安裝/更新/已經安裝的軟件包的信息:

yum info 軟件名

列出軟件源中特定的能夠安裝/更新或已經安裝的軟件包:

yum list 軟件名

搜索匹配特定字符的軟件包的詳細信息:

yum search 軟件名

清除緩存中舊的軟件包信息:

yum clean headers|packages|metadata|dbcache|plugins|expire-cache|rpmdb|all

生成新的緩存:

yum makecache

列出軟件的依賴:

yum deplist 軟件包

yum的一些經常使用選項:

  • -q:靜默執行
  • -t:忽略錯誤
  • -y:自動應答yes
  • --skip-broken:忽略軟件依賴
  • --nogpgcheck:忽略GPG驗證

使用yum僅下載軟件不安裝:

  1. yum自帶工具yumdownloader:yumdownloader 軟件名
  2. 使用yum的插件yum-downloadonly:yum install --downloadonly --downloaddir=目錄 軟件名

注意:推薦使用yum-downloadonly插件,該插件在下載軟件包時會下載該軟件依賴的全部其餘軟件包。

yum加速插件yum-fastestmirror:

yum-fastestmirror插件能夠自動選擇最快的軟件源下載安裝軟件。該插件的配置文件位於

/etc/yum/pluginconf.d/fastestmirror.conf,yum軟件源的速度測試記錄文件爲yum緩存下的timedhosts.txt文件。

使用命令yum install yum-plugin-fastestmirror安裝該插件。

3.四、更換系統默認的軟件源

如下以在CentOS 6.9中將系統默認軟件源更換爲阿里雲軟件源爲例

進入軟件源配置目錄:

cd /etc/yum.repos.d

備份系統默認的軟件源:

mv CentOS-Base.repo CentOS-Base.repo.backup

下載阿里雲軟件源配置文件,注意,下載的軟件源配置文件必須與所用的系統對應:

wget -O CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-6.repo

清理yum緩存:

yum clean all

生成新的yum緩存:

yum makecache

3.五、一些軟件源

3.5.一、EPEL源

EPEL,全稱是企業版Linux附加軟件包,是一個由特別興趣小組建立、維護並管理的,針對紅帽企業版Linux(RHEL)及其衍生髮行版(例如CentOS、Scientific Linux)的一個高質量附加軟件包項目。 其官方網址爲:http://fedoraproject.org/wiki/EPEL/zh-cn, EPEL的軟件包不會與企業版Linux官方源中的軟件包發生衝突,或者互相替換文件。

相關的EPEL軟件包能夠從EPEL官方網站下載到,針對CentOS系統,有EL六、EL7三個版本,分別針對CentOS 6.x、CentOS 7.x三個系列版本。

也可使用如下命令安裝該軟件源:

yum install epel-release

3.5.二、rpmforge源

rpmforge是一個第三方的軟件源倉庫,也是CentOS官方社區推薦的第三方yum源,它爲CentOS系統提供了超過10000個軟件包,被CentOS社區認爲是最安全也是最穩定的一個軟件倉庫。可是因爲這個安裝源不是CentOS自己的組成部分,所以要使用rpmforge,須要手動下載並安裝。

rpmforge的官方網站是http://repoforge.org ,能夠在http://repoforge.org/use/ 下載RHEL/CentOS各個版本的「rpmforge-release」包,這樣就可使用RPMForge提升的豐富軟件了。

四、二進制包方式安裝軟件

Linux下二進制格式的軟件是指事先已經在各類平臺編譯安裝好相關軟件,而後壓縮打包,在安裝時只需解壓或者執行安裝可執行文件便可。二進制軟件包的優勢是安裝簡單、容易,缺點是缺少靈活性,相應的軟件包執行在對應平臺下安裝,離開這個環境軟件就沒法運行。

二進制軟件包提供了不少類型的打包方式,最多見的就是RPM格式,還有以tar.gz、tgz、tar.bz2等形式的二進制軟件包。

這種格式的軟件包,安裝其實就是簡單的解壓過程,根據不一樣的軟件打包格式,用對應的解壓命令解壓便可。

相關文章
相關標籤/搜索