现场环境:
一台主机下有多个虚拟机,如15.32.12.122 ~ 15.32.12.130,安装centos6.3系统且为最小安装,即不少命令或者库都不支持或者没有,但在15.32.12.129上有一个镜像文件,其内有各类的安装文件,且路径为15.32.12.129/CentOS63/,咱们能够在浏览器中打开(固然,前提是咱们电脑的ip是要在同一网段的),在目录Packets下有不少.rpm安装文件。如今咱们想在15.32.12.122这台电脑上制做yum本地源。php
在有外网的条件下,咱们就直接能够用yum -y install perl命令安装perl环境,其原理也是经过外网去各类镜像下去寻找所要安装的文件,但在没有外网的环境下,咱们能够经过内网去链接内部的镜像,并从中下载,http://15.32.12.129/CentOS63就是这样的内部镜像路径。html
一、建立yum配置文件vim
cd /etc/yum.repos.d/
发现里面有几个.repo文件,里面描述的就是用yum进行安装时所要链接的镜像url,咱们本身须要建立一个.repo文件,在此命名为local.repocentos
#vi local.repo [local_server] name=This is local repo baseurl=http://15.32.12.129/CentOS/ enabeld=1 gpgcheck=0
gpgcheck=0时表示不对GPG-KEY进行检查。 若是咱们已经把全部所须要的.rpm文件所有拷贝到122这台电脑上,如目录为/rpm/下时,在baseurl这栏应该写为:浏览器
baseurl=file:///rpm/ //这里斜杠有三个
二、对yum进行初始化操做缓存
yum clean all //清除缓存 yum makecache //创建新缓存
但可能会发现创建新缓存失败,由于原来那几个.repo文件里的镜像是须要用外网链接的,但如今条件是没有外网,因此会提示找不到这些镜像url,咱们能够将这些.repo文件的扩展名改了,如都改成.repo_bark等,或者将这些.repo文件移动到其余文件下:bash
#mkdir back #mv Cent* back/
则yum.repos.d目录下只有一个local.repo文件,再从新以上操做就行。oop
三、能够用yum进行安装文件 如yum -y install tarpost
CentOS本地yum源的搭建
第一步:ui
从rsync协议的yum源,同步脚本以下:
[root@50-250 crontab]# cat yum_update.sh
#!/bin/bash
date=`date +%F`
echo $date > /var/log/yum_update.log
##########Centos
sour_URL="rsync://centos.ustc.edu.cn/centos"
osList="6.6"
os_Plant="x86_64"
cmd="rsync -avrt "
cmd=${cmd}${sour_URL}"/"${sour_Dir}"/"
outDir="/home/himalayas/yum/centos/6/" ### if change ,please notice the line of epel、rpmforge、rpmfusion
for yumdir in os updates extras centosplus contrib;
do
test -d $outDir/$yumdir || mkdir -p $outDir/$yumdir
rsync -avrt $sour_URL/$osList/$yumdir/$os_Plant $outDir/$yumdir >> /var/log/yum_update.log &
done
##########epel
test -d /home/himalayas/yum/epel/6/x86_64 || mkdir -p /home/himalayas/yum/epel/6/x86_64
rsync -avrt --exclude=debug/ --exclude=repoview/ rsync://centos.ustc.edu.cn/fedora/epel/6/x86_64/ /home/himalayas/yum/epel/6/x86_64 >> /var/log/yum_update.log &
##########rpmforge
test -d /home/himalayas/yum/rpmforge/6/rpmforge/x86_64 || mkdir -p /home/himalayas/yum/rpmforge/6/rpmforge/x86_64
test -d /home/himalayas/yum/rpmforge/6/extras/x86_64 || mkdir -p /home/himalayas/yum/rpmforge/6/extras/x86_64
rsync -avrt rsync://mirror.cpsc.ucalgary.ca/dag/redhat/el6/en/x86_64/rpmforge/ /home/himalayas/yum/rpmforge/6/rpmforge/x86_64 >> /var/log/yum_update.log & ###4678
rsync -avrt rsync://mirror.cpsc.ucalgary.ca/dag/redhat/el6/en/x86_64/extras/ /home/himalayas/yum/rpmforge/6/extras/x86_64 >> /var/log/yum_update.log &
##########rpmfusion
test -d /home/himalayas/yum/rpmfusion/free/x86_64 || mkdir -p /home/himalayas/yum/rpmfusion/free/x86_64
test -d /home/himalayas/yum/rpmfusion/nofree/x86_64 || mkdir -p /home/himalayas/yum/rpmfusion/nofree/x86_64
rsync -avrt rsync://centos.ustc.edu.cn/fedora/rpmfusion/free/el/updates/6/x86_64/ /home/himalayas/yum/rpmfusion/free/x86_64 >> /var/log/yum_update.log &
rsync -avrt rsync://centos.ustc.edu.cn/fedora/rpmfusion/nonfree/el/updates/6/x86_64/ /home/himalayas/yum/rpmfusion/nofree/x86_64 >> /var/log/yum_update.log &
备注:
1,访问这个网址:centos.ustc.edu.cn/centos/ ,当版本更新以后全部的rpm包可能有6.5转到6.6的目录下,这个时候要手工更改变量:osList="6.6",而后最好手工执行一次,看是否能够同步更新。
2,能够用以下命令,查看对方rsync源的目录结构和全部rpm包
rsync -avrt rsync://centos.ustc.edu.cn/centos/6.6/os/x86_64
第二步:添加到crontab天天同步一次
00 00 * * * /bin/bash /kuxun/crontab/yum_update.sh
-
Centos6.4光盘或镜像文件
-
安装了Centos6.4系统的电脑
方法/步骤
-
放入Centos6.4的镜像光盘或找到镜像文件
mount –o loop –t iso9660 CentOS-6.0-i386-bin-DVD.iso
mount /dev/cdrom /media/cdrom
-
编辑repo文件:
cd /etc/yum..repos.d
(文件位置/etc/yum.repos.d/,后缀必定是.repo结束.为了使用本身搭建的yum源我这里删除了自带的(rm –f ./*)
-
编辑本身的repo文件
方法一:
[root@helomeyum.repos.d]# vim local.repo (repo后缀)
[local_server](库名称)
name=Thisis a local repo (名称描述)
baseurl=file:///media/dvd(yum源目录,源地址)
enabled=1(是否启用该yum源,0为禁用)
gpgcheck=1 (检查GPG-KEY,0为不检查,1为检查)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6(gpgcheck=0时无需配置)
保存退出!
-
方法二:使用createrepo命令建立yum仓库
1.将全部rpm文件拷贝到一个文件夹中 cp -rv /media/光盘/Packs/* /所创建的文件夹
2.经过rpm命令手动安装createrepo命令建立yum仓库 rpm -ivh createrepo
3.运行命令createrepo -v /rpm-directory
4.若是有分组信息,则在运行命令的时候使用-g参数置顶分组文件
makedir /localserver (创建本地文件夹)
mount /dev/cdrom /media/cdrom
cp -rv /media/cdrom/光盘/Packs/* /localserver
cd /localserver
rpm -ivh createrepo (若提示须要安装依赖包,根据提示安装便可)
createrepo -v /localserver/ (建立索引信息,repodate)
如若须要分组信息
cp /media/cdrom/光盘/repodate/*.comp /comps.xml
createrepo -g /comps.xml /localserver (开始建立分组信息)
而后编辑repo文件(同方法一编辑方法相同)
-
[root@helome yum.repos.d]# yum clean all (清除缓存)
Loaded plugins: fastestmirror, refresh-packagekit, security
Cleaning repos: local_server
Cleaning up Everything
Cleaning up list of fastest mirrors
[root@helome yum.repos.d]# yum makecache (创建新缓存)
Loaded plugins: fastestmirror, refresh-packagekit, security
Determining fastest mirrors
local_server |4.0 kB 00:00 ...
local_server/group_gz | 209kB 00:00 ...
local_server/filelists_db | 4.8 MB 00:00 ...
local_server/primary_db | 3.5 MB 00:00 ...
local_server/other_db | 2.0MB 00:00 ...
Metadata Cache Created
[root@helome yum.repos.d]#
-
这下可使用yum本地源了
Test: yuminstall –y sendmail
-
到此yum本地源安装结束