centos利用createrepo制作本地yum源
# 准备
# 可上网的源
添加阿里的源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
1
清除缓存 生成新的缓存
yum clean all
yum makecache
1
2
3
2
3
# 一、在可以访问外网的机器上安装createrepo
yum install createrepo -y
1
# 二、安装yum-utils工具包
[root@localhost home]# yum install yum-utils -y
1
# 三、创建/home/yum-custom/packages目录用于存放yum安装包
[root@localhost home]# mkdir /home/yum-custom
[root@localhost home]# mkdir /home/yum-custom/packages
[root@localhost home]#
1
2
3
2
3
# 四、使用yumdownloader 下载指定的安装包到/home/yum-custom/packages目录下
yumdownloader离线下载神器;其实就是从https://pkgs.org/
去下载对应系统的软件版本;
[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
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
- --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]#
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 五、使用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]#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[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]#
1
2
3
4
5
2
3
4
5
生成了一个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]#
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
删除现有的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]#
1
2
3
4
5
2
3
4
5
# 七、编辑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
1
2
3
4
5
6
7
2
3
4
5
6
7
- gpgcheck=0
- enabled=1
配置repo路径、关闭gbp校验、启用这个repo
# 八、清空现有cache,并生成新的cache
清除缓存 生成新的缓存
yum clean all
yum makecache
1
2
2
[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]#
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
其它可参考执行的命令
#检查可以更新的软件包
yum check-update
#更新所有的软件包
yum update
#更新特定的软件包
yum update kernel
#大规模的升级
yum upgrade
#清楚缓存中rpm包文件
yum clean packages
#清楚缓存中rpm的头文件
yum clean headers
#清除缓存中旧的头文件
yum clean old headers
#清除缓存中旧的rpm头文件和包文件
yum clean all
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 九、yum安装测试
如果出现缺少需要安装依赖包,
1、去https://pkgs.org/网站搜索相应的RPM包,并下载到制作本地源的服务器上
2、删除yum-custom/reposdata目录,再重新createrepo; 执行 createrepo .
;
3、将新添加的rpm包和reposdata目录更新到目标服务器上
4、再执行yum clean all 和 yum makecache重新缓存
# 10.单独rpm安装
安装yum
rpm -ivh yum*
1
查看安装是否成功
rpm -qa yum
1
# 参考链接
https://www.cnblogs.com/sky-cheng/p/15825809.html
上次更新: 2022/04/15, 05:41:32