Kali Linux官方镜像

官方源的使用

Kali Linux提供了3类软件源,这些源在世界各地都有镜像:

当你使用以上的3个域名做源时,会自动连接到离你最近的与官方同步的镜像.如果你要手动选择一个镜像,请点击上面域名旁的镜像列表,选一个合适你的.

Kali Linux镜像的架设

要求

要架设一个Kali Linux的官方镜像源,你需要一台运行rsync和ssh,大硬盘 ,大带宽的服务器. 截至2013-03-14,主要安装包软件源大约160G,ISO镜像源大约10G.但应该考虑到这些数字在不停的增长. 我们希望你通过HTTP,FTP或RSYNC之一来同步镜像文件,所以必须安装相应的服务.

软件包档案的同步推送

当官方源有更新时会用基于SSH的触发器ping镜像.一般每天4次.

如果你还没有专用于镜像的帐号,先创建一个.(本例子中我们专用于镜像的专用用户是”archvsync”):

$ sudo adduser --disabled-password archvsync
Adding user 'archvsync' ...
[...]
Is the information correct? [Y/n]

创建用于存放镜像的目录,然后修改目录属主为刚才创建的专用用户:

$ sudo mkdir /srv/mirrors/kali{,-security,-images}
$ sudo chown archvsync:archvsync /srv/mirrors/kali{,-security,-images}

下一步配置rsync后台程序(按需启用后台运行)导出这些目录:

$ sudo sed -i -e "s/ENABLED=false/ENABLED=true/" /etc/default/rsync
$ sudo vim /etc/rsyncd.conf
$ cat /etc/rsyncd.conf
uid = nobody
gid = nogroup
max connections = 25
socket options = SO_KEEPALIVE

[kali]
  path = /srv/mirrors/kali
  comment = The Kali Archive
  read only = true

[kali-security]
  path = /srv/mirrors/kali-security
  comment = The Kali security archive
  read only = true

[kali-images]
  path = /srv/mirrors/kali-images
  comment = The Kali ISO images
  read only = true
$ sudo service rsync start
Starting rsync daemon: rsync.

这个文档不包括WEB服务器和FTP服务器的配置.理论上你应该导出镜像到 http://yourmirror.net/kali , http://yourmirror.net/kali-security和http://yourmirror.net/kali-images (FTP也一样). 现在是有趣的部分:专用用户处理SSH触发器配置和镜像站点的搭建.首先应该用专用用户解压ftpsync.tar.gz:

$ sudo su - archvsync
$ wget http://archive.kali.org/ftpsync.tar.gz
$ tar zxf ftpsync.tar.gz

现在我们要创建两个配置文件.在模板的基础上至少要修改MIRRORNAME,TO,RSYNC_PATH,和RSYNC_HOST这几个参数.:

$ cp etc/ftpsync.conf.template etc/ftpsync-kali.conf
$ cp etc/ftpsync.conf.template etc/ftpsync-kali-security.conf
$ vim etc/ftpsync-kali.conf
$ grep -E '^[^#]' etc/ftpsync-kali.conf 
MIRRORNAME=`hostname -f`
TO="/srv/mirrors/kali/"
RSYNC_PATH="kali"
RSYNC_HOST=archive.kali.org
$ vim etc/ftpsync-kali-security.conf
$ grep -E '^[^#]' etc/ftpsync-kali-security.conf 
MIRRORNAME=`hostname -f`
TO="/srv/mirrors/kali-security/"
RSYNC_PATH="kali-security"
RSYNC_HOST=archive.kali.org

最后一步建立.ssh/authorized_keys以便archive.kali.org能触发你的镜像.:

$ mkdir -p .ssh
$ wget -O - -q http://archive.kali.org/pushmirror.pub >>.ssh/authorized_keys

如果你的ftpsync.tar.gz不是解压到home目录,那么你要修正.ssh/authorized_keys中的”~/bin/ftpsync”为相应的路径. 现在发一封包含你的镜像URL的email到 [email protected],以便把你的镜像加入镜像列表.请明确的指出当镜像出现问题(或要进行更改/协商镜像的配置)时我们该联系谁. 与其等待archive.kali.org的第一次推送,不如先用离你近的源进行rsync初始化同步,选择上面镜像列表里的任意一个镜像.假设你选了archive-4.kali.org,那么你应该以专用用户权限运行如下命令:

$ rsync -qaH archive-4.kali.org::kali /srv/mirrors/kali/ &
$ rsync -qaH archive-4.kali.org::kali-security /srv/mirrors/kali-security/ &
$ rsync -qaH archive-4.kali.org::kali-images /srv/mirrors/kali-images/ &

手工同步ISO镜像

ISO镜像源不使用推送同步模式,所以你要建立一个每日运行的rsync计划任务.我们提供了一个可直接用的脚本bin/mirror-kali-images,你只要配置etc/mirror-kali-images.conf,再以专用用户权限把它添加到crontab.

$ sudo su - archvsync
$ cp etc/mirror-kali-image.conf.sample etc/mirror-kali-images.conf
$ vim etc/mirror-kali-images.conf
$ grep -E '^[^#]' etc/mirror-kali-images.conf
TO=/srv/mirrors/kali-images/
$ crontab -e
$ crontab -l
# m h  dom mon dow   command
39 3 * * * ~/bin/mirror-kali-images

请设置一个精确的时间,以防archive.kali.org由于同一时间过多的同步而超负荷..