当前位置:   article > 正文

内网服务自建yum源(不需要网络)_没有网络情况配置yum源

没有网络情况配置yum源

内网服务器自建yum源仓库

- - - 外网也可以用、也可以定时更新同步 - - -

由于内网没有互联网络,没法使用网上的各种YUM源,来回拷贝rpm包安装麻烦,还得解决依赖问题。所以搭建个本地/局域网YUM源,方便自己跟同事安装软件。(我的系统为 centos 7.3)

1、根据实际情况,拿出一台服务器作为yum仓库。

  1. 1、关闭 防火墙、selinux防火墙
  2. [root@129 ~]# yum -y install createrepo
  3. (内网安装先在外网下载后,把createrepo包和依赖包拷贝到内网,< rpm -vi 包名称 > 完成安装)
  4. 2、准备测试用的 rpm 包(自己确定依赖包)、仓库目录。这里用tree演示
  5. [root@129 ~]# mkdir -pv /yum/yum-custom/packages
  6. [root@129 ~]# cp tree-1.6.0-10.e17.x86_64.rpm /yum/yum-custom/packages
  7. 3、创建及自定义 repo
  8. [root@129 ~]# createrepo -pdo /yum/yum-custom/ /yum/yum-custom/ 创建repo数据库
  9. Spawning worker 0 with 1 pkgs
  10. Spawning worker 1 with 0 pkgs
  11. Workers Finished
  12. Saving Primary metadata
  13. Saving file lists metadata
  14. Saving other metadata
  15. Generating sqlite DBs
  16. Sqlite DBs complete
  17. [root@129 ~]# ll /yum/yum-custom
  18. --total 4
  19. drwxr-xr-x. 2 root root 41 Dec 20 07:03 packages
  20. drwxr-xr-x. 2 root root 4096 Dec 20 07:08 repodata--
  21. 清空或者备份出 /etc/yum.repos.d 下所有的源。
  22. [root@129 ~]# vim /etc/yum.repos.d/CentOS-Media.repo
  23. 添加如下内容:
  24. [c7-media]
  25. name=CentOS-$releasever - Media
  26. baseurl=file:///yum/yum-custom/
  27. gpgcheck=0
  28. enabled=1
  29. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
  30. 4、制作cache
  31. [root@129 ~]# yum clean all
  32. Loaded plugins: fastestmirror
  33. Cleaning repos: c7-media
  34. Cleaning up everything
  35. Cleaning up list of fastest mirrors
  36. [root@129 ~]# yum makecache
  37. Loaded plugins: fastestmirror
  38. c7-media | 2.9 kB 00:00:00
  39. (1/3): c7-media/primary_db | 1.8 kB 00:00:00
  40. (2/3): c7-media/filelists_db | 880 B 00:00:00
  41. (3/3): c7-media/other_db | 1.3 kB 00:00:00
  42. Determining fastest mirrors
  43. Metadata Cache Created
  44. 5、使用 repo
  45. [root@129 ~]# yum -y install tree 下载成功,测试完成
  46. 6、下载、配置vsftpd,本机作为整个局域网的源仓库,供其他机器下载软件
  47. [root@129 ~]# yum -y install vsftpd
  48. (内网安装先在外网下载后,把vsftpd包拷贝到内网,< rpm -vi 包名称 > 完成安装)
  49. [root@129 ~]# vim /etc/vsftpd/vsftpd.conf
  50. 添加如下内容:
  51. anon_root=/yum/ 增加匿名用户root目录(默认已经启用匿名访问)
  52. [root@129 ~]# ll -a /yum/ 注意目录权限如下
  53. total 0
  54. drwxr-xr-x 3 root root 24 Oct 12 11:09 .
  55. dr-xr-xr-x. 18 root root 255 Oct 12 11:09 ..
  56. drwxr-xr-x 4 root root 38 Oct 12 11:38 yum-custom
  57. 7、启动 vsftp
  58. [root@129 ~]# systemctl start vsftpd
  59. [root@129 ~]# systemctl enable vsftpd
  60. Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
2、内网其他服务器

  1. 1、清空或者备份出 /etc/yum.repos.d 下所有的源。
  2. [root@135 ~]# vim /etc/yum.repos.d/CentOS-Media.repo
  3. 添加如下内容:
  4. [c7-media]
  5. name=CentOS-$releasever - Media
  6. baseurl=ftp://192.168.0.129/yum-custom # 192.168.0.129为上面vsftp服务器地址
  7. gpgcheck=0
  8. enabled=1
  9. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
  10. 2、启动内网的 repo
  11. [root@135 ~]# yum clean all
  12. Loaded plugins: fastestmirror
  13. Cleaning repos: c7-media
  14. Cleaning up everything
  15. Cleaning up list of fastest mirrors
  16. [root@135 ~]# yum makecache
  17. Loaded plugins: fastestmirror
  18. c7-media | 2.9 kB 00:00:00
  19. (1/3): c7-media/filelists_db | 880 B 00:00:00
  20. (2/3): c7-media/other_db | 1.3 kB 00:00:00
  21. (3/3): c7-media/primary_db | 1.8 kB 00:00:00
  22. Determining fastest mirrors
  23. Metadata Cache Created
  24. 3、使用内网源仓库
  25. [root@135 ~]# yum -y install tree 下载成功,测试完成
3、从阿里服务器将rpm同步到本地

这一步是在外网操作,我用的阿里源,所以同步的是阿里所有的rpm包;也可以同步163或者其他源的。

  1. 1、从阿里服务器将rpm同步到本地需要两个rpm软件:createrepo 和 yum-utils
  2. [root@kkk ~]# yum -y install createrepo yum-utils
  3. [root@kkk ~]# mkdir /yum 创建rpm包存放目录
  4. [root@kkk ~]# reposync -r base -p /yum 将已经配置好的阿里仓库镜像内的rpm包拉到本地,base为本地已经配置好的仓库名,可以用yum repolist查看到
4、同步完之后把所有的 rpm 包拷贝到内网源仓库目录

  1. 拷贝完之后,在内网源仓库那台服务器上执行
  2. createrepo -pdo /yum/yum-custom/ /yum/yum-custom/ 更新repo数据库
  3. 局域网自建源仓库 OK ~
5、如果是外网,配置下定时更新

  1. [root@kkk ~]# vim /cron/repository.sh 编写同步脚本
  2. reposync -r base -p /mirrors/Packege -d # 来删除本地老旧
  3. reposync -r base -p /mirrors/Packege
  4. [root@kkk ~]# crontab -e 添加定时任务
  5. 添加:
  6. 0 0 1 * * sh /yum/repository.sh # 每月1日0时更新yum仓库



作者:linux_python
链接:https://www.jianshu.com/p/e8616f184ac7
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/168583
推荐阅读
相关标签
  

闽ICP备14008679号