linux:網絡yum源和制作本地光盤yum源


linux:存放yum源的位置:/etc/yum.repos.d/,該目錄下全是一些yum源

一、網絡yum源:

  如圖:下面全部都是yum源,后綴是".repo"都是合法的yum源,默認的是啟動的CentOS-Base.repo這個yum源(網絡yum源)

[root@study yum.repos.d]# ls -l
total 28
-rw-r--r--. 1 root root 1664 Dec  9  2015 CentOS-Base.repo --- 網絡yum源
-rw-r--r--. 1 root root 1309 Dec  9  2015 CentOS-CR.repo
-rw-r--r--. 1 root root  649 Dec  9  2015 CentOS-Debuginfo.repo  --- debug修復工具yum源
-rw-r--r--. 1 root root  290 Dec  9  2015 CentOS-fasttrack.repo
-rw-r--r--  1 root root  661 Jun 29 09:41 CentOS-Media.repo  --- 本地光盤yum源
-rw-r--r--. 1 root root 1331 Dec  9  2015 CentOS-Sources.repo
-rw-r--r--. 1 root root 1952 Dec  9  2015 CentOS-Vault.repo  ---虛擬yum源

  要使用CentOS-Base.repo這個yum源,linux必須要能連接外網,否則是用不了網絡yum源的

  接下來看下CentOS-Base.repo這個網絡yum源文件的內容:

# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates 
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

  解釋:

    [base] : 容器名稱,必須放在[]中

    name : 描述,容器說明

    mirrorlist : 鏡像網站,這個可以注釋掉(網站在國外,有點慢)

    baseurl : 我們的yum源服務器地址,默認是centos官方的yum源服務器,可以使用

    enabled : 此容器是否生效,不寫或者寫成enabled=1都代表生效,寫成enabled=0表示不生效

    gpgcheck : 如果是1是指RPM的數字證書生效,如果是0則不生效

    gpgkey :  數字證書的公鑰文件保存位置。不用修改

  其實我們可以使用yum list查看一下yum可以安裝的列表:

yum-plugin-tsflags.noarch                                           1.1.31-34.el7                                  base     
yum-plugin-upgrade-helper.noarch                                    1.1.31-34.el7                                  base     
yum-plugin-verify.noarch                                            1.1.31-34.el7                                  base     
yum-plugin-versionlock.noarch                                       1.1.31-34.el7                                  base     
yum-rhn-plugin.noarch                                               2.0.1-5.el7                                    base     
yum-updateonboot.noarch                                             1.1.31-34.el7                                  base     
zenity.x86_64                                                       3.8.0-5.el7                                    base     
zlib.i686                                                           1.2.7-15.el7                                   base     
zlib-devel.i686                                                     1.2.7-15.el7                                   base     
zlib-static.i686                                                    1.2.7-15.el7                                   base     
zlib-static.x86_64                                                  1.2.7-15.el7                                   base     
zsh.x86_64                                                          5.0.2-14.el7_2.2                               updates  
zsh-html.x86_64                                                     5.0.2-14.el7_2.2                               updates  
zziplib.i686                                                        0.13.62-5.el7                                  base     
zziplib.x86_64                                                      0.13.62-5.el7                                  base     
zziplib-devel.i686                                                  0.13.62-5.el7                                  base     
zziplib-devel.x86_64                                                0.13.62-5.el7                                  base     
zziplib-utils.x86_64                                                0.13.62-5.el7                                  base     
[root@study yum.repos.d]# 

  上面的列表分為三部分(從左到右說明):包名(跟包全名不同,注意區分)、版本號(發現次數,適用的系統之類的)、右邊這個熟悉吧!就是yum源內的容器了(base、updates...)

  使用yum來進行安裝軟件,不需要我們自己解決安裝軟件包的依賴性,它會直接在yum源服務器把該軟件的相關依賴包全部下載並進行安裝,很方便

  但是當我們不能連接外網的時候,我們就使用不了網絡yum源了,這時該怎么辦呢?那就是要本地光盤yum源,也就是:CentOS-Media.repo

二、制作本地光盤yum源

  第一步:掛載光盤(/dev/cdrom這個可以使用/dev/sr0都可以一樣的,/mnt/cdrom這個cdrom目錄不存在就直接創建)

  掛載光盤之前,需要把光盤放入虛擬機中(linux中),就是你安裝linux時的鏡像就行

  mount /dev/cdrom /mnt/cdrom/

[root@study yum.repos.d]# mount /dev/sr0 /mnt/cdrom/
mount: /dev/sr0 is write-protected, mounting read-only
mount: /dev/sr0 is already mounted or /mnt/cdrom busy
       /dev/sr0 is already mounted on /mnt/cdrom

  因為我之前掛在過了,所以它提示/dev/sr0或者/mnt/cdrom很忙,也就是已經掛載了的意思

  第二步:修改/etc/yum.repos.d/目錄下的yum源的名稱,如下代碼,使用mv命令修改名稱,因為我們制作本地光盤yum源,所以CentOS-Media.repo不做修改

[root@study yum.repos.d]# ls -l
total 28
-rw-r--r--. 1 root root 1664 Dec  9  2015 CentOS-Base.repo.bak
-rw-r--r--. 1 root root 1309 Dec  9  2015 CentOS-CR.repo.bak
-rw-r--r--. 1 root root  649 Dec  9  2015 CentOS-Debuginfo.repo.bak
-rw-r--r--. 1 root root  290 Dec  9  2015 CentOS-fasttrack.repo.bak
-rw-r--r--  1 root root  661 Jun 29 09:41 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Dec  9  2015 CentOS-Sources.repo.bak
-rw-r--r--. 1 root root 1952 Dec  9  2015 CentOS-Vault.repo.bak

  然后就是修改CentOS-Media.repo文件了,先看下該文件的內容:

