一、YUM仓库简介

1.1yum简介

yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间。为什么会有依赖关系的发生 因为linux本身就是以系统简洁为自身优势,所以在安装操作系统的时候并没有将所有的库文件以及编译软件包进行安装,所以在linux操作系统上进行软件安装的时候会出现软件包依赖的情况。yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜狐云,还有一些非盈利组织比如学校等。官方的源一般在国外,下载速度肯定有限,手动更改成国内的云可以大幅提升下载速度。
YUM 的前身是YUP(Yellow dog Updater,Yellow dog Linux 的软件更新器),最初由 TSS 公司(Terra Soft Solutions,INC.)使用 Python 语言开发而成,后来由杜克大学(Duck University)的 Linux 开发队伍进行改进,命名为 YUM(Yellow dog Updater,Modified)。 要成功使用 YUM 机制来更新系统和软件,需要有一个包含各种 rpm 安装包文件及其依 赖软件的软件仓库(repository),提供软件仓库的服务器也称为“源”服务器。在客户机中只 要正确指定软件仓库的地址等信息,就可以通过对应的“源”服务器来安装或更新软件。

1.2yum实现过程

先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装时包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。

yum需要依赖于环境,依赖于服务端和客户端,允许跨网络。
(1)服务端需要的两个文件:

  • RPM包(Packages文件夹中)
  • 元数据(repodata文件夹:目录(软件的目录),软件的依赖关系,软件的位置)

(2)客户端的配置文件中 :

  • baseurl=地址一定要写到这两个文件夹repodata和packages的上级目录
  • 最终形成两个文件夹Packages (包文件夹一般取名packages)和repodata(元数据文件夹)

(3)仓库类型:

  • 光盘的仓库基本仓库:比较常用的
  • epel扩展仓库:比较新

1.3如何实现安装服务

二、YUM配置文件及命令

2.1yum配置文件

(1)主配置文件

1 [root@server ~]#cat /etc/yum.conf

(2)默认的yum仓库 是centos官方的yum源,需要联网才可以使用

[root@server ~]#ls /etc/yum.repos.d/

2.2yum命令详解

(1)yum命令

(2)查询,升级,下载

 1 yum list [软件名]:显示可用的安装包,如不加软件名是显示所有的可用包,由于软件过多不做例子。
 2 yum info  [软件名]:显示安装包详细信息,如不加软件名是显示所有包的详细信息。
 3 yum search [软件名]:根据关键字查找软件安装包,相当于你只知道这个包里的某个关键字会全部给你匹配出来
 4 yum grouplist [包组名]:安装包组的查询不加包组名就是显示所有
 5 yum groupinfo [包组名]:不加包组名显示全部
 6 yum install [软件名]:安装软件包
 7 yum update:更新包组,可以单个也可以全部后面加具体包组名称就是单个更新,不加就是全部更新。
 8 yum remove [软件名]:卸载已安装的软件必须加软件名
 9 yum history:查看历史的使用记录
10 yum history undo [数字]:进行卸载,这样对比remove好处是可以将所有的依赖都删除
11 yum history redo [数字]:重新安装一遍

三、搭建仓库的方式

3.1搭建本地yum

 1 [root@server ~]#mount /dev/sr0 /mnt/
 2 [root@server ~]#cd /etc/yum.repos.d/
 3 [root@server /etc/yum.repos.d]#mkdir bak
 4 [root@server /etc/yum.repos.d]#mv *.repo bak/
 5 [root@server /etc/yum.repos.d]#vim local.repo
 6 [local]
 7 name=local
 8 baseurl=file:///mnt
 9 enabled=1
10 gpgcheck=0
11 [root@server /etc/yum.repos.d]#yum clean all && yum makecache 

3.2http方式搭建云仓库

 1 实验环境:CentOS7-1和CentOS7-2
 2 实验目的:搭建http本地仓库
 3 服务端:
 4 [root@server ~]#yum install -y httpd
 5 [root@server ~]#systemctl start httpd
 6 [root@server ~]#ss -ntpa |grep ":80"
 7 [root@server ~]#cd /var/www/html        #放你想共享给被人的文件
 8 [root@server /var/www/html]#mkdir centos7
 9 [root@server /var/www/html]#mount /dev/sr0 centos7/
10 [root@server /var/www/html]#df -Th
11 [root@server /var/www/html]#vim index.html
12 "你真棒,你真是个小天才!"
13 测试服务端环境:浏览器访问192.168.10.10/index.html
14 
15 客户端:
16 [root@client ~]#curl 192.168.10.10        #测试
17 [root@client ~]#cd /etc/yum.repos.d
18 [root@client /etc/yum.repos.d]#mkdir bak
19 [root@client /etc/yum.repos.d]#mv *.repo bak
20 [root@client /etc/yum.repos.d]#ls
21 [root@client /etc/yum.repos.d]#vim http.repo
22 [http]
23 name=http
24 baseurl=http://192.168.10.10/centos7
25 gpgcheck=0
26 [root@client /etc/yum.repos.d]#yum clean all && yum makecache
27 [root@client /etc/yum.repos.d]#yum -y install tree

服务端:

 

客户端:

3.3ftp方式搭建云仓库

 1 实验环境:CentOS7-1和CentOS7-2
 2 实验目的:搭建ftp本地仓库
 3 服务端:
 4 [root@server ~]#yum -y install vsftpd.x86_64
 5 [root@server ~]#systemctl start vsftpd
 6 [root@server ~]#ss -ntpa |grep vsftpd
 7 [root@server ~]#cd /var/ftp        #放你想共享给被人的文件
 8 [root@server /var/ftp]#mkdir centos7/
 9 [root@server /var/ftp]#mount /dev/sr0 centos7/
10 [root@server /var/ftp]#df -Th
11 
12 客户端:
13 [root@client ~]#yum -y install ftp        #测试
14 [root@client ~]#cd /etc/yum.repos.d
15 [root@client /etc/yum.repos.d]#mkdir bak
16 [root@client /etc/yum.repos.d]#mv *.repo bak
17 [root@client /etc/yum.repos.d]#ls
18 [root@client /etc/yum.repos.d]#vim ftp.repo
19 [ftp]
20 name=ftp
21 baseurl=ftp://192.168.10.10/centos7
22 gpgcheck=0
23 [root@client /etc/yum.repos.d]#yum clean all && yum makecache
24 [root@client /etc/yum.repos.d]#yum -y install tree

服务端:

客户端:

原文地址:http://www.cnblogs.com/feizirui/p/16818042.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性