也可以在 /etc/yum.conf 指定
cachedir=/var/cache/yum #存放目录
keepcache=1 #1为保存 0为不保存
metadata_expire=1800 #过期时间
CentOS下yum本地源创建
现场环境:
一台主机下有多个虚拟机,如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本地源。
在有外网的条件下,我们就直接可以用yum -y install perl命令安装perl环境,其原理也是通过外网去各种镜像下去寻找所要安装的文件,但在没有外网的环境下,我们可以通过内网去连接内部的镜像,并从中下载,http://15.32.12.129/CentOS63就是这样的内部镜像路径。
1、创建yum配置文件
cd /etc/yum.repos.d/
发现里面有几个.repo文件,里面描述的就是用yum进行安装时所要连接的镜像url,我们自己需要创建一个.repo文件,在此命名为local.repo
#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/ //这里斜杠有三个
2、对yum进行初始化操作
yum clean all //清除缓存
yum makecache //建立新缓存
但可能会发现建立新缓存失败,因为原来那几个.repo文件里的镜像是需要用外网连接的,但现在条件是没有外网,所以会提示找不到这些镜像url,我们可以将这些.repo文件的扩展名改了,如都改为.repo_bark等,或者将这些.repo文件移动到其他文件下:
#mkdir back
#mv Cent* back/
则yum.repos.d目录下只有一个local.repo文件,再重新以上操作就行。
3、可以用yum进行安装文件 如yum -y install tar
CentOS本地yum源的搭建
第一步:
从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本地源安装结束