linux:網絡yum源和製做本地光盤yum源

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

1、網絡yum源:linux

  如圖:下面所有都是yum源,後綴是".repo"都是合法的yum源,默認的是啓動的CentOS-Base.repo這個yum源(網絡yum源)centos

[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

  解釋:less

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

    name : 描述,容器說明網站

    mirrorlist : 鏡像網站,這個能夠註釋掉(網站在國外,有點慢)this

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

    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

2、製做本地光盤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中,開啓自動掛載

3、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 軟件組名

相關文章
相關標籤/搜索