YUM本地仓库

一、yum的定义

1.1、yum的简介

yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。

基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

1.2、yum的配置文件

直接配置/etc目录下的yum.conf文件

 1  cat /etc/yum.conf 
 2  
 3 [main]
 4 cachedir=/var/cache/yum    #yum下载的RPM包的缓存目录
 5 keepcache=0                #缓存是否保存,1保存,0不保存。
 6 debuglevel=2               #调试级别(0-10),默认为2(具体调试级别的应用,我也不了解)。
 7 logfile=/var/log/yum.log   #yum的日志文件所在的位置
 8 exactarch=1                #在更新的时候,是否允许更新不同版本的RPM包,
 9                            #比如是否在i386上更新i686的RPM包。
10 obsoletes=1                #这是一个update的参数,具体请参阅yum(8),
11                            #简单的说就是相当于upgrade,允许更新陈旧的RPM包。
12 gpgcheck=1                 #是否检查GPG(GNU Private Guard),一种密钥方式签名。
13 plugins=1                  #是否允许使用插件,默认是0不允许,
14                            #但是我们一般会用yum-fastestmirror这个插件。
15 installonly_limit=3        #允许保留多少个内核包。
16 exclude=selinux*           #屏蔽不想更新的RPM包,可用通配符,多个RPM包之间使用空格分离。

 

1.3、yum仓库设置文件

repo文件是Fedora中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用!

 1 [fedora]       #方括号里面的是软件源的名称,将被yum取得并识别
 2  
 3 name=Fedora $releasever - $basearch   #这里也定义了软件 仓库的名称,通常是为了方便阅读配置文件,一般没什么作用,$releasever变量定义了发行版本,通常是8,9,10等数字,$basearch变 量定义了系统的架构,可以是i386、x86_64、ppc等值,这两个变量根据当前系统的版本架构不同而有不同的取值,这可以方便yum升级的时候选择 适合当前系统的软件包,以下同……
 4 failovermethod=priority   #failovermethod 有两个值可以选择,priority是默认值,表示从列出的baseurl中顺序选择镜像服务器地址,roundrobin表示在列出的服务器中随机选择
 5 exclude=compiz* *compiz* fusion-icon* #exclude这个选项是后来我自己加上去的,用来禁止这个软件仓库中的某些软件包的安装和更新,可以使用通配符,并以空格分隔,可以视情况需要自行添加
 6 #baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
 7 #上面的一行baseurl第一个字符是'#'表示该行已经被注释,将不会被读取,这一行的意思是指定一个baseurl(源的镜像服务器地址)
 8 #mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
 9 #上面的这一行是指定一个镜像服务器的地址列表,通常是开启的,本例中加了注释符号禁用了,我们可以试试,将$releasever和$basearch替换成自己对应的版本和架构,例如10和i386,在<a href="http://www.it165.net/edu/ewl/" target="_blank" class="keylink">浏览器</a>中打开,我们就能看到一长串镜可用的镜像服务器地址列表。
10 选择自己访问速度较快的镜像服务器地址复制并粘贴到repo文件中,我们就能获得较快的更新速度了,格式如下baseurl所示:
11 baseurl=
12 ftp://ftp.sfc.wide.ad.jp/pub/<a href="http://www.it165.net/os/oslin/" target="_blank" class="keylink">Linux</a>/Fedora/releases/10/Everything/i386/os
13 http://ftp.chg.ru/pub/<a href="http://www.it165.net/os/oslin/" target="_blank" class="keylink">Linux</a>/fedora/linux/releases/10/Everything/i386/os
14 http://ftp.yz.yamagata-u.ac.jp/pub/linux/fedora/linux/releases/10/Everything/i386/os
15 http://mirror.nus.edu.sg/fedora/releases/10/Everything/i386/os
16 http://mirror.yandex.ru/fedora/linux/releases/10/Everything/i386/os
17 http://ftp.twaren.net/Linux/Fedora/linux/releases/10/Everything/i386/os
18 http://ftp.itu.edu.tr/Mirror/Fedora/linux/releases/10/Everything/i386/os
19  
20 enabled=1 #这个选项表示这个repo中定义的源是启用的,0为禁用
21 gpgcheck=1 #这个选项表示这个repo中下载的rpm将进行gpg的校验,已确定rpm包的来源是有效和安全的
22 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch #定义用于校验的gpg密钥,就是数位签章的公钥档所在位置!
23  
24 ##以下的软件仓库基本上用不到,选项含义同上
25 [fedora-debuginfo]
26 name=Fedora $releasever - $basearch - Debug
27 failovermethod=priority
28 #baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/debug/
29 mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-debug-$releasever&arch=$basearch
30 enabled=0
31 gpgcheck=1
32 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch
33  
34 [fedora-source]
35 name=Fedora $releasever - Source
36 failovermethod=priority
37 #baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/source/SRPMS/
38 mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-source-$releasever&arch=$basearch
39 enabled=0
40 gpgcheck=1
41 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

 

