您的位置:首页 > 运维架构 > Linux

Linux学习——yum学习和光盘yum源搭建

2017-06-17 11:01 381 查看
在rmp安装的时代,rpm包依赖让安装人员头大,而且头疼,有了yum后整个的安装更加简单和方便。

yum源文件

1.yum源的介绍:

将所有的软件包放到官方服务器上,当进行yum在线安装时,可以自动解决依赖性问题。

注:在redHat 系列 使用yum源在线安装需要付费

2.yum源文件在哪里

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ll
总用量 16
-rw-r--r--. 1 root root 1926 6月  26 2012 CentOS-Base.repo
-rw-r--r--. 1 root root  637 6月  26 2012 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  626 6月  26 2012 CentOS-Media.repo
-rw-r--r--. 1 root root 2593 6月  26 2012 CentOS-Vault.repo
[root@localhost yum.repos.d]#


四个yum源,默认 CentOS_Base.repos 生效,还有Debuginfo调试,Media本地媒介,Vault


打开CentOS-Base.repo看里面的内容:

[root@localhost yum.repos.d]# cat CentOS-Base.repo
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# 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
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

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

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

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

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[root@localhost yum.repos.d]#

对里面的配置内容进行介绍:

[base]  容器的名称,一定要放到[]中
name   容器的说明,可以自己随便写
mirrorlist 镜像站点,默认镜像站点为国外站点,需要使用可以修改为国内(360、清华镜像站点),这个可以注释掉
baseurl 我们的yum源服务器地址,默认是CentOS官方的yum源服务是可以使用的,如果你觉得慢,可以改成自己喜欢的yum源地址
enable  此容器是否生效,如果不写默认为1,enable 等于1 是生效的,写成0不生效
gpgcheck 如果是1 指的rpm的数字证书生效,如果是0则不生效,建议开启,在安装有非法的rpm 时会报错,不并有提示rpm包危险,可以保护系统安全。
gpgkey  证书  Linux安装后都会有

3.光盘yum的搭建

如果系统不能上网,那么该如何使用yum源呢?

下面介绍光盘搭建本地yum源:

因为光盘已经包含了所有的rmp。

(1).在虚拟机设置中,选择光盘(镜像文件),如图:



(2).将光盘进行挂载

mkdir /mnt/cdrom #建立挂载点
mount /dev/cdrom /mnt/cdrom #挂载光盘

[root@localhost yum.repos.d]# mkdir /mnt/cdrom
[root@localhost yum.repos.d]# mount /dev/cdrom /mnt/cdrom/
mount: block device /dev/sr0 is write-protected, mounting read-only

mount: block device /dev/sr0 is write-protected, mounting read-only

这是正常的提示.无需解决. /dev/cdrom写保护,以只读方式挂载。

(3).使网络yum源失效

a.删除CentOS_Base.repos ,一般不建议

b.修改配置文件,添加enable = 0,让配置不生效,操作不太方便

c. 修改默认源名称,其实系统检查的就是repo这个后缀名


[root@localhost yum.repos.d]# cd /etc/yum.repos.d/

[root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak


[root@localhost yum.repos.d]# ll
总用量 16
-rw-r--r--. 1 root root 1926 6月  26 2012 CentOS-Base.repo
-rw-r--r--. 1 root root  637 6月  26 2012 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  626 6月  26 2012 CentOS-Media.repo
-rw-r--r--. 1 root root 2593 6月  26 2012 CentOS-Vault.repo
[root@localhost yum.repos.d]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak
[root@localhost yum.repos.d]# ll
总用量 16
-rw-r--r--. 1 root root 1926 6月  26 2012 CentOS-Base.repo.bak
-rw-r--r--. 1 root root  637 6月  26 2012 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  626 6月  26 2012 CentOS-Media.repo
-rw-r--r--. 1 root root 2593 6月  26 2012 CentOS-Vault.repo
[root@localhost yum.repos.d]#

(4).让光盘yum源生效,CentOS-Media.repo

首先查看CentOS-Media.repo内容:

[root@localhost yum.repos.d]# cat CentOS-Media.repo
# CentOS-Media.repo
#
# This repo is used to mount the default locations for a CDROM / DVD on
#  CentOS-6.  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=c6-media [command]
#
# or for ONLY the media repo, do this:
#
#  yum --disablerepo=\* --enablerepo=c6-media [command]

[c6-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-6
[root@localhost yum.repos.d]#

4.1 baseurl 不是真正的挂载点,我们定义的挂载点为/mnt/cdrom

修改,并注释掉file:///media/cdrom/和 file:///media/cdrecorder,因为这两个目录本地没有,

注释掉,不注释可能会报错。

baseurl=file:///mnt/cdrom
#        file:///media/cdrom/
#        file:///media/cdrecorder

4.2 设置 enable = 1使生效

最终修改内容:

[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom/
#        file:///media/cdrom/
#        file:///media/cdrecorder/
gpgcheck=1
enabled=1

(5).验证 ,看是是否生效

(1) yum 命令

yum命令

yum list #能够查出所有可用的软件包列表

yum search 关键字 #搜索服务器上所有和关键字相关的包

例如:

yum search gcc

[root@localhost yum.repos.d]# yum search gcc
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
=============================================================================================== N/S Matched: gcc ================================================================================================
compat-libgcc-296.i686 : Compatibility 2.96-RH libgcc library
gcc-c++.i686 : C++ support for GCC
gcc-gnat.i686 : Ada 95 support for GCC
gcc-java.i686 : Java support for GCC
gcc-objc.i686 : Objective-C support for GCC
gcc-objc++.i686 : Objective-C++ support for GCC
libgcc.i686 : GCC version 4.4 shared support library
compat-gcc-34.i686 : Compatibility GNU Compiler Collection
compat-gcc-34-c++.i686 : C++ support for compatibility compiler
compat-gcc-34-g77.i686 : Fortran 77 support for compatibility compiler
gcc.i686 : Various compilers (C, C++, Objective-C, Java, ...)
gcc-gfortran.i686 : Fortran support
libgcj.i686 : Java runtime library for gcc
libgcj-devel.i686 : Libraries for Java development using GCC
libgcj-src.i686 : Java library sources from GCC4 preview
libgomp.i686 : GCC OpenMP v3.0 shared support library
libmudflap.i686 : GCC mudflap shared support library
libmudflap-devel.i686 : GCC mudflap support

Name and summary matches only, use "search all" for everything.
[root@localhost yum.repos.d]#

(2)安装

yum -y install 包名

选项:
-install 安装
- -y 自动回答yes[安装的时候不会再弹出来,是否要安装]
例如:yum -y install gcc

注: yum 安装只写包名即可

备注命令:

(1)yum -y update 包名 #用于升级命令

升级一般不去做,除非遇到大的安全漏洞。

yum -y update 这是要升级Linux所有的程序,还有升级Linux内核!
新内核基本要进行配置才能使用,才能起到,这个命令一使用,系统直接奔溃。

人生不易!升级命令慎用!

(2)yum -y remove 包名 #用于卸载

最小化安装,用什么软件装什么软件,尽量不卸载!

尽量不卸载!因为卸载也有依赖性,如果不清楚卸载软件的依赖性,可能会卸载系统依赖的软件包,导致系统报错或者奔溃!

总结:yum网络和yum本地 一般使用建议本地的,这个没有网络延迟等问题

欢迎访问我的csdn博客,我们一同成长!

"不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!"

博客首页:http://blog.csdn.net/u010648555
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: