一、在可以访问外网的机器上安装createrepo
yum install createrepo -y
二、安装yum-utils工具包
[root@localhost home]# yum install yum-utils -y
三、创建/home/yum-custom/packages目录用于存放yum安装包
[root@localhost home]# mkdir /home/yum-custom [root@localhost home]# mkdir /home/yum-custom/packages [root@localhost home]#
四、使用yumdownloader 下载指定的安装包到/home/yum-custom/packages目录下
[root@localhost home]# yumdownloader --downloadonly --destdir=/home/yum-custom/packages/ telnet unzip libaio pcre-devel openssl openssl-devel
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.huaweicloud.com
* extras: mirrors.bupt.edu.cn
* updates: mirrors.bfsu.edu.cn
(1/4): libaio-0.3.109-13.el7.i686.rpm | 24 kB 00:00:00
(2/4): libaio-0.3.109-13.el7.x86_64.rpm | 24 kB 00:00:00
(3/4): openssl-devel-1.0.2k-24.el7_9.i686.rpm | 1.5 MB 00:00:00
(4/4): pcre-devel-8.32-17.el7.i686.rpm | 480 kB 00:00:01
exiting because "Download Only" specified
--downloadonly 只下载
--downloaddir 指定安装包下载的目录
[root@localhost home]# ll /home/yum-custom/packages
总用量 4852
-rw-r--r--. 1 root root 24912 11月 25 2015 libaio-0.3.109-13.el7.i686.rpm
-rw-r--r--. 1 root root 24744 11月 25 2015 libaio-0.3.109-13.el7.x86_64.rpm
-rw-r--r--. 1 root root 505716 1月 18 22:38 openssl-1.0.2k-24.el7_9.x86_64.rpm
-rw-r--r--. 1 root root 1581868 1月 18 22:38 openssl-devel-1.0.2k-24.el7_9.i686.rpm
-rw-r--r--. 1 root root 1581828 1月 18 22:38 openssl-devel-1.0.2k-24.el7_9.x86_64.rpm
-rw-r--r--. 1 root root 491280 8月 11 2017 pcre-devel-8.32-17.el7.i686.rpm
-rw-r--r--. 1 root root 491272 8月 11 2017 pcre-devel-8.32-17.el7.x86_64.rpm
-rw-r--r--. 1 root root 65932 11月 18 2020 telnet-0.17-66.el7.x86_64.rpm
-rw-r--r--. 1 root root 176616 1月 14 21:22 unzip-6.0-24.el7_9.x86_64.rpm
[root@localhost home]#
五、使用createrepo工具创建yum源
[root@localhost home]# createrepo /home/yum-custom Spawning worker 0 with 2 pkgs Spawning worker 1 with 1 pkgs Spawning worker 2 with 1 pkgs Spawning worker 3 with 1 pkgs Spawning worker 4 with 1 pkgs Spawning worker 5 with 1 pkgs Spawning worker 6 with 1 pkgs Spawning worker 7 with 1 pkgs Workers Finished Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete [root@localhost home]#
[root@localhost home]# ll yum-custom/ 总用量 8 drwxr-xr-x. 2 root root 4096 1月 20 11:51 packages drwxr-xr-x. 2 root root 4096 1月 20 11:52 repodata [root@localhost home]#
生成了一个respodata目录里面存放的是yum安装时使用的索引数据
六、将yum-custom通过U盘或者scp命令复制目标服务器上/home/yum-custom(不能访问外网)
将目标服务器上的/etc/yum.repos.d下面的repo文件打包备份为CentIS-bak.tar.gz包
[root@localhost bak]# tar zcvf CentOS-bak.tar.gz CentOS-*.* CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-Vault.repo CentOS-x86_64-kernel.repo
CentOS-Media.repo [root@localhost bak]#
删除现有的repo文件只保留 CentOS-Media.repo文件
[root@localhost yum.repos.d]# ll /etc/yum.repos.d/ 总用量 8 -rw-r--r--. 1 root root 2457 1月 20 00:51 CentOS-bak.tar.gz -rw-r--r--. 1 root root 569 1月 19 21:54 CentOS-Media.repo [root@localhost yum.repos.d]#
七、编辑CentOS-Media.repo文件,设置baseurl为本地yum源路径
[root@localhost yum.repos.d]# vi CentOS-Media.repo [c7-media] name=CentOS-$releasever - Media baseurl=file:///home/yum-custom gpgcheck=0 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
gpgcheck=0
enabled=1
配置repo路径、关闭gbp校验、启用这个repo
八、清空现有cache,并生成新的cache
[root@localhost yum.repos.d]# yum clean all 已加载插件:fastestmirror 正在清理软件源: c7-media Cleaning up list of fastest mirrors [root@localhost yum.repos.d]# yum makecache 已加载插件:fastestmirror Determining fastest mirrors c7-media | 2.9 kB 00:00:00 (1/3): c7-media/filelists_db | 56 kB 00:00:00 (2/3): c7-media/other_db | 30 kB 00:00:00 (3/3): c7-media/primary_db | 38 kB 00:00:00 元数据缓存已建立 [root@localhost yum.repos.d]#
九、yum安装测试
如果出现缺少需要安装依赖包,
1、去https://pkgs.org/网站搜索相应的RPM包,并下载到制作本地源的服务器上
2、删除yum-custom/reposdata目录,再重新createrepo
3、将新添加的rpm包和reposdata目录更新到目标服务器上
4、再执行yum clean all 和 yum makecache重新缓存
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2020-01-20 mysql利用frm和idb文件恢复数据库
2020-01-20 liunx安装MySQL Utilities
2020-01-20 mysql误删ibdata1,还未重启时的恢复办法