arch linux 添加路由,通过ArchLinux设置一个本地镜像的步骤

通过ArchLinux设置一个本地镜像的步骤

如何设置一个本地镜像

from:

http://wiki.archlinux.org/index.php/%E6%9C%AC%E5%9C%B0%E9%95%9C%E5%83%8F

这篇文章将讲述如何在你的本地机器上面创建一个包含 "current" 和 "extra" 所有文件的Arch镜像,以及如何使其定时更新和如何设置使得pacman使用这个镜像。

当然,首先确定你的Arch是最新的:

pacman -Syu

安装rsync:

pacman -S rsync

创建一个用来保存镜像文件的文件夹。到2005年3月,"current" 需要 500 MB 左右的空间,"extra" 大概需要 2.2 GB。如果你希望的话,你也可以镜像"testing" (800 MB) 和 "unstable" (350 MB). 同时修改权限,让一个普通用户(本例中为 "chris")作为属主。

mkdir -p /mirror/{current,extra}

# mkdir /mirror/{testing,unstable}

chown -R chris /mirror

使用你最喜欢的编辑器,创建一个包含下面内容的名为 /mirror/sync.sh 的文件。 如果你希望镜像 "testing" 和 "unstable" ,去掉相应行的注释符号(即#)。或许你还需要调整其中的镜像的地址为和你地理位置比较近的。

#!/bin/sh

rsync -avz --delete rsync.archlinux.org::current /mirror/current/

rsync -avz --delete rsync.archlinux.org::extra /mirror/extra/

# --delete to delete old files remove it if you want to keep them

# rsync -avz --delete rsync.archlinux.org::ftp/testing /mirror/

# rsync -avz --delete rsync.archlinux.org::ftp/unstable /mirror/

使得新创建的文件可执行:

chmod a+x /mirror/sync.sh

确定已经安装了 dcron (应该已经安装好了):

pacman -Q dcron

创建一个定时执行的脚本,内容包含下面所示,文件名为 /etc/cron.daily/sync ,并且替换 "chris" 为你系统中的一个普通用户:

#!/bin/sh

SYNCLOGFILE="/var/log/sync.log"

SYNCLOCKFILE="/var/lock/sync.lock"

if [[ -f $SYNCLOCKFILE ]]; then

# lock file already present, bail

exit 1

fi

echo -n ">>> Sync log for " > $SYNCLOGFILE

date >> $SYNCLOGFILE

cd /mirror

touch $SYNCLOCKFILE

su - chris -c "/mirror/sync.sh" >> $SYNCLOGFILE

rm -f $SYNCLOCKFILE

设置权限:

chmod 744 /etc/cron.daily/sync

此后镜像将在每天的 00:02 AM 进行同步。剩下的内容将讲述如何使本机使用这个镜像。

修改 /etc/pacman.d/current 文件使其内容类似下面:

#

# CURRENT: Arch Linux core repository

#

[[current]]

Server = file:///mirror/current/os/i686

Server = ftp://ftp.archlinux.org/current/os/i686

# Also include the rest of the mirrors if you want

修改 /etc/pacman.d/extra 文件使其内容类似下面:

#

# The Extra Repository

#

[[extra]]

Server = file:///mirror/extra/os/i686

Server = ftp://ftp.ibiblio.org/pub/linux/distributions/archlinux/extra/os/i686

# Also include the rest of the mirrors if you want

对 "testing" 和 "unstable" 做相同的操作如果你对它们也进行了镜像。

等镜像第一次同步结束之后 (检查 /var/log/sync.log 文件),试试看下面的命令是否能正常使用:

pacman -Sy

输出应该类似下面:

:: Synchronizing package databases...

current [[/mirror/current/os/i686/]] 100% LOCAL

extra [[/mirror/extra/os/i686/]] 100% LOCAL

就是这样了。

本文地址:http://www.45fan.com/a/question/73901.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值