http://www.zyops.com/autodeploy-yum 张导博客

具体内容在附件里:


具体搭建

第1章 本地yum源的搭建

1.1 快速部署脚本:

mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
echo "mount /dev/cdrom /mnt/cdrom" >> /etc/rc.local
cd /etc/yum.repos.d/
cp CentOS-Base.repo CentOS-Base.repo.source.bak.`date +%Y-%m-%d`
cat >/etc/yum.repos.d/CentOS-Base.repo <<kkk
[CentOS-Base]
name=CentOS5.0
baseurl=file:///mnt/cdrom/
enabled=1
gpgcheck=0
kkk
yum clean all
yum makecache
yum repolist
  • 脚本注释:

mkdir /mnt/cdrom 创建一个文件夹用于存放挂载光盘的文件
mount /dev/cdrom /mnt/cdrom 将光驱挂载在/mnt的文件夹中
echo "mount /dev/cdrom /mnt/cdrom" >> /etc/rc.local 将挂载命令写入到/etc/rc.local
配置文件中,目的为了实现光驱开机自动挂载
cd /etc/yum.repos.d/ 切换到 YUM配置文件目录
cp CentOS-Base.repo CentOS-Base.repo.bak 备份原始YUM 配置文件
cat >/etc/yum.repos.d/CentOS-Base.repo <<kkk 使用输入追加重定向追加多行内容
[CentOS-Base] 设置 YUM 的ID 名称
name=CentOS6.0 设置 YUM 的显示名称
baseurl=file:///mnt/cdrom/ 设置 YUM源的地址,本次设置为本机地址 ( file 表示文件://
表示格式, /mnt/cdrom 表示文件路径)
enabled=1 是否启用 YUM 源1 启用 0 禁用
gpgcheck=0 是否检查 YUM 源的安全性1 启用 0 禁用
kkk
yum clean all 清除 YUM 缓存文件
yum makecache 更新本地 YUM 缓存文件
yum repolist 查看可用的 YUM

 

1.2 手动配置详解:(配置本地yum源)

1.2.1 创建一个挂载目录

[root@localhost ~]# mkdir /mnt/cdrom -p 创建一个文件夹用于存放挂载光盘的文件
[root@localhost ~]# ls -ld /mnt/cdrom/ 检查文件是否被创建完成
drwxr-xr-x. 2 root root 4096 Mar 26 10:52 /mnt/cdrom/

1.2.2 将光驱挂载到/mnt/cdrom 目录下

[root@localhost ~]# mount /dev/cdrom /mnt/cdrom 将光驱挂载在/mnt 的文件夹中
mount: block device /dev/sr0 is write-protected, mounting read-only 表示挂载成功
[root@localhost ~]# ls /mnt/cdrom/ 检查光驱是否挂载成功
CentOS_BuildTag isolinux RPM-GPG-KEY-CentOS-Debug-6
EFI Packages RPM-GPG-KEY-CentOS-Security-6
EULA RELEASE-NOTES-en-US.html RPM-GPG-KEY-CentOS-Testing-6
GPL repodata TRANS.TBL
images RPM-GPG-KEY-CentOS-6

1.2.3 将挂载命令写入到rc.local 文件里,实现开机自动挂载

[root@localhost ~]# echo "mount /dev/cdrom/mnt/cdrom" >> /etc/rc.local 将挂载命令
写入到/etc/rc.local 配置文件中,目的为了实现光驱开机自动挂载
[root@localhost ~]# cat /etc/rc.local |grep mount 检查是否将挂载命令写入到
/etc/rc.local 这个配置文件中。 方法 1
[root@localhost ~]# tail -1 /etc/rc.local 方法2
mount /dev/cdrom /mnt/

1.2.4 将系统原始的YUM 配置文件进行备份

[root@localhost ~]# cd /etc/yum.repos.d/ 切换到YUM 配置文件目录
[root@localhost yum.repos.d]# cp CentOS-Base.repo CentOS-Base.repo.local.bak备份原
始 YUM 配置文件
[root@localhost yum.repos.d]# ll 检查YUM 的配置文件是否备份完成
-rw-r--r--. 1 root root 1991 Aug 3 2015 CentOS-Base.repo
-rw-r--r--. 1 root root 1991 Mar 26 10:59 CentOS-Base.repo.bak

1.2.5 CentOS-Base.repo 文件中覆盖内容

[root@localhost ~]# cat>/etc/yum.repos.d/CentOS-Base.repo <<kkk 使用输入追加重
定向追加多行内容
[CentOS-Base] 设置 YUM的 ID 名称
name=CentOS6.0 设置 YUM的显示名称
baseurl=file:///mnt/cdrom/ 设置YUM 源的地址,本次设置为本机地址 ( file 表示文件://
表示格式, /mnt/cdrom 表示文件路径)
enabled=1 是否启用 YUM源 1 启用 0 禁用
gpgcheck=0 是否检查 YUM源的安全性 1 启用 0 禁用
kkk
[root@localhost ~]# cd /etc/yum.repos.d/ 切换到YUM 配置文件目录
[root@localhost yum.repos.d]# cat CentOS-Base.repo 检查文件是否追加内容成功
[CentOS-Base]
name=CentOS6.0
baseurl=file:///mnt/cdrom/
enabled=1
gpgcheck=0

1.2.6 清理yum 缓存,更新 YUM 源文件

