建立完整版的仓库
1. 与远程仓库同步
选择稳定的源
保存源,然后makecache
建立一个目录保存软件
与远程源建立同步
以base和epel源为例
reposync -r base /yum/
reposync -r epel /yum/
2. 建立源的元数据
初次建立
createrepo /yum/base
后续同步
createrepo —update /yum/base
3. 编写仓库repo文件
[chaox-base]name=self-build depo basebaseurl=http://172.16.1.61:8086/base/enable=1gpgcheck=0[chaox-epel]name=self-build depo epelbaseurl=http://172.16.1.61:8086/epel/enable=1gpgcheck=0
4. 开始使用
nginx打开autoindex指向yum目录
server {listen 8086 default_server;server_name download.mirror.tang;location / {autoindex on;root /yum;index index.html index.htm;}}
如果需要长期使用这个仓库,建议写一个同步脚本,放到定时任务中运行
建立常用软件仓库
由于我个人同步的是完整版的仓库,并没有进行这个操作,所以仅能提供一个思路,大体上与建立完整版同步类似
1. 创建一台新的空虚拟机
这一步有两个选择,这两个方法都能下载软件及其所需的依赖
打开yum缓存选项(推荐)
[main]cachedir=/var/cache/yum/$basearch/$releaseverkeepcache=1
yum安装时使用downloadonly选项
yum install -y --downloadonly <package_name>
2. yum安装常用软件
3. 将yum缓存下来的软件包拷贝到yum目录
cd /var/cache/yum/x86_64/7cp -r * /yum/
4. 创建元数据
如果将目录也拷贝过去的话,这一步与完整版一样
如果仅仅是rpm包拷贝到yum目录下,直接对yum目录进行createrepo
createrepo /yum/createrepo --update /yum/
5. 编写仓库repo文件
编写仓库repo文件的核心是要将地址指向存放rpm文件的目录
