yum源
yum源
如何配置linux上的本地yum源
yum是什麼,yum源又是什麼
在windows上安裝一個軟體,我們可以通過360管家。因為360管家提供了軟體的安裝,解除安裝,並且解決了軟體之間的依賴等相關問題,使得我們能夠一鍵安裝。在linux上有一個提供了和360管家類似功能的工具,叫做yum。使用yum我們就可以做到一個命令安裝軟體,並且不同的發行linux有不同工具,例如紅帽(read hat)linux就使用的rpm全稱就是read hat package manager 紅帽軟體包管理工具。
yum源是什麼呢?我們安裝軟體的時候需要下載軟體,將很多軟體放在一起就是源。軟體安裝包的來源。所以yum源就是軟體安裝包來源。如果我們是線上的,他會在網上給你下載安裝包,如果是離線的沒有網路。那麼就只能配置本地的yum源了。
本地yum源是什麼
上面說過yum源就是軟體安裝包的來源,但是這些安裝包哪裡有呢?其實在linux的安裝映象中就有的,linux已經將常見的安裝包放到了linux映象中。如果你使用壓縮檔案開啟linux的iso映象檔案,你會發現在根目錄下有個資料夾:packages
上圖就是使用壓縮軟體開啟的系統盤內部情況,比如我們常用的工具vim,就是在這裡面的。所以說:系統的安裝映象就可以當作yum源。
與yum源相關的配置檔案
上圖就是yun源相關的配置,在路徑/etc/yum.repos.d/目錄下,一共4個檔案,說下兩個常用的。
- CentOS-Base.repo:有網的環境下預設使用這個,這個是第一優先順序。因為沒網,所以修改檔名,設定成備份檔案。這樣系統就會使用第二優先順序的檔案。
- CentOS-Media.repo:沒網的環境下使用這個,在上圖中會發現他預設配置了4個路徑,第4個yumsource是我自己加的。意思是說,如果系統檢測yum使用了離線安裝,那麼會從上到下從這4個路徑中查詢安裝軟體。所以我們只要把光碟掛載在這四個目錄下的任意一個目錄即可。同時,該配置檔案預設是不啟用的,如果想使用需要修改倒數第二行的enabled為1,否則該檔案無效。
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
掛載
media目錄與mnt目錄
掛載光碟或者u盤等使用的mount命令,但是你百度所有會說有掛在media目錄下,也有掛載在mnt目錄下的。這兩個目錄區別是什麼呢?
media:掛載一些移動裝置,例如光碟,U盤等。
mnt:掛載一些硬碟等裝置。所以我們的光碟應該掛載在media目錄下,從yum給的預設配置檔案也能看出。
掛載光碟到系統上
如上圖,首先執行df -h命令發現當前系統沒有光碟資訊,然後掛載目錄之後,在檢視就發現我們把光碟掛載到了系統上,光碟大小4.2G。
-o loop :指定掛載檔案型別,說簡單點就是我要掛載的是光碟這種裝置。
解除安裝光碟
執行df -h發現光碟是掛載的,然後執行umount命令之後,在檢視發現裝置被解除安裝了