在linux生产环境中,为了达到快速,安全,可靠部署的目的,往往需要建立本地yum源,同步官方或者国内的源库,而且建立本地源库,就可以减少生产环境机器对外网的需求,避免安全隐患。

建立本地yum源需要createrepo软件

yum install createrepo

本地yum源一般有两种,一种是基于系统服务的本地系统镜像源,就是说,让我们的yum工具可以安装更多,更新的软件,

使用光盘镜像,

mkdir -p /mnt/CentOS/                                #创建挂载目录

 

mount /dev/cdrom /mnt/CentOS                  #挂载光盘到目录(当使用的是光盘时)

mount CentOSxxx.iso /mnt/CentOS               #g挂载镜像到目录(当使用的是镜像时)

mkdir -p /data/ftp/pub/CentOS                 #创建本地yum源目录

cp /mnt/CentOS/* /data/ftp/pub/CentOS         #将文件拷贝到你要做yum源的位置

cd /data/ftp/pub/CentOS/                      #cd到yum源目录

createrepo .                                  #生产repodata目录,该目录存储所有rpm包的依赖关系,主要createrepo后面跟的点号,表示在当前目录处理依赖,生产repodata

这样一个简单的本地yum源库就建好了。

然后创建一个 xxx.repo文件指向这个源库

vim /etc/yum.repos.d/local.repo

[local-yum]

name=base

baseurl=file:///data/ftp/pub/CentOS

gpgcheck=0

这个yum源现在只适合本机,如果要使其他linux系统也可以使用这个源库,那么就要开启ftp或者http功能,将源目录指向为ftp共享目录或者http访问目录

ftp:

yum install vsftpd                           #安装ftp

chkconfig --level 2345 vsftpd on             #设置开机启动

service vsftpd start                         #启动ftp

cd /var/ftp/                                 #cd到FTP目录

rm -rf pub                                   #删除pub目录

ln -s /data/ftp/pub  /var/ftp/pub            #创建ftp目录到yum源的链接

这样就可以通过ftp实现多机器共享yum源了

修改/etc/yum.repos.d/local.repo

baseurl=file://xxx  修改为baseurl=ftp://IP/pub/CentOS   #IP是yum源所在主机。

 

另一种本地yum源是根据公司生产环境需求,做第三方软件源库,这种源的做法一般是通过wget或者rsync网络上的源库,下载同步到本地,不懂如何wget或者rsync的去查下如何使用这俩工具,然后找到你所需要的源库的URL,下载下来。

cd 到该文件目录
createrepo . 
创建xxx.repo文件
[base]
name=xxxrepo
baseurl=file://xxx或者http://xxx或者ftp://xxxx
gpgcheck=0
完成,去验证即可,
以后可以通过syncrepo更新源。
这只是最简单的
 
yum工具常用命令:
 

 
yum list updates

 

yum list installed

 

yum info installed xxx

 

yum list available

 

yum update xxxx

yum remove xxx