對Linux 系統中yum源的理解

1、刨根問底---什麼是yum源?yum的工作原理?

   說到yum源就必須說到linux系統中特有的依賴關係問題,yum就是爲了解決依賴關係而存在的。yum源就相當是一個目錄項,當我們使用yum機制安裝軟件時,若需要安裝依賴軟件,則yum機制就會根據在yum源中定義好的路徑查找依賴軟件,並將依賴軟件安裝好。

   YUM是“Yellow dog Updater, Modified”的縮寫,是一個軟件包管理器,YUM從指定的地方(相關網站的rpm包地址或本地的rpm路徑)自動下載RPM包並且安裝,能夠很好的解決依賴關係問題。


YUM的基本工作機制如下:
服務器端:在服務器上面存放了所有的RPM軟件包,然後以相關的功能去分析每個RPM文件的依賴性關係,將這些數據記錄成文件存放在服務器的某特定目錄內。
客戶端:如果需要安裝某個軟件時,先下載服務器上面記錄的依賴性關係文件(可通過WWW或FTP方式),通過對服務器端下載的紀錄數據進行分析,然後取得所有相關的軟件,一次全部下載下來進行安裝。


2、yum文件:

[root@linux-6 ~]# vim /etc/yum.repos.d/
google-chrome.repo  local-yum.repo      rhel-source.repo
[root@linux-6 ~]# vim /etc/yum.repos.d/       //在yum.repos.d 目錄下存放的就是yum源的設定文件。

[root@linux-6 ~]# vim /etc/yum.repos.d/rhel-source.repo     //打開一個yum源的設定文件
[rhel-source-beta]     //yum源的名稱,起到標記yum源的作用,
name=Red Hat Enterprise Linux $releasever Beta - $basearch - Source  //僅僅是對yum的描述,作用是使用戶可以更容易的讀懂該文件。
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/beta/$releasever/en/os/SRPMS/  //我們指定的查找依賴關係軟件的路徑,(該路徑可以是一個網址路徑,也可以是本機上的一個路徑。)
enabled=0       //enabled 是使能夠的意思,0表示baseurl定義的路徑是不可用的,1表示定義的路徑是可用的。
gpgcheck=1  //gpgcheck表示是否進行gpg檢測,0表示不進行,1表示進行。gpg檢查就是在使用yum安裝軟件是對軟件輸入公鑰進行驗證,看是否來源安全。
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release    //進行gpg檢查時,使用file協議導入公鑰,後面接的路徑就是系統自帶的公鑰存放路徑。

ftp://   表示使用的是ftp協議連接路徑,該協議一般用於非本地連接,本地yum使用的協議是:"file://"文件協議



3、兩種yum源:本地yum源和網絡yum源。本次只談本地yum源

   搭建本地yum源,我們首先就要有提供源的文件包,一般的Linux系統的鏡像文件iso中就含有搭建yum源所需的rpm文件。若是沒有建議到網上下載,注意要和自身使用的系統版本一致。

3.1確定iso鏡像文件的位置    //其實是因爲iso文件中有yum源所需的rpm包,好在下一步中實施掛載,若是知道你電腦上的iso文件在什麼地方,則無需這步。

3.2新建一個倉庫目錄                  //用來存放本地yum源。
[root@linux-6 ~]# mkdir  /iso  

3.3.1掛載鏡像文件到/iso目錄        //主要是獲得iso軟件
[root@linux-6 ~]# mount -o loop /***.iso  /iso       // /***.iso 表示鏡像文件所在本機上的絕對路徑。
3.3.2如果你有光驅也有光盤,並且光驅已經掛載,則只需使用如下命令:
[root@linux-6 ~]# mount /dev/cdrom   /iso

4.查看掛載       //主要是確認掛載是否成功
[root@teacher ~]# df -Th
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/sda3     ext4    321G  142G  163G  47% /
tmpfs        tmpfs    1.9G  336K  1.9G   1% /dev/shm
/dev/sda1     ext4     92G  233M   87G   1% /boot
/var/ftp/software/iso/rhel6.3.x86.iso
          iso9660    2.9G  2.9G     0 100% /iso
[root@teacher ~]#

5.在yum源文件中指定iso鏡像文件所掛載到的目錄的路徑,並將使用的協議改成file協議。
[root@teacher ~]#  vim /etc/yum.repos.d/rhel-source.repo

[rhel-source-beta]
name=Red Hat Enterprise Linux $releasever Beta - $basearch - Source
baseurl=file:///iso           //這是主要的不同之處,使用的是file協議,指定的路徑是/iso
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release


6.清除緩存,使最新的yum配置生效。

[root@linux-6 ~]# yum clean all

[root@linux-6 ~]# yum list




注:本人熱愛Linux,願意和各位linux愛好者交流,有意者加QQ:2306810955,驗證碼:linux。可以更深的交流。

指導老師:雙星科技馮老師

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