sky_cheng

导航

 

一、在可以访问外网的机器上安装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重新缓存

 

posted on 2022-01-20 15:35  sky_cheng  阅读(530)  评论(0编辑  收藏  举报