[root@localhost yum.repos.d]# yum clean all 清除YUM 缓存文件
Cleaning repos: CentOS-Base
Cleaning up Everything
[root@localhost yum.repos.d]# yum makecache 更新本地YUM 缓存文件
Loaded plugins: fastestmirror, security
Determining fastest mirrors
CentOS-Base | 4.0 kB 00:00 ...
CentOS-Base/group_gz | 219 kB 00:00 ...
CentOS-Base/filelists_db | 6.2 MB 00:00 ...
CentOS-Base/primary_db | 4.6 MB 00:00 ...
CentOS-Base/other_db | 2.8 MB 00:00 ...
Metadata Cache Created

1.2.7 查看本地YUM

root@localhost yum.repos.d]# yum repolist 查看可用的YUM 源
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
CentOS-Base | 4.0 kB 00:00 ...
repo id repo name status
CentOS-Base CentOS6.0 6,575
repolist: 6,575

 

第2章 内网yum源的搭建

 

2.1 服务端:yum仓库的搭建

2.1.1 创建yum仓库目录

mkdir -p /application/yum/centos6.7/x86_64/
cd /application/yum/centos6.7/x86_64/

rz  #上传rpm包到此目录,此目录下面还可以包括文件夹

 

2.1.2 安装createrepo软件

 

yum -y install createrepo

 

2.1.3 初始化repodata索引文件

 

createrepo -pdo /application/yum/centos6.7/x86_64/ /application/yum/centos6.7/x86_64/

 

2.1.4 提供yum服务

 

# 可以用Apachenginx提供web服务,但用Pythonhttp模块更简单,适用于内网环境

cd /application/yum/centos6.6/x86_64/

python -m SimpleHTTPServer 80 &>/dev/null&

可以通过浏览器输入本机IP查看。

[root@oldboy x86_64]# lsof -i:80
COMMAND  PIDUSER   FD   TYPE DEVICE SIZE/OFF NODE NAME
python  2069root    3u  IPv4 15023      0t0  TCP *:http (LISTEN)

 

2.1.5 添加新的rpm

 

# 只下载软件不安装

yumdownloader pcre-devel openssl-devel

createrepo --update /application/yum/centos6.6/x86_64/  

# 每加入一个rpm包就要更新一下。

平时yum安装软件时不删除安装包

 

# cat /etc/yum.conf

keepcache=1

# 安装包存储目录

cachedir=/var/cache/yum/$basearch/$releasever

# /var/cache/yum/x86_64/6/base/packages

 

2.2 客户端配置

2.2.1 修改配置文件

# cd /etc/yum.repos.d
[root@B yum.repos.d]# vi oldboy.repo
[oldboy]
name=Server
baseurl=http://10.0.0.5
enable=1
gpgcheck=0
[root@YUM ~]# yum --enablerepo=oldboy--disablerepo=base,extras,updates,epel list
# 指定使用oldboy库


2.2.2 清理yum 缓存,更新 YUM 源文件

[root@boygirl yum.repos.d]# yum clean all
已加载插件:fastestmirror, security
Cleaning repos: oldboy
清理一切
Cleaning up list of fastest mirrors
[root@boygirl yum.repos.d]# yum makecache
已加载插件:fastestmirror, security
Determining fastest mirrors
oldboy                                                                            
            |2.9 kB     00:00    
oldboy/filelists_db                                                               
            |3.3 MB     00:00    
oldboy/primary_db                                                                 
            |2.5 MB     00:00    
oldboy/other_db                                                                   
            |1.4 MB     00:00    
元数据缓存已建立

2.2.3 查看本地YUM

[root@boygirl yum.repos.d]# yum repolist
已加载插件:fastestmirror, security
Loading mirror speeds from cached hostfile
仓库标识                                                  仓库名称                                                 状态
oldboy                                                     Server                                                   3,204
repolist: 3,204

2.2.4yum源下载测试

[root@boygirl yum.repos.d]# yum install zsh -y

已加载插件:fastestmirror, security

设置安装进程

Loading mirror speeds from cached hostfile
解决依赖关系
--> 执行事务检查
---> Package zsh.x86_64 0:4.3.11-4.el6.centoswill be 安装
--> 完成依赖关系计算
 
依赖关系解决
 
======================================================================================================================
 软件包                架构                     版本                                  仓库                      大小
======================================================================================================================
正在安装:
 zsh                   x86_64                   4.3.11-4.el6.centos                    oldboy                   2.2 M
 
事务概要
======================================================================================================================
Install      1 Package(s)
 
总下载量:2.2 M
Installed size: 5.0 M
下载软件包:
zsh-4.3.11-4.el6.centos.x86_64.rpm                                                            | 2.2 MB     00:00    
运行 rpm_check_debug
执行事务测试
事务测试成功
执行事务
Warning: RPMDB altered outside of yum.
  正在安装   : zsh-4.3.11-4.el6.centos.x86_64                                                                    1/1
 Verifying  :zsh-4.3.11-4.el6.centos.x86_64                                                                    1/1
 
已安装:
  zsh.x86_640:4.3.11-4.el6.centos

                                                                              

 

完毕!

2.3 永久修改yum

上面是临时使用内网yum源,想永久并简单使用yum -y install lrzsz命令,就需要修改配置


文件将默认的repo文件关闭。

 

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

[root@oldboy yum.repos.d]# vimCentOS-Base.repo

# 在每一个启动的源加上

# enabled=0   #改为1就启用,没有此参数也是启用。

[base]

…………

enabled=0

[updates]

…………

enabled=0

[extras]

…………

enabled=0

# 还有其他开启的仓库就使用这个办法关闭。