【运维知识进阶篇】一键部署yum本地仓库

简介: 【运维知识进阶篇】一键部署yum本地仓库

使用yum本地仓库有提升下载速度,可以离线使用,实现软件版本一致性与软件安全性等等好处,本篇文章来介绍下如何制作yum本地仓库,实现一键部署,yum本地仓库的原理是将需要的软件包从互联网上下载到一个本机或网络内的服务器上,并通过一定的配置使得这个服务器可以提供来自本地仓库的软件包。当需要安装软件时,可以从本地仓库中获取必要的软件包进行安装。

我将所有的操作封装进了脚本,实现了一键部署yum本地仓库。

先配置好虚拟机。

仓库部署脚本

1. [root@Ansible ~]# cat /bash/yum-repo-deploy.sh 
2. #!/bin/bash
3. 
4. # 挂载CDROM并授权
5. mount -t iso9660 /dev/sr0 /mnt/ -o loop,ro 
6. chmod -R +r /mnt/
7. 
8. # 安装epel源
9. yum -y install epel-release
10. 
11. # 安装nginx
12. yum -y install nginx
13. 
14. # 创建目录,准备Nginx默认站点
15. mkdir /share
16. chown -R nginx:nginx /share
17. 
18. # 删除Nginx默认站点,并在其目录中创建yum.conf文件进行yum仓库目录索引
19. rm /etc/nginx/conf.d/default.conf
20. cat > /etc/nginx/conf.d/yum.conf <<EOF
21. server {
22.     listen 80 default_server;
23.     root /share;
24. index index.html index.htm;
25.     autoindex on;
26.     autoindex_exact_size on;
27.     autoindex_localtime on;
28. }
29. EOF
30. 
31. # 准备yum仓库存储目录
32. mkdir /share/packages
33. chown -R nginx:nginx /share/packages
34. 
35. # 安装createrepo
36. yum -y install createrepo 
37. 
38. # 复制rpm包到本地yum仓库
39. cp -a /mnt/Packages/* /share/packages/
40. 
41. # 构建yum仓库
42. createrepo /share/packages/
43. 
44. # 启动nginx服务,并将服务加入开机启动项中
45. systemctl start nginx
46. systemctl enable nginx

一键部署yum仓库

1. [root@Ansible ~]# sh /bash/yum-repo-deploy.sh 
2. ......
3. Spawning worker 0 with 4070 pkgs
4. Workers Finished
5. Saving Primary metadata
6. Saving file lists metadata
7. Saving other metadata
8. Generating sqlite DBs
9. Sqlite DBs complete
10. Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

查看yum本地仓库

1. [root@Ansible ~]# ls /share/
2. packages/ test.txt 
3. [root@Ansible ~]# ls /share/packages/
4. ......
5. yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm
6. yum-plugin-tmprepo-1.1.31-54.el7_8.noarch.rpm
7. yum-plugin-verify-1.1.31-54.el7_8.noarch.rpm
8. yum-plugin-versionlock-1.1.31-54.el7_8.noarch.rpm
9. yum-utils-1.1.31-54.el7_8.noarch.rpm
10. zenity-3.28.1-1.el7.x86_64.rpm
11. zip-3.0-11.el7.x86_64.rpm
12. zlib-1.2.7-18.el7.x86_64.rpm
13. zlib-devel-1.2.7-18.el7.x86_64.rpm
14. zsh-5.0.2-34.el7_8.2.x86_64.rpm
15. zziplib-0.13.62-12.el7.x86_64.rpm

客户端配置yum源,进行测试下载

1. [root@Web01 ~]# mv /etc/yum.repos.d/* /opt/
2. [root@Web01 ~]# cat /etc/yum.repos.d/local.repo
3. [local]
4. name=local
5. baseurl=http://10.0.0.61/packages
6. enabled=1
7. [root@Web01 ~]# yum -y install tree
8. Loaded plugins: fastestmirror, priorities
9. Loading mirror speeds from cached hostfile
10. Resolving Dependencies
11. --> Running transaction check
12. ---> Package tree.x86_64 0:1.6.0-10.el7 will be installed
13. --> Finished Dependency Resolution
14. 
15. Dependencies Resolved
16. 
17. =======================================================
18.  Package  Arch       Version           Repository
19. Size
20. =======================================================
21. Installing:
22.  tree     x86_64     1.6.0-10.el7      local      46 k
23. 
24. Transaction Summary
25. =======================================================
26. Install  1 Package
27. 
28. Total download size: 46 k
29. Installed size: 87 k
30. Downloading packages:
31. tree-1.6.0-10.el7.x86_64.rpm      |  46 kB   00:00
32. Running transaction check
33. Running transaction test
34. Transaction test succeeded
35. Running transaction
36. Warning: RPMDB altered outside of yum.
37.   Installing : tree-1.6.0-10.el7.x86_64            1/1
38.   Verifying  : tree-1.6.0-10.el7.x86_64            1/1
39. 
40. Installed:
41.   tree.x86_64 0:1.6.0-10.el7
42. 
43. Complete!

yum本地仓库常见问题

使用yum本地仓库可能会出现安装的软件缺少依赖的情况,此时我们需要去安装我们的依赖,将依赖包放入本地仓库中,再进行本地仓库缓存刷新

yum仓库端进行如下操作,重新创建yum仓库

createrepo /share/packages/

客户端进行如下操作,刷新本地仓库缓存

1. yum clean all
2. yum makecache
3. yum repolist #查看yum源中是否有软件包

我是koten,10年运维经验,持续分享运维干货,感谢大家的阅读和关注!

目录
相关文章
|
2月前
|
缓存 Linux Shell
RHEL7部署http应用配置共享yum源
RHEL7部署http应用配置共享yum源
197 0
|
2月前
|
缓存
详解CentOS8更换yum源后出现同步仓库缓存失败的问题
详解CentOS8更换yum源后出现同步仓库缓存失败的问题
212 0
|
2月前
|
Linux Apache
Linux【环境部署 02】yum源镜像下载+挂载镜像+本地yum源配置+局域网yum源服务搭建+局域网yum源使用(一篇学会离线yum源配置)
Linux【环境部署 02】yum源镜像下载+挂载镜像+本地yum源配置+局域网yum源服务搭建+局域网yum源使用(一篇学会离线yum源配置)
866 0
|
1月前
|
Web App开发 弹性计算 运维
快速部署1Panel运维面板
1Panel是一款Linux服务器管理面板,提供Web界面进行主机监控、文件、数据库和容器管理。本文介绍如何通过计算巢快速部署1Panel面板。
快速部署1Panel运维面板
|
2天前
|
关系型数据库 MySQL Linux
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
|
2天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的批量运维管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的批量运维管理系统附带文章源码部署视频讲解等
6 0
|
2天前
|
运维 监控 大数据
部署-Linux01,后端开发,运维开发,大数据开发,测试开发,后端软件,大数据系统,运维监控,测试程序,网页服务都要在Linux中进行部署
部署-Linux01,后端开发,运维开发,大数据开发,测试开发,后端软件,大数据系统,运维监控,测试程序,网页服务都要在Linux中进行部署
|
1月前
|
Ubuntu Python
银河麒麟-麒麟软件操作系统 kylin 搭建yum源 ubuntu搭建yum源 yum软件仓库搭建ftp源、python源、硬盘源
银河麒麟-麒麟软件操作系统 kylin 搭建yum源 ubuntu搭建yum源 yum软件仓库搭建ftp源、python源、硬盘源
66 1
|
2月前
|
运维 监控 JavaScript
【阿里云云原生专栏】Serverless架构下的应用部署与运维:阿里云Function Compute深度探索
【5月更文挑战第21天】阿里云Function Compute是事件驱动的无服务器计算服务,让用户无需关注基础设施,专注业务逻辑。本文详述了在FC上部署应用的步骤,包括创建函数、编写代码和部署,并介绍了运维功能:监控告警、日志管理、版本管理和授权管理,提供高效低成本的计算服务。
247 6
|
2月前
|
运维 Linux Docker
ChatGLM3在Docker环境部署(1),Linux运维电话面试技巧
ChatGLM3在Docker环境部署(1),Linux运维电话面试技巧

热门文章

最新文章