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 软件组名

相关文章
相关标签/搜索