搭建yum仓库
1.1 导言 YUM英文全称是Yellow Dog Updater Modified。 YUM主要用于自动安装、升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系。要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的repository(软件仓库),这个软件仓库我们习惯称为yum源。网络上有大量的yum源,但由于受到网络环境的限制,导致软件安装耗时过长甚至失败。特别是当有大量服务器大量软件包需要安装时,缓慢的进度条令人难以忍受。因此在优化系统时,都会更换国内的源。 相比较而言,本地YUM源服务器最大优点是局域网的快速网络连接和稳定性。有了局域网中的YUM源服务器,即便在Internet连接中断的情况下,也不会影响其他YUM客户端的软件安装和升级。 http://mirrors.aliyun.com/ #<==阿里云开源镜像站点 http://mirrors.163.com/ #<==网易开源镜像站点 1.2 yum工作原理 实质其实是更换下载地址而已! 当我们用yum命令安装apache时,工作流程如下: 1.yum -y install httpd 2.查找yum仓库配置文件:/etc/yum.repos.d/CentOS-Base.repo,这个文件里面就有下载地址 3.CentOS系统默认会到国外的软件仓库下载rpm软件包 4.但是,国外的源比较慢,因此,系统优化时会换成阿里云的源 5.如果内网的网速带宽有限时,阿里云的源下载也会慢,因此,搭建内网的yum源,把公网的和自己做的rpm都放进去,可以完美的解决rpm包下载慢的问题了。 1.3 获取rpm软件包的三种方法 1.自己制作 2.yumdownloader pcre-devel #<==只下载软件不安装 3.平时yum安装软件时不删除安装包,需要修改配置文件 [root@backup~]#cat/etc/yum.conf#<==修改yum源配置文件 #cachedir=/var/cache/yum/$basearch/$releasever#<==yum缓存目录 cachedir=/application/yum/centos6.7/x86_64/#<==yum缓存目录 keepcache=0#<==值为1,代表开启yum缓存 1.4 制作yum仓库 1.4.1 创建yum仓库目录 yum-yinstallcreaterepo mkdir-p/application/yum/centos6.7/x86_64/ cd/application/yum/centos6.7/x86_64/ rz-y tarxfnginx_yum.tar.gz 上传定制的 nginx rpm包到此目录,此目录下面还可以包括文件夹 [root@m01/application/yum/centos6.7/x86_64]#ll 总用量7260 -rw-r--r--1rootroot22734662017-05-3013:40nginx-1.6.3-1.x86_64.rpm -rw-r--r--1rootroot51530582017-05-3013:26nginx_yum.tar.gz 1.4.2 初始化repodata索引文件 createrepo-pdo/application/yum/centos6.7/x86_64//application/yum/centos6.7/x86_64/ #每加入一个rpm包就要更新一下 createrepo--update/application/yum/centos6.7/x86_64/ 1.4.3 提供yum服务 可以用Apache或nginx提供web服务,但用Python的http模块更简单,适用于内网环境。 注意:必须确保80端口没有被占用。 cd/application/yum/centos6.7/x86_64/ python-mSimpleHTTPServer80&>/dev/null& lsof-i:80 用IE输入网址:10.1.8.33,可看到下面的内容,说明可提供给内网用户下载了。 1.4.4 将本地光盘的rpm包复制到对应目录 mount/dev/cdrom/mnt/ df-h cp/mnt/Packages/*/application/yum/centos6.7/x86_64/base/packages/ du-sh/application/yum/centos6.7/x86_64/base/packages/ createrepo--update/application/yum/centos6.7/x86_64/ 1.5 客户端配置 cd/etc/yum.repos.d mkdirrepo-bak&&mvCentOS-*repo-bak/ cat>>local.repo<<EOF [chen] name=c6.7-repo baseurl=http://10.1.8.33 enable=1 gpgcheck=0 EOF yumcleanall#<==清空本机已有yum缓存 yumrepolist#<==列出可用的yum仓库 yumlist#<==列表显示yum仓库里的rpm包 [root@node4/etc/yum.repos.d]#catlocal.repo#<==自定义yum仓库 [chen]#<==仓库标识 name=c6.7-repo#<==仓库名称 baseurl=http://10.1.8.33#<==访问该仓库的方式 enable=1#<==启用这个软件仓库 gpgcheck=0#<==下载的rpm包不进行gpg校验 [root@node4/etc/yum.repos.d]#yumrepolist 仓库标识仓库名称状态 chenc6.7-repo18 repolist:18 1.5.1 安装定制好的nginx包(见证奇迹) 前面所有的操作,就是为了这一步。 yuminstall-ynginx 总计6.5MB/s|7.7MB00:01#<==内网的下载速度非常快! ll/application/ lrwxrwxrwx1rootroot252017-05-3016:57nginx->/application/nginx-1.6.3/#<==软链接也有 drwxr-xr-x6rootroot40962017-05-3016:57nginx-1.6.3#<==文件目录已定制好 idnginx uid=888(nginx)gid=888(nginx)组=888(nginx)#<==用户也自动创建好 1.6 yum配置文件及命令 1.6.1 yum配置文件详解 [root@m01~]#head-5/etc/yum.conf [main] cachedir=/var/cache/yum/$basearch/$releasever#<==yum下载的RPM包的缓存目录 keepcache=1#<==缓存是否保存,1保存,0不保存,默认为0 debuglevel=2#<==调试级别(0-10),默认为2 logfile=/var/log/yum.log#<==yum的日志文件所在的位置 1.6.2 yum命令详解 功能 命令 安装软件包 yum install lrzsz -y 列出软件包 yum list lrzsz 搜索软件包 yum search lrzsz 查找某个特定文件属于哪个软件包 yum provides /etc/my.cnf 列出所有可用包组 yum grouplist 安装包组 yum groupinstall 'Web Server' -y 列出启用的yum仓库 yum repolist 列出所有的yum仓库 yum repolist all 清除yum缓存内容 yum clean all 生成缓存 yum makecache 查看yum历史记录※ yum history 安装来自特定软件库的软件包 yum --enablerepo=local install LNMP 不安装来自特定软件库的软件包 yum--enablerepo=local --disablerepo=base,extras,updates install LNMP 1.7 镜像yum源 1.7.1 镜像同步公网yum源 上游yum源必须要支持rsync协议,否则不能使用rsync进行同步。 http://mirrors.ustc.edu.cn/status/ CentOS官方标准源:rsync://mirrors.ustc.edu.cn/centos/ epel源:rsync://mirrors.ustc.edu.cn/epel/ 1.7.2 同步命令 /usr/bin/rsync-avrsync://mirrors.ustc.edu.cn/centos/6/os/x86_64//data/yum_data/centos/6/os/x86_64/ /usr/bin/rsync-avrsync://mirrors.ustc.edu.cn/centos/6/extras/x86_64//data/yum_data/centos/6/extras/x86_64/ /usr/bin/rsync-avrsync://mirrors.ustc.edu.cn/centos/6/updates/x86_64//data/yum_data/centos/6/updates/x86_64/ #epel源 /usr/bin/rsync-av--exclude=debugrsync://mirrors.ustc.edu.cn/epel/6/x86_64//data/yum_data/epel/6/x86_64/ 1.8 epel源
1.8.1 CentOS-Base源的优化 1、备份Base源 2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/(阿里云) 3、之后运行yum makecache生成缓存 mv/etc/yum.repos.d/CentOS-Base.repo{,.ori} wget-O/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-6.repo yumcleanall yummakecache 1.8.2 epel源的配置 1、备份(如有配置其他epel源) 2、下载新repo 到/etc/yum.repos.d/ mv/etc/yum.repos.d/epel.repo{,.ori} mv/etc/yum.repos.d/epel-testing.repo{,.ori} wget-O/etc/yum.repos.d/epel.repohttp://mirrors.aliyun.com/repo/epel-6.repo 2. 配置本地yum源-使用系统ISO镜像 如果我们的电脑上不了网,就无法连网下载软件包了,这时可以利用光盘ISO镜像作为内网的yum源。 2.1 导入ISO镜像 先在虚拟机那里,导入ISO镜像。 2.2 挂载光驱镜像 mkdir/mnt/cdrom mount/dev/cdrom/mnt/cdrom/ df-h 2.3 自定义yum仓库文件 cat/etc/yum.repos.d/chen.repo#<==注意这里的baseurl写法! [chen] name=chen-repo baseurl=file:///mnt/cdrom enabled=1 gpgcheck=0 2.4 测试 yumrepolist 仓库标识仓库名称状态 chenchen-repo6,518 repolist:6,518 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |