Fedora每日一篇:Fedora仓库本地镜像技术
Fedora每日一篇
Fedora仓库本地镜像技术
如果局域网内有很多的Fedora机器(包括虚拟机),可以使用Fedora仓库本地镜像技术来加速各个系统的升级,因为这样只需从Internet下载要升级的软件包一次。
这里告诉你怎么构建这样一台本地镜像,
需求:一台大存储空间的机器(/var最好能有个100GB),安装有rsync和httpd
我们建立和同步镜像需要的脚本,
#!/bin/bash
ARCH=i386 # Set to the architecture of your systems
DIR=/var/www/html/fedora/updates/$ARCH/
URL=rsync://mirror/directory/ # See below, include trailing slash
mkdir -p $DIR
cd $DIR || exit
rsync --recursive --delete -v $URL . # Don't miss the . at the end
警告:rsync如果使用--delete选项,一旦目标目录出错,会造成灾难性后果!
保存脚本!脚本会将仓库同步到 /var/www/html/fedora/updates/$ARCH,而同步源是URL指定的,下面我们看怎么确定这个关键的URL,
查看 http://mirrors.fedoraproject.org/publiclist/Fedora/7/ 选择一个rsync镜像!用下面的命令测试,
$ rsync -v rsync://selectedhost/
得到根目录。一个个目录尝试下去直到找到你要的目录-RPMS目录!镜像服务器有时候有特定的目录结构,不一定和官方的目录结构绝对一致!例如可能会找到这样的目录结构,rsync://selectedhost/fedora/updates/7/i386/os/
之后启动web(Apache)服务器并确认防火墙的80端口是开放的,外部可以访问!(系统->管理 -> 防火墙和SElinux设置),你的服务器上的仓库应该可以访问了!
最后配置系统使用本地仓库,在/etc/yum.repos.d/fedora-updates.repo设置baseurl即可! 然后测试!
如果没有什么错误,我们把同步任务做成crontab,每天自动运行同步本地镜像!
# (crontab -l ; echo "0 4 /path/to/update-script") | crontab
当然时间可以随时调整!
Fedora仓库本地镜像技术
如果局域网内有很多的Fedora机器(包括虚拟机),可以使用Fedora仓库本地镜像技术来加速各个系统的升级,因为这样只需从Internet下载要升级的软件包一次。
这里告诉你怎么构建这样一台本地镜像,
需求:一台大存储空间的机器(/var最好能有个100GB),安装有rsync和httpd
我们建立和同步镜像需要的脚本,
#!/bin/bash
ARCH=i386 # Set to the architecture of your systems
DIR=/var/www/html/fedora/updates/$ARCH/
URL=rsync://mirror/directory/ # See below, include trailing slash
mkdir -p $DIR
cd $DIR || exit
rsync --recursive --delete -v $URL . # Don't miss the . at the end
警告:rsync如果使用--delete选项,一旦目标目录出错,会造成灾难性后果!
保存脚本!脚本会将仓库同步到 /var/www/html/fedora/updates/$ARCH,而同步源是URL指定的,下面我们看怎么确定这个关键的URL,
查看 http://mirrors.fedoraproject.org/publiclist/Fedora/7/ 选择一个rsync镜像!用下面的命令测试,
$ rsync -v rsync://selectedhost/
得到根目录。一个个目录尝试下去直到找到你要的目录-RPMS目录!镜像服务器有时候有特定的目录结构,不一定和官方的目录结构绝对一致!例如可能会找到这样的目录结构,rsync://selectedhost/fedora/updates/7/i386/os/
之后启动web(Apache)服务器并确认防火墙的80端口是开放的,外部可以访问!(系统->管理 -> 防火墙和SElinux设置),你的服务器上的仓库应该可以访问了!
最后配置系统使用本地仓库,在/etc/yum.repos.d/fedora-updates.repo设置baseurl即可! 然后测试!
如果没有什么错误,我们把同步任务做成crontab,每天自动运行同步本地镜像!
# (crontab -l ; echo "0 4 /path/to/update-script") | crontab
当然时间可以随时调整!
Comments