也可以在 /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本地源安裝結束