YUM介绍

  yum(yellow dog updater modified)为多个Linux发行版的软件包管理工具,Redhat RHEL CentOS Fedora YUM主要用于自动安装,升级rpm软件包,它能够自动查找解决rpm包之间的依赖关系。
YUM自动下载rpm包并安装,类某软件的一键安装。

YUM源是什么?
  要成功的使用YUM工具安装更新软件或系统,就需要有给一个包含各种rpm软件包的repository(软件仓库)这个软件仓库我们习惯成为yum源。网络上有大量的yum源,但是由于受到网络环境的限制,导致软件安装耗时过长甚至失败。特别是当有大量服务器大量软件包需要更新安装时,因此优化系统时候我们都更换国内的源。相比较而言,本地yum源服务器最大的优点是局域网的快速网络连接和稳定性。有了局域网中的YUM源服务器,即便在internet中断的情况下,也不会影响其他YUM客户端的软件安装和升级。

YUM源工作原理

1.yum -y install httpd
2.查找yum配置文件CentOS-Base.repo这个里面有下载地址
3.CentOS系统默认到国外的软件仓库下载rpm软件包
4.但国外的源比较慢因此系统优化时换成阿里云的源
5.但是还是觉得阿里云的源不快,因此搭建内网的yum源,公网的和自己做的rpm都可以放进去

说明:更换yum源实质就是更换下载地址

配置本地YUM仓库

安装createrepo软件
yum -y install createrepo
echo '192.168.1.100 mirrors.liuliya.com' >>/etc/host #提前验证内网YUM源
创建yum仓库的目录

mkdir -p /application/yum/centos6/x86_64/
cd /application/yum/centos6/x86_64/

rz #上传包到此目录,此目录下还可以包括文件夹
获取rpm软件包的方法

1.自己制作的rpm包
2. yumdownloader pcre-devel openssl-devel #只下载不安装
3.平时yum安装软件时不删除安装包

#cat /etc/yum.conf
keepalived=1

#安装包存储目录
cachedir=/var/cache/yum/$basearch/$releasever
#/var/cache/yum/x86_64/base/packages

初始化repodata索引文件
#初始化
createrepo -pdo /application/yum/centos6/x86_64/ /application/yum/centos6/x86_64/
#每加入一个rpm包就要更新一下
createrepo --update /application/yum/centos6/x86_64/
提供yum服务
#可以用apache或者nginx提供web服务,但用Python的http模块更简单,适用于内网环境
注意:先把Nginx关闭防止80端口冲突

cd /application/yum/centos6/x86_64/
python -m SimpleHTTPServer 80 &>/dev/null &

可以通过游览器输入本机IP查看
客户端的配置

cd /etc/yum.repos.d
mkdir yum_bak && mv *repo yum_bak
vim liuliya.repo
[liuliya]
name=server
baseurl=http://192.168.1.100
enable=1
gpgcheck=0

yum clean all #清空本机已有yum缓存
yum list   #列表显示yum仓库
小技巧:
上面展示的需要新建一个文件,也许工作中有更多的配置,如果手动配置比较麻烦,因此有一种更简单的方法,将这些操作做成rpm包
fpm -s dir -t rpm -n liuliya_repo -v 1.0 --post-install /server/scripts/liuliya_rpm.sh -f /etc/yum.repos.d/liuliya.repo
liuliya_rpm.sh脚本主要是刚才我们的一些操作。

yum 本地安装nginx

接前面文章定制的nginx rpm包
yum install nginx
安装完成后我们来验证下:
cd /application/
ll -h

显示
nign -> /application/nginx-1.6.3/
nginx-1.6.3

#查看下id nginx
id nginx
uid=500(nginx) gid=500(nginx) group=500(nginx)

说明本地yum安装nginx成功
#卸载软件使用rpm -e 软件名
yum配置文件简介说明及命令介绍
cat /etc/yum.conf

