linux安裝軟件

rpm和yum

 

在linux中安裝一個軟件包並不像在windows中雙擊就能安裝,因爲在linux的一個特性就是組合小的軟件完成大的功能,所以爲了完成一個大的功能通常需要安裝多個包來組合,各個包完成相應的任務而包又相互組合。

在redhat中安裝一個包用的命令是:rpm

   rpm package management 最早是由redhat開發的用來在自己的系統上安裝程序包,但由於其方便實用,在CentOS,Fedora,等系統中被採用。
另一種常用的是:dep           在debain,Ubuntu,上被使用。
在安裝數據包的時候有時候有依賴關係:比如安裝A需要B,安裝B又需要安裝C,但安裝C又需要A,這樣構成循環,雖說在rpm中可以強制安裝包,但當有很多包有依賴關係時候,rpm或dep就很難解決了。所以就出現了yum:
yum 全稱yellowdog update manager,是redhat在rpm的基礎上進一步發展而成的,主要用於解決安裝多個數據包時自動的解決依賴關係,自動的將多個包歸爲一組,同時提供了更多的選項來管理數據包。yum有客戶端和服務器兩部分,兩部分可以在同一臺主機上,也可以使分開的。服務器部分通常被稱爲yum庫(因爲其提供了所有的rpm數據包)。yum客戶端的配置文件有兩部分
1.       /etc/yum.conf       其內容有以下幾部分

      cachedir    表示yum在本地的緩存位置

      keepcache      是否存儲緩存(0不存,1存儲)

      logfile       日誌保存的目錄

      gpgcheck        是否檢查(0不檢查,1檢查)

      exactarch       版本是否精確匹配

      metadata        緩存保存的時間

      一般這個配置文件中的內容不需要改變。

2.       /etc/yum.repos.d/*.repo  文件的名字隨意,但後綴必須是repo,而這個文件中可以存儲多個庫,redhat中的庫有以下幾個:VT,Server,Cluster,ClusterStorage,分別實現虛擬化,基本操作,集羣,集羣中的存貯。沒個庫內容除了路徑不相同之外其他的都相同。每個庫中通常包括以下幾部分:

      [identify]        庫的表示符

      name=描述信息

      baseurl=庫的路徑,必須寫到包含repo的文件夾(最重要)

      gpgcheck=1/0 1表示檢查每個包的校驗碼,0表示不校驗

      enable=1/0       1表示啓用該庫,0反之

eg:
[ClusterStorage]

name=Instructor ClusterStorage Repository

baseurl=http://instructor.example.com/yum/ClusterStorage

gpgcheck=0

enable=1

表示ClusterStroage庫所在的位置在baseurl=http://instructor.example.com/yum/中

其他的幾個庫也依照這種寫法

 

yum命令的使用方法:

             yum   [option]    [command]        packagename

       eg:    yum   -y        install       httpd

             [option]中最常用的有:

                  -y        表示只要需確定的一直是yes

                  -q        使用靜默模式

                  --nogpgcheck       不對數據包校驗(要確認數據包的來源)

             [command]中的命令:

                  install       安裝軟件包

                  update      升級軟件包

                  check-update       檢查並升級

                  remove/erase       卸載軟件包

                  list      默認列出所有軟件包,還有二級選項

                         all/available/updates/installed/extra/recent/glob_exp                        

                  info           顯示簡要信息

                  provides   表示有那個包提供

                  grouplist        列出組

                  groupinstall         已經安裝的組

                  groupinfo       組信息

                  localinstall    安裝本地的包,但有依賴關係的包在庫中時自動查找並安裝

                  reinstall          重新安裝

                  downgrade                降級

                  repolist                列出可用的庫

 

tips

1.  在使用yum庫時能夠自動的解決依賴關係主要是根據repodata這個文件中定義的信息來實現的,其中filelists.xml.gz記錄庫中的包名,other.xml.gz記錄其他內容,primary.xml.gz記錄主要信息,repomd.xml是總括前面三個信息的。當有一堆軟件包時,可以使用命令:createrepo來創建repodata這個文件夾和其中的內容。詳細createrepo的使用方法,我會在以後的博客中介紹的。

2. glob_exp 表示:bash中的統配符  如* . 等

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章