建立debian的镜像服务器

本文详细介绍了使用Debmirror工具创建Debian镜像网站的过程,包括安装、配置及发布等关键步骤,同时提供了优化镜像大小和下载速度的建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://steed.blog.openrays.org/blog-htm-do-showone-tid-200.html



  如何建立一个Debian镜像网站呢?在Debian的官方网站已经有专门的介绍:
    http://www.debian.org/mirror/ftpmirror
  这是基于rsync软件的方法,网页也提供了进行网站镜像的现成脚本,但是实现起来比较麻烦而且常常失败。我想使用debmirror这个软件来进行Debian镜像应该更简单一些。

  Debmirror是一个德国人用perl写的Debian网站镜像工具,使用起来更为简单和方便。在缺省的情况下,debmirror使用ftp方式(也可以使用rsync方式)来获取debian所有内容到本地硬盘,再通过系统的http服务器或是ftp服务器将本机设置为合法的apt源,其他客户通过修改自己debian系统的/etc/sources.list文件指向该机器。

  在对Debian做镜像之前有一个要考虑的问题是:你准备对Debian镜像到何种程度,或者说你的硬盘有多大?一些我们很少用的计算机类型的Debian资源是否需要镜像?如果镜像整个Debian,大约需要100G的硬盘空间,每种CPU架构的Woody Sarge Sid软件加起来大约是6--8G。

  下面来看看具体工作过程:
  1 安装debmirror软件:
  #apt-get install debmirror

  2 运行debmirror软件获得debian软件包:
  在此之前,你要决定你的debian软件包放在硬盘的那个目录,这是debmirror运行必需参数,假如:
  #debmirror /mydebian
  意思是将整个debian以所有的缺省参数镜像到我的电脑的/mydebian目录下。啊,100G呀!要下载多久啊!显然不现实,我们需要使用一些其他参数来调整我们的镜像过程,debmirror的可选参数很多,你可以:
  #man debmirror
来查看,下面介绍几个重要的:
  -v:详细显示镜像的具体步骤,最好选上,时刻掌握debmirror的动向。
  -h:从哪个主机下载debian软件包,缺省是ftp.debian.org,国内我想最好使用debian.cn99.com。
  -d:决定镜像debian的哪个版本,我喜欢折中主义,选择sarge。缺省都选。
  -s:决定镜像debian的哪个部分,即在main,contrib,non-free三者中选一个,缺省都选。
  -a:选择计算机架构方式,缺省为i386。  
  --nosource:缺省情况下,debmirror会把debian包的源码一起下载,该参数则禁止下载源码

  假如我想做个最简单的debian源,从我身边最快的debian网站,镜像i386电脑的sarge的main部分的软件包而且还不带源码,下载来的包放在mydebian目录下,那么命令是:
  #debmirror -v -d unstable -s main/debian-installer -e http -h 192.168.10.202 --ignore-release-gpg --ignore-missing-release   --nosource debmirror

  3 下载完后的设置。
  我想通过http方式发布我的debian镜像,先在我的httpd.conf后面加一句:
  Alias /debmirror /mydebian
  再用#apachectl restart重新启动apache服务器,就好了。

  4 客户端的修改:
  现在修改/etc/apt/sources.list文件,加入或者只保留:
  deb http://your ip/debmirror sarge main
  再用#apt-get update更新就可以了。

### 配置 Debian 12 的本地镜像源 #### 安装 `apt-mirror` 为了在外网环境下缓存 APT 源,`apt-mirror` 是一个必要的工具。通过该工具可以同步远程仓库到本地服务器。 ```bash sudo apt-get update sudo apt-get install apt-mirror ``` 此命令会更新包列表并安装 `apt-mirror` 工具[^3]。 #### 配置 `apt-mirror` 编辑 `/etc/apt/mirror.list` 文件来指定要下载的软件包以及来自哪个官方或第三方存储库: ```bash set base_path /var/spool/apt-mirror deb http://ftp.debian.org/debian/ bookworm main contrib non-free clean http://ftp.debian.org/debian/ ``` 上述配置指定了基础路径和目标版本(此处为 Bookworm),同时也定义了清理策略以防止不必要的空间占用。 #### 同步数据至本地 完成配置之后执行如下命令开始同步过程: ```bash sudo apt-mirror ``` 这一步骤将会把所选分发版中的所有可用包下载下来保存在之前设定好的位置内。 #### 设置 Web 服务发布资源 为了让其他机器能够访问这些已下载的数据,需建立 HTTP(S) 或 FTP 类型的服务端口对外提供文件共享功能。Apache 是一种常见的选择方案之一。 ```bash sudo apt-get install apache2 sudo ln -s /var/spool/apt-mirror /var/www/html/debian ``` 这段脚本先是安装 Apache web server 并创建软链接使得可以通过浏览器直接浏览位于 `/var/spool/apt-mirror` 下的内容[^1]。 #### 修改客户端 APT 源地址 最后,在每台需要使用这个新设立起来的内部源的工作站上修改其自身的 sources.list 文件指向新的 URL 地址即可实现加速获取依赖项的目的。 ```bash echo "deb [trusted=yes] http://<your-server-ip>/debian bookworm main contrib non-free" | sudo tee /etc/apt/sources.list.d/local-repo.list ``` 这里的 `<your-server-ip>` 应替换成本地部署有 Apt-Mirror 和 Apache Server 的 IP 地址。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值