一、yum仓库的工作原理

 



yum客户端:以安装为例 第一步:获取仓库元数据 缓存于本地:/var/cache/yum 第二步:安装程序包 yum客户端程序在本地分析元数据文件,并结合本地系统环境(已安装的包)做出要安装的程序包的决策 X --> Y,Z,M,N 第三步:获取程序包 根据决策联系Yum仓库,下载各程序包缓存于本地后,一并进行安装;



二、使yum仓库配置文件的修改

用yum机制:

1、确保有yum repo可用;

rpm包的文件服务器,repodata目录所在父目录就是一个可用仓库;


ftp     ftp://server/path/to/repository      ftp仓库baseurl的目录配置
http    http://server/path/to/repository     http仓库baseurl的目录配置
nfs  nfs://server/nfs_path                nts仓库baseurl的目录配置
file   file:///path/to/repository            本地仓库baseurl的目录配置
            file:///media/cdrom

2、yum客户端

指供repo配置文件,指明仓库访问路径及各种属性信息

主配置文件(中心配置文件):/etc/yum.conf

一个或几个相关仓库的配置信息可保存为一个文件,文件名都以.repo结尾:/etc/yum.repos.d/

在.repo文件定义一个yum repo指向的格式:


[REPOID]
name=Some name for this repository
baseurl=file:///media/cdrom
ftp:///pub/ftp/centos
 Must  be  a  URL  to  the  directory where the yum repository's 'repodata' directory lives
enabled={0|1}    
gpgcheck={0|1}   gpgcheck检测 0 不检测  1 检测
gpgkey=URL       gpgkey检测 0 不检测  1 检测
 
mirrorlist=URL to a file   mirrorlist url 链接
mirrorlist  Specifies a URL to a file containing a list of baseurls
                           cost={1..n}   带宽开销


默认为1000,指定访问此仓库的开销

三、实验

                           三种方法配置yum仓库

一、本地yum仓库的配置

1、到镜像源网站下载适合自己平台centos的镜像源dvd2

2、虚拟机挂载光驱

3、虚拟机挂载光盘镜像


[root@localhost ~]# mount   查看挂载情况
/dev/mapper/vg0-root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/mapper/vg0-usr on /usr type ext4 (rw)
/dev/mapper/vg0-var on /var type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
[root@localhost /]# mount /dev/dvd/ tmp/zz    挂载光盘镜像
mount: block device /dev/sr0 is write-protected, mounting read-only  只读
[root@localhost /]# mount   查看挂载情况
/dev/mapper/vg0-root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/mapper/vg0-usr on /usr type ext4 (rw)
/dev/mapper/vg0-var on /var type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sr0 on /tmp/zz type iso9660 (ro)
[root@localhost /]# cd /tmp/zz
[root@localhost zz]# ls -a     进入目录查看
.                .discinfo  GPL       Packages      软件包            RPM-GPG-KEY-CentOS-6           RPM-GPG-KEY-CentOS-Testing-6
..               EFI        p_w_picpaths    RELEASE-NOTES-en-US.html  RPM-GPG-KEY-CentOS-Debug-6     TRANS.TBL
CentOS_BuildTag  EULA       isolinux  repodata    yum仓库索引目录              RPM-GPG-KEY-CentOS-Security-6  .treeinfo

vim /etc/yum.repos.d/local.repo 
[base]
name=local yum cangku   仓库名
baseurl=file:///tmp/zz/   仓库链接
gpgcheck=0                gpgcheck不检测
5、实验结果
[root@localhost zz]# yum clean all   清除yum缓存
Loaded plugins: fastestmirror, refresh-packagekit, security
Cleaning repos: base
Cleaning up Everything
Cleaning up list of fastest mirrors
[root@localhost zz]# yum repolist all   查看可用yum仓库
Loaded plugins: fastestmirror, refresh-packagekit, securty
Determining fastest mirrors
base                                                                                                           | 4.0 kB     00:00 ... 
base/primary_db                                                                                                | 4.4 MB     00:00 ... 
repo id                                                repo name                                                        status
base                                                   local yum cangku  仓库名                                               enabled: 6,367    可用软件包
repolist: 6,367   目录索引



                 注意前提、虚拟机配置能上网

1、去镜像官网 http://mirrors.163.com

yum仓库添加k8s版本 yum仓库搭建与使用_html

2、找到centos帮助

yum仓库添加k8s版本 yum仓库搭建与使用_html_02

3、点击属性

yum仓库添加k8s版本 yum仓库搭建与使用_开发工具_03

4、复制链接

yum仓库添加k8s版本 yum仓库搭建与使用_开发工具_04

5、下载yum镜像源网站yum目录索引

 



[root@localhost yum.repos.d]# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo  下载yum镜像源网站yum目录索引
--2014-07-12 10:24:39--  http://mirrors.163.com/.help/CentOS6-Base-163.repo
Resolving mirrors.163.com... 123.58.173.106
Connecting to mirrors.163.com|123.58.173.106|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2006 (2.0K) [application/octet-stream]
Saving to: `CentOS6-Base-163.repo'

100%[==========================================================================================================>] 2,006       --.-K/s   in 0.08s   

2014-07-12 10:24:41 (25.2 KB/s) - `CentOS6-Base-163.repo' saved [2006/2006]

[root@localhost yum.repos.d]# ls -a
.  ..  CentOS6-Base-163.repo  CentOS6-Base-163.repo.bak  centos  local.repo
         yum目录索引


1、注意安装服务前的工作 安装httpd 、ceraterepo 两款软件  下载yum软件



[root@localhost yum.repos.d]# rpm -q httpd   查询是否安装httpd软件
httpd-2.2.15-30.el6.centos.x86_64
[root@localhost yum.repos.d]# rpm -q createrepo 查询是否安装createrepo软件
createrepo-0.9.9-18.el6.noarch
2、启动httpd服务 80端口监听
[root@localhost yum.repos.d]# service httpd start      启动httpd服务
                                                           [  OK  ]
[root@localhost yum.repos.d]# ss -tanlp
State      Recv-Q Send-Q                                          Local Address:Port                                            Peer Address:Port 
LISTEN     0      128                                            80端口监听



3、复制软件包、生成目录索引  



[root@localhost html]# pwd   查询当前目录
/var/www/html
[root@localhost html]# ls -a   查询当前目录下的文件
.  ..  book
[root@localhost book]# createrepo /var/www/html/book/   创建yum目录索引
Spawning worker 0 with 548 pkgs
Workers Finished
Gathering worker results
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete          创建信息        
[root@localhost html]# cd book
[root@localhost book]# ls -a   进入软件包查看
cdparanoia-libs-10.2-5.1.el6.i686.rpm    软件包      repodata yum目录索引
cdparanoia-libs-10.2-5.1.el6.x86_64.rpm



4、文件配置



[root@localhost html]# vim /etc/yum.repos.d/local.repo 
[base]
name=local yum cangku   仓库名
baseurl=http://172.16.111.43/book   目录链接
gpgcheck=0     gpgcheck 不检测


yum仓库添加k8s版本 yum仓库搭建与使用_开发工具_05

四、总结

此文主要的重点是配置文本的新建编辑、baseurl的指向要搞清楚、yum仓库的工作原理和yum目录索引记录的建立



转载于:https://blog.51cto.com/1983939925/1440540