搭建本地YUM仓库


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 createrepoecho '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 nginxid 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仓库的更多相关文章
- 如何手工搭建本地Yum仓库
如何手工搭建本地Yum仓库(重点推荐) https://www.linuxidc.com/Linux/2016-09/135480.htm CentOS7.2 创建本地YUM源和局域网YUM源: h ...
- 其他综合-搭建本地yum仓库及自制rpm包
搭建本地yum仓库及自制rpm包 实验目的 为方便本地 yum 的管理,建本地 yum 仓库,实现局域网内部快速安装常用软件 实验环境 VMware:12版本 系统版本:CentOS Linux re ...
- CentOS7搭建本地YUM仓库,并定期同步阿里云源
CentOS7同步阿里云镜像rpm包并自建本地yum仓库 系统环境 # cat /etc/centos-release CentOS Linux release 7.6.1810 (Core) # u ...
- 在VMware下通过挂载系统光盘搭建本地yum仓库的方法
一.虚拟机的安装 首先你要有一个VMware虚拟机,没有软件的朋友可以看我的前几篇博客 安装VMware虚拟机 二.进入虚拟机(在这里我们进入一个Linux虚拟机下的CentOS操作系统进行演示) 首 ...
- CentOS 7 搭建本地YUM仓库,并定期同步阿里云源
目录导航: 1. 系统环境 2. 修改yum 源为阿里云源 3. 安装yum相关的软件 4. 根据源标识同步源到本地目录 5. 安装nginx开启目录权限保证本地机器可以直接本地yum源 6. 客户端 ...
- linux通过挂载系统光盘搭建本地yum仓库的方法
1.挂载光盘 [root@localhost ~]# mount /dev/cdrom /media/cdrom/ mount: /dev/sr0 写保护,将以只读方式挂载 /media下的cdrom ...
- 通过挂载系统光盘搭建本地yum仓库
1,配置本地yum源: 把系统光盘挂载到文件夹aaa(aaa为自己创建的文件夹). [root@localhost /]# mount dev/cdrom /aaa 2,修改yum配置文件: yum的 ...
- centos 7 搭建本地yum仓库
首先需要创建一个目录 mkdir /1 #在根目录下创建一个名字为1的目录 将光盘挂载到创建的这个目录 mount /dev/cdrom /1 yum命令配置文件在/etc/yum.repos.d ...
- 3、通过挂在系统光盘搭建本地yum仓库的方法
1. mkdir xxx #新建文件夹 (新建一个挂载需要的文件夹) .配置本地yum源(挂载光盘) .进入 yum.repos.d .ls (查看当前文件夹全部的文件) 并 mv 修改 除Med ...
随机推荐
- 6.2.2 辅助类GenericOptionsParser,Tool和ToolRunner深入解析
辅助类GenericOptionsParser,Tool和ToolRunner (1)为什么要用ToolRunner 将MapReduce Job配置参数写到java代码里,一旦变更意味着修改java ...
- go-micro+php+consul简单的微服实现
首先我们用go-micro构建一个服务.(关于go-micro的使用可以参照官方实例或者文档) //新建一个微服务 micro new --type "srv" user-srv ...
- Vue img的src使用数据绑定不显示
不少人在vue的开发中遇到这样一个问题: img的src属性绑定url变量,然而图片加载失败. <img src="{{ imgUrl }}"/> 原因:写法错误 解决 ...
- jquery 判断数组是否为空
jquery 判断数组是否为空 if (data.length === 0) { console.log("数组为空"); }
- nyoj 242-计算球体积 (pi*r*r*r*4/3)
242-计算球体积 内存限制:64MB 时间限制:3000ms 特判: No 通过数:21 提交数:74 难度:1 题目描述: 根据输入的半径值,计算球的体积. 输入描述: 输入数据有多组,每组占一行 ...
- rhel-6.3-i386安装samba
1.安装samba 1).安装软件 rpm –ivh /mnt/Packages/samba-3.5.10-125.el6.i686.rpm 2).创建用户 useradd myadmin 3).设置 ...
- ReadWriteLock: 读写锁
ReadWriteLock: 读写锁 ReadWriteLock: JDK1.5提供的读写分离锁,采用读写锁分离可以有效帮助减少锁竞争. 特点: 1).使用读写锁.当线程只进行读操作时,可以允许多个线 ...
- config system setting for elasticsearch
1. disable swapping. swap 分区会导致garbage collections 花费太多时间,elasticsearch 响应变慢. 方法1:swapoff -a 方法2:vi ...
- 解决无法定位软件包 或 install net-tools
解决无法定位软件包 或 install net-tools 当我们安装好Linux后,因为里面有很多功能服务没有安装(如ifconfig.vsftpd) 所以出现一些command '**** ...
- 微信小程序使用 ECharts 实现数据可视化
微信小程序使用 ECharts 显示图表 首先创建微信小程序 这里就不再赘述 下载 GitHub 上的 ecomfe/echarts-for-weixin 下载后解压,打开文件夹,里面的 ec-can ...