現場環境:
一臺主機下有多個虛擬機,如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本地源安裝結束