赞
踩
- - - 外网也可以用、也可以定时更新同步 - - -
由于内网没有互联网络,没法使用网上的各种YUM源,来回拷贝rpm包安装麻烦,还得解决依赖问题。所以搭建个本地/局域网YUM源,方便自己跟同事安装软件。(我的系统为 centos 7.3)
1、关闭 防火墙、selinux防火墙
- [root@129 ~]# yum -y install createrepo
- (内网安装先在外网下载后,把createrepo包和依赖包拷贝到内网,< rpm -vi 包名称 > 完成安装)
2、准备测试用的 rpm 包(自己确定依赖包)、仓库目录。这里用 tree 演示
- [root@129 ~]# mkdir -pv /yum/yum-custom/packages
- [root@129 ~]# cp tree-1.6.0-10.e17.x86_64.rpm /yum/yum-custom/packages
3、创建及自定义 repo
- [root@129 ~]# createrepo -pdo /yum/yum-custom/ /yum/yum-custom/ 创建repo数据库
- Spawning worker 0 with 1 pkgs
- Spawning worker 1 with 0 pkgs
- Workers Finished
- Saving Primary metadata
- Saving file lists metadata
- Saving other metadata
- Generating sqlite DBs
- Sqlite DBs complete
-
- [root@129 ~]# ll /yum/yum-custom
- --total 4
- drwxr-xr-x. 2 root root 41 Dec 20 07:03 packages
- drwxr-xr-x. 2 root root 4096 Dec 20 07:08 repodata--
-
-
- 清空或者备份出 /etc/yum.repos.d 下所有的源。
-
- [root@129 ~]# vim /etc/yum.repos.d/CentOS-Media.repo
-
- 添加如下内容:
-
- [c7-media]
- name=CentOS-$releasever - Media
- baseurl=file:///yum/yum-custom/
- gpgcheck=0
- enabled=1
- gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
4、制作cache
- [root@129 ~]# yum clean all
- Loaded plugins: fastestmirror
- Cleaning repos: c7-media
- Cleaning up everything
- Cleaning up list of fastest mirrors
-
- [root@129 ~]# yum makecache
- Loaded plugins: fastestmirror
- c7-media | 2.9 kB 00:00:00
- (1/3): c7-media/primary_db | 1.8 kB 00:00:00
- (2/3): c7-media/filelists_db | 880 B 00:00:00
- (3/3): c7-media/other_db | 1.3 kB 00:00:00
- Determining fastest mirrors
- Metadata Cache Created
5、使用 repo
[root@129 ~]# yum -y install tree 下载成功,测试完成
6、下载、配置vsftpd,本机作为整个局域网的源仓库,供其他机器下载软件
- [root@129 ~]# yum -y install vsftpd
- (内网安装先在外网下载后,把vsftpd包拷贝到内网,< rpm -vi 包名称 > 完成安装)
-
- [root@129 ~]# vim /etc/vsftpd/vsftpd.conf
-
- 添加如下内容:
-
- anon_root=/yum/ 增加匿名用户root目录(默认已经启用匿名访问)
-
- [root@129 ~]# ll -a /yum/ 注意目录权限如下
- total 0
- drwxr-xr-x 3 root root 24 Oct 12 11:09 .
- dr-xr-xr-x. 18 root root 255 Oct 12 11:09 ..
- drwxr-xr-x 4 root root 38 Oct 12 11:38 yum-custom
7、启动 vsftp
- [root@129 ~]# systemctl start vsftpd
- [root@129 ~]# systemctl enable vsftpd
- Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
1、清空或者备份出 /etc/yum.repos.d 下所有的源
- [root@135 ~]# vim /etc/yum.repos.d/CentOS-Media.repo
-
- 添加如下内容:
-
- [c7-media]
- name=CentOS-$releasever - Media
- baseurl=ftp://192.168.0.129/yum-custom # 192.168.0.129为上面vsftp服务器地址
- gpgcheck=0
- enabled=1
- gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
2、启动内网的 repo
- [root@135 ~]# yum clean all
- Loaded plugins: fastestmirror
- Cleaning repos: c7-media
- Cleaning up everything
- Cleaning up list of fastest mirrors
-
- [root@135 ~]# yum makecache
- Loaded plugins: fastestmirror
- c7-media | 2.9 kB 00:00:00
- (1/3): c7-media/filelists_db | 880 B 00:00:00
- (2/3): c7-media/other_db | 1.3 kB 00:00:00
- (3/3): c7-media/primary_db | 1.8 kB 00:00:00
- Determining fastest mirrors
- Metadata Cache Created
3、使用内网源仓库
[root@135 ~]# yum -y install tree 下载成功,测试完成
这一步是在 外网 操作,我用的阿里源,所以同步的是阿里所有的rpm包;也可以同步163或者其他源的(把自己机器上的源改为想同步的源就行)。
- [root@kkk ~]# yum repolist 查看阿里的可用仓库,有启用的表示已经成功了
-
- 从阿里服务器将rpm同步到本地需要两个rpm软件:createrepo 和 yum-utils
- [root@kkk ~]# yum -y install createrepo yum-utils
- [root@kkk ~]# mkdir /yum 创建rpm包存放目录
- [root@kkk ~]# reposync -r base -p /yum 将已经配置好的阿里仓库镜像内的 rpm 包拉到本地,base为本地已经配置好的仓库名,可以用 yum repolist 查看到。
- 拷贝完之后,在内网源仓库那台服务器上执行
- createrepo -pdo /yum/yum-custom/ /yum/yum-custom/ 更新repo数据库
局域网自建源仓库 OK ~
- [root@kkk ~]# vim /cron/repository.sh # 编写同步脚本
- #!/usr/bin/env bash
- #
- reposync -r base -p /yum/yum-custom/ -d # 来删除本地老旧
- reposync -r base -p /yum/yum-custom/
- createrepo -pdo /yum/yum-custom/ /yum/yum-custom/
-
- [root@kkk ~]# crontab -e # 添加定时任务
- 添加:
- 0 0 1 * * sh /yum/repository.sh # 每月1日0时更新yum仓库
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。