🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Kali Linux官方镜像 ## 官方源的使用 Kali Linux提供了3类软件源,这些源在世界各地都有镜像: * [http.kali.org](http://http.kali.org) ([镜像列表](http://http.kali.org/README.mirrorlist)): 主要安装包软件源; * [security.kali.org](http://security.kali.org) ([镜像列表](http://security.kali.org/README.mirrorlist)): 安全包软件源; * [cdimage.kali.org](http://cdimage.kali.org) ([镜像列表](http://cdimage.kali.org/README.mirrorlist)): ISO镜像源. 当你使用以上的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](http://archive.kali.org/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到 [devel@kali.org](mailto:devel@kali.org),以便把你的镜像加入镜像列表.请明确的指出当镜像出现问题(或要进行更改/协商镜像的配置)时我们该联系谁. 与其等待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由于同一时间过多的同步而超负荷..