搭建yum仓库

https://blog.51cto.com/life2death/1708417

3.搭建yum仓库,准备需要的软件
mlocate lrzsz tree vim nc nmap lrzsz wget bash-completion bash-completion-extras cowsay sl htop iotop iftop lsof net-tools sysstat unzip bc psmisc ntpdate wc telnet-server bind-utils createrepo

gcc gcc-c++ autoconf pcre pcre-devel make automake httpd-tools
还有架构中要用到的软件与依赖环境也要下载放到仓库中

服务端—m01管理机

提前下载好nginx

yum install nginx -y

把rpm包及其相关依赖全部都下载到本地,保存好。
手动在/etc/yum.repos.d/目录下配置本地仓库信息。
使用createrepo命令生成repodata信息。
使用yum repoinfo检查确认。

yum仓库本地存放rpm包的路径:/yum/

创建一个本地仓库的目录
mkdir /yum/

yum install  --downloadonly --downloaddir=/yum/ mlocate lrzsz tree vim nc nmap lrzsz wget bash-completion bash-completion-extras cowsay sl htop iotop iftop lsof net-tools sysstat unzip bc psmisc ntpdate wc telnet-server bind-utils gcc gcc-c++ autoconf pcre pcre-devel make automake httpd-tools 

只下载不安装的命令:

--downloadonly 只下载不安装
--downloaddir 指定rpm包的下载路径

1.修改yum配置文件,打开本地缓存,1为开启,0为不开启

这里要把keepcache打开
从外网下载的rpm包可以到缓存目录/var/cache/yum/下查找,可以将本地缓存下面需要的包都移动到yum仓库中。

[root@m01 /etc/yum.repos.d]# cat /etc/yum.conf 
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
...

2.安装createrepo

#创建一个本地仓库的目录
mkdir /yum/

#安装
yum install createrepo -y

#生成索引文件
createrepo /yum/

3.每次下载了新的rpm包需要执行此命令

createrepo --update /yum/

--update 如果元数据已经存在,且软件仓库中只有部分软件发生了改变或增减,则可用update参数直接对原有元数据进行升级,效率比重新分析rpm包依赖并生成新的元数据要高很多。

4.通过http协议访问

创建一个本地源

[root@m01]# vim /etc/yum.repos.d/yum-Media.repo
[yum_ck] #本地仓库名
name=CentOS- - 仓库 #注释信息
baseurl=http://10.0.0.61:8888/  #http协议,rpm包存放路径
gpgcheck=0  #关闭安全验证
enabled=1   #启用本仓库
priority=1  #优先级为1,最高

通过http协议访问

配置.conf文件
不要与ngin.conf文件冲突

vim /etc/nginx/conf.d/yum_ck.conf

server {
    listen 8888;
    server_name 10.0.0.61;
    root /yum;
    index index.html;
    location / {
      root /yum;
      autoindex on;
    }
}

重启nginx

nginx -t

systemctl start nginx

5.清除yum缓存

yum clean all

6.下载一款软件放到/yum/下测试

yum install  --downloadonly --downloaddir=/yum nfs-utils

# 执行此命令检查是否是从本地源找的包
yum provides nfs-utils

#显示结果为本地仓库名代表成功
Repo        : @yum_ck

7.优先级设置

1.下载第三方插件

yum install yum-plugin-priorities.noarch

2.检查是否启动服务(默认是开启的)

cat /etc/yum/pluginconf.d/priorities.conf
[main]
enabled = 1

3.修改源的优先级(新建的本地源在创建时已添加优先级为1)
vim /etc/yum.repos.d/CentOS-Base.repo
代码中已注释“#添加优先级为2”

[root@m01 /etc/yum.repos.d]# vim CentOS-Base.repo
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
priority=2  #添加优先级为2
#released updates 
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
priority=2  #添加优先级为2
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
priority=2  #添加优先级为2
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
priority=2  #添加优先级为2
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
priority=2  #添加优先级为2

8.对本地仓库进行更新

下载一个新的rpm软件包到本地仓库,此时我们使用’yum repoinfo yum_ck ‘查看会发现软件包的数量并没有增加,我们安装新增的软件包也会提示,找不到此软件包的现象,可以按照下述步骤,更新仓库信息。

yum_ck === 本地仓库的名称


查看旧的软件包总数 yum repoinfo yum_ck | grep pkgs
更新本地仓库 createrepo --update /yum/
清除所有缓存 yum clean all
查看新的软件包总数 yum repoinfo yum_ck | grep pkgs
如果软件包的数量增加,说明仓库更新成功。

9.将配置推送到所有的客户端

yum -y install yum-plugin-priorities.noarch

/etc/yum.repos/yum-Media.repo

/etc/yum.repos.d/CentOS-Base.repo

用ansible剧本实现,在本地配置好

这里的/etc/ansible/file路径是根据自己的环境创建的,只是为了推送这个本地源的配置文件,推送到客户端的路径不要写错就好。

[root@m01 /etc/ansible]# cat /etc/ansible/yum_ck.yml 
#本地yum仓库搭建
---
  - hosts: all
    tasks:

    - name: cp yum-Media.repo
      copy: 
        src: /etc/ansible/file/yum-Media.repo
        dest: /etc/yum.repos.d/
        force: yes

    - name: copy .repo
      copy:
        src: /etc/ansible/file/CentOS-Base.repo
        dest: /etc/yum.repos.d/CentOS-Base.repo
        force: yes

    - name: yum-plugin-priorities.noarch
      yum:
        name: yum-plugin-priorities.noarch
        state: present  
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,591评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,448评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,823评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,204评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,228评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,190评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,078评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,923评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,334评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,550评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,727评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,428评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,022评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,672评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,826评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,734评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,619评论 2 354