[main]
cachedir=/var/cache/yum/$basearch/$releasever #yum缓存的目录,存储下载的rpm包和数据库
keepcache=0 #安装完成后是否保留软件包,0为不保留(默认为0)1为 保留
debuglevel=2 #Debug信息输出等级,范围为0-10缺省为2
logfile=/var/log/yum.log #日志文件位置
exactarch=1 #有1和0两个选项,设置为1则yum只会安装和系统架构匹配的软件包
obsoletes=1 #update的参数相当于upgrade允许更新陈旧的RPM包;有2个选项1和0分别表示首是否进行gpg校验以确定每个rpm的来源是有效和安全的。这个选项如果设置在[main]部分则对每个repository都有效,默认为0
gpgcheck=1
plugins=1 #是否启动插件,默认1为允许,0表示不允许
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release #指定一个软件包,yum会根据这个包判断发行版本

yum命令用法
#安装软件包
yum install httpd
yum -y install httpd

#列出软件包,使用list函数,可以搜索带名称的指定软件包
yun list httpd
#搜索软件包
yum search http
#查找某个特定文件属于哪个软件包
yum provides /etc/my.cnf
#列出所有可用的群组
yum grouplist
#安装群组软件包
yum groupinstall 'MySQL Database'
#列出启动的软件库
yum repolist
#安装来自特定软件的软件包
yum --enablerepo=local --disablerepo=base,extras,updates install LNMP
#清理yum缓存内容
yum clean all
#查看yum历史记录
yum history
镜像同步公网yum源
上游yum源必须要支持rsync协议,否则不能使用rsync进行同步
http://mirrors.ustc.edu.cn/status/
#CentOS官方标准源:
rsync://mirrors.ustc.edu.cn/centos/
#epel源
rsync://mirrors.ustc.edu.cn/epel/
#使用rsync同步yum源,为了节省带宽,磁盘和下载时间,这里列举仅同步CentOS6的rpm包,这样所有的rpm包,只占用了21G,全部同步需要300G左右
#同步base源,小技巧我们安装系统的关盘含有部分rpm包,大概3G,这些不用重新下载

/usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/os/x86_64/ /data/yum_data/centos/6/os/x_86_64/
/usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/extra/x86_64/ /data/yum_data/centos/6/extra/x_86_64/
/usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/update/x86_64/ /data/yum_data/centos/6/update/x_86_64/

#epel源
/usr/bin/rsync -av --exclude=debug rsync://mirrors.ustc.edu.cn/epel/6/x86_64/ /data/yum_data/centos/epel/6/x_86_64/
下载命令
有些镜像源不支持Rsync协议,比如阿里云、Zabbix官方源
解决办法:
wget -r -p -np -k http://repo.zabbix.com/non-supported/rhel/6/x86_64/

搭建本地YUM仓库的更多相关文章

  1. 如何手工搭建本地Yum仓库

    如何手工搭建本地Yum仓库(重点推荐)  https://www.linuxidc.com/Linux/2016-09/135480.htm CentOS7.2 创建本地YUM源和局域网YUM源: h ...

  2. 其他综合-搭建本地yum仓库及自制rpm包

    搭建本地yum仓库及自制rpm包 实验目的 为方便本地 yum 的管理,建本地 yum 仓库,实现局域网内部快速安装常用软件 实验环境 VMware:12版本 系统版本:CentOS Linux re ...

  3. CentOS7搭建本地YUM仓库,并定期同步阿里云源

    CentOS7同步阿里云镜像rpm包并自建本地yum仓库 系统环境 # cat /etc/centos-release CentOS Linux release 7.6.1810 (Core) # u ...

  4. 在VMware下通过挂载系统光盘搭建本地yum仓库的方法

    一.虚拟机的安装 首先你要有一个VMware虚拟机,没有软件的朋友可以看我的前几篇博客 安装VMware虚拟机 二.进入虚拟机(在这里我们进入一个Linux虚拟机下的CentOS操作系统进行演示) 首 ...

  5. CentOS 7 搭建本地YUM仓库,并定期同步阿里云源

    目录导航: 1. 系统环境 2. 修改yum 源为阿里云源 3. 安装yum相关的软件 4. 根据源标识同步源到本地目录 5. 安装nginx开启目录权限保证本地机器可以直接本地yum源 6. 客户端 ...

  6. linux通过挂载系统光盘搭建本地yum仓库的方法

    1.挂载光盘 [root@localhost ~]# mount /dev/cdrom /media/cdrom/ mount: /dev/sr0 写保护,将以只读方式挂载 /media下的cdrom ...

  7. 通过挂载系统光盘搭建本地yum仓库

    1,配置本地yum源: 把系统光盘挂载到文件夹aaa(aaa为自己创建的文件夹). [root@localhost /]# mount dev/cdrom /aaa 2,修改yum配置文件: yum的 ...

  8. centos 7 搭建本地yum仓库

    首先需要创建一个目录 mkdir /1   #在根目录下创建一个名字为1的目录 将光盘挂载到创建的这个目录 mount /dev/cdrom /1 yum命令配置文件在/etc/yum.repos.d ...

  9. 3、通过挂在系统光盘搭建本地yum仓库的方法

    1. mkdir xxx #新建文件夹 (新建一个挂载需要的文件夹) .配置本地yum源(挂载光盘) .进入 yum.repos.d .ls (查看当前文件夹全部的文件) 并 mv 修改   除Med ...

随机推荐

  1. FreeSql v0.11 几个实用功能说明

    FreeSql 开源发布快一年了,立志成为 .Net 平台方便好用的 ORM,仓库地址:https://github.com/2881099/FreeSql 随着不断的迭代更新,越来越稳定,也越来越强 ...

  2. 利用Xshell配置ssh免密码登录虚拟机,进行虚拟机与物理机的传输

    先说一下 Xshell如何无密连接虚拟机: ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式.其中口令(密码)认证方式是我们最常用的一种,这里介绍密钥认证方式登录到linux的方法.使用 ...

  3. 修改 processor.php 文件,监听用户对该应用的消息

    修改 processor.php 文件,监听用户对该应用的消息 class cgc_fdModuleProcessor extends WeModuleProcessor { public funct ...

  4. 《JAVA 程序员面试宝典(第四版)》之JAVA程序设计基础概念(1)类型转换

      问题主题:类型转换   书页号码:37页 题目: 讨论点:答案不是D,应该是B 理由:看下面在编译器输入的结果 知识扩展:装箱与拆箱, == 与 equals 区别 之前也老是听说什么装箱.拆箱之 ...

  5. 虚拟机和容器docker

    云计算中最主要的技术就是虚拟机,开源虚拟机已经kvm已经集成到Linux内核!针对虚拟机浪费资源(CPU.内存.存储等)较大的缺陷,google力推Docker容器和容器管理平台Kubernetes. ...

  6. opencv 6 图像轮廓与图像分割修复 2 使用多边形将轮廓包围

    使用多边形将轮廓包围 返回外部矩阵边界(boundingRect()函数) 寻找最小包围矩形(minAreaRect()函数) 寻找最小包围圆形(minEnclosingCircle函数) 用椭圆拟合 ...

  7. vue动态样式设置

    思路: 通过 v-bind:class="true ? style1 : style2 " 配合三元表达式完成样式的切换 具体实现 //return设置控制的参数 //有多个需要样 ...

  8. 【Luogu P1164】小A点菜

    题目原链接: Luogu 小A点菜 [解题思路] 常规的0-1背包,不过是求装满整个背包的方案数,只要把0-1背包的状态转移方程稍微改一下就行.因为要求方案数,那么把方程中的max换成sum就行. [ ...

  9. java集合讲解

    java集合讲解 1.概述 集合类的顶级接口是Iterable,Collection继承了Iterable接口 常用的集合主要有 3 类,Set,List,Queue,他们都是接口,都继于Collec ...

  10. IdentityServer4 自定义授权模式

    IdentityServer4除了提供常规的几种授权模式外(AuthorizationCode.ClientCredentials.Password.RefreshToken.DeviceCode), ...