1.4、yum的日志文件

yum的日志文件保存在 /var/log/yum.log

二、搭建本地仓库

2.1、http上搭建

服务端配置

 1 [root@localhost ~]# yum install httpd -y   #安装httpd服务
 2  
 3 [root@localhost ~]# cd /var/www/html      #切到目录里
 4 [root@localhost html]# mkdir zty          #创建一个新目录
 5 [root@localhost html]# cd                   #退出去
 6 [root@localhost ~]# vim /etc/fstab       #编辑挂载文件
 7 UUID=2017-09-06-10-51-00-00      /var/www/html/zty  iso9660   defaults  0  0
 8 #将光盘挂载到指定目录
 9 [root@localhost ~]# mount -a          #验证挂载情况
10 [root@localhost ~]# systemctl start httpd    #启动httpd服务

客户端配置

 1 [root@localhost ~]# cd /etc/yum.repos.d/       #切到yum源目录下
 2 [root@localhost yum.repos.d]# mkdir lb         #创建新的目录 
 3 [root@localhost yum.repos.d]# mv *.repo lb     #将所有源放到新的目录
 4 [root@localhost yum.repos.d]# vim local.repo   #编辑文件
 5  
 6 [local]                  #定义名义 
 7 name=local               #仓库描述
 8 baseurl=http://192.168.139.100/zyl/   仓库位置
 9 gpgcheck=0               #不检查
10  
11 [root@localhost yum.repos.d]# yum clean all && yum makecache
12 #删除yum缓存和建立元数据

2.2、ftp上搭建

服务端配置

1 [root@localhost ~]# yum install vsftpd -y    #安装ftp
2 [root@localhost ~]# cd /var/ftp/             # 切到ftp目录
3 [root@localhost ftp]# mkdir zty              # 创建目录
4 [root@localhost ftp]# cd                     #切出来
5 [root@localhost ~]# mount /dev/sr0 /mnt      # 挂载目录
6 [root@localhost ~]# cp -r /mnt/* /var/ftp/zty  #将mnt目录中的文件复制到zty目录中
7 [root@localhost zty]# systemctl start vsftpd   #开启服务

 

客户端配置

 1 [root@localhost ~]# cd /etc/yum.repos.d/       #切到yum源目录下
 2 [root@localhost yum.repos.d]# mkdir lb         #创建新的目录 
 3 [root@localhost yum.repos.d]# mv *.repo lb     #将所有源放到新的目录
 4 [root@localhost yum.repos.d]# vim local.repo   #编辑文件
 5  
 6 [local]                  #定义名义 
 7 name=local               #仓库描述
 8 baseurl=ftp://192.168.139.100/zyl/   仓库位置
 9 gpgcheck=0               #不检查
10  
11 [root@localhost yum.repos.d]# yum clean all && yum makecache
12 #删除yum缓存和建立元数据

2.3、测试

安装一个服务试试效果

 

posted @ 2022-10-22 18:46  赵哈哈#  阅读(242)  评论(0编辑  收藏  举报