# CentOS-Media.repo
#
#  This repo can be used with mounted DVD media, verify the mount point for
#  CentOS-7.  You can use this repo and yum to install items directly off the
#  DVD ISO that we release.
#
# To use this repo, put in your DVD and use it with the other repos too:
#  yum --enablerepo=c7-media [command]
#  
# or for ONLY the media repo, do this:
#
#  yum --disablerepo=\* --enablerepo=c7-media [command]

[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
        file:///media/cdrom/
        file:///media/cdrecorder/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

其實跟上面的CentOS-Base.repo文件的配置項一樣,只是配置的內容有點不同,最大的不同在於baseurl:

  網絡yum源的baseurl后面跟着url地址,而CentOS-Base.repo本地光盤yum源的baseurl后面則是光盤掛載的地址

  此時我們要使本地光盤yum源生效,需要改baseurl和enabled的配置,容器名稱隨便寫,name描述也隨便寫,只要你自己記得認識就行:

  baseurl=file:///mnt/cdrom/(你剛才光盤掛載的位置),其他的幾個位置直接注釋點就行,不注釋也行,但是每次執行的時候會報錯提示找不到

  enabled=1(這個很重要,在上面講網絡yum源的時候講到過,這就是個開關,設置為1(或者直接這個配置項不寫)表示yum源生效,寫成0表示不生效)

  修改后的文件內容如下:

[c7-media]
name=CentOS-$releasever - Media
baseurl= file:///mnt/cdrom/
#        file:///media/CentOS/
#        file:///media/cdrom/
#        file:///media/cdrecorder/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

  這個時候本地光盤yum源就制作好了,接下來可以使用yum list獲取yum源安裝的列表看一下我們制作的本地光盤yum源是否生效:

yum-plugin-show-leaves.noarch                                      1.1.31-34.el7                                   c7-media 
yum-plugin-tmprepo.noarch                                          1.1.31-34.el7                                   c7-media 
yum-plugin-tsflags.noarch                                          1.1.31-34.el7                                   c7-media 
yum-plugin-upgrade-helper.noarch                                   1.1.31-34.el7                                   c7-media 
yum-plugin-verify.noarch                                           1.1.31-34.el7                                   c7-media 
yum-plugin-versionlock.noarch                                      1.1.31-34.el7                                   c7-media 
yum-rhn-plugin.noarch                                              2.0.1-5.el7                                     c7-media 
yum-updateonboot.noarch                                            1.1.31-34.el7                                   c7-media 
zenity.x86_64                                                      3.8.0-5.el7                                     c7-media 
zlib.i686                                                          1.2.7-15.el7                                    c7-media 
zlib-devel.i686                                                    1.2.7-15.el7                                    c7-media 
zlib-static.i686                                                   1.2.7-15.el7                                    c7-media 
zlib-static.x86_64                                                 1.2.7-15.el7                                    c7-media 
zsh.x86_64                                                         5.0.2-14.el7                                    c7-media 
zsh-html.x86_64                                                    5.0.2-14.el7                                    c7-media 
zziplib.i686                                                       0.13.62-5.el7                                   c7-media 
zziplib.x86_64                                                     0.13.62-5.el7                                   c7-media 
zziplib-devel.i686                                                 0.13.62-5.el7                                   c7-media 
zziplib-devel.x86_64                                               0.13.62-5.el7                                   c7-media 
zziplib-utils.x86_64                                               0.13.62-5.el7                                   c7-media 
[root@study yum.repos.d]# 

  這個列表我在上面講過,我們就看最右邊的就行"c7-media",大家發現沒,由原來的base、updates變成了 c7-media,這個容器名稱大家屬性吧!就是我們剛才制作的本地光盤yum源的容器名稱,說明這些yum源安裝的軟件列表都是從我們制作的本地光盤yum源里面獲取到的,說制作成功了!

  但是本地光盤yum源有2個問題:

    1.那就是不能獲取最新的軟件,比較是從我們的光盤中獲取的的軟件,不過沒事,等我們可以連接外網了,使用yum工具來升級

    2.那就是每次當你開機時,想要使用都必須把光盤添加到虛擬機,然后手動掛載,或者開機前把光盤放進去,然后可以把掛載命令寫到/etc/rc.d/rc.local中,開啟自動掛載

三、yum常用的命令

  選項-y是自動回答yes

  1.升級:update

  格式:yum -y update 包名(注意這里說的是包名不是包全名)

  注意:千萬不能只寫yum -y update,沒寫包名就執行了,那這樣就是升級整個linux系統的所以軟件,包括內核都會升級,一旦全部升級了,那么你的服務器就不能被遠程連接,很多問題就都出來了

  2.卸載:remove

  格式:yum -y remove 包名(注意這里說的是包名不是包全名)

  注意:千萬不要隨便的去卸載一個軟件,因為它不只是卸載這個軟件本身這么簡單,大家都知道,linux的軟件都有依賴性的,可能好幾個軟件都依賴同一個安裝包,一旦你卸載其中一個軟件,那么對應的依賴包也都跟着一起卸載,就會造成某些軟件無法正常使用

  3.安裝:install

  格式:yum -y install 包名(注意這里說的是包名不是包全名)

  4.查詢:list、search

  格式:yum list

  格式:yum search 關鍵字

  5.yum軟件組管理命令

  獲取軟件組命令:yum grouplist

  安裝:yum groupinstall 軟件組名

  卸載:yum groupremove 軟件組名


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM