如何使用apt-mirror创建本地Debian / Ubuntu镜像
版本1.0
作者:Falko Timme
本教程将介绍如何使用工具apt-mirror为您的本地网络创建一个Debian / Ubuntu镜像。 如果您必须在本地网络中安装多个系统,那么拥有本地的Debian / Ubuntu镜像是很好的,因为所有需要的软件包都可以通过快速的LAN连接进行下载,从而节省您的网络带宽。
我想先说说这不是建立这样一个系统的唯一途径。 实现这一目标有很多方法,但这是我所采取的方式。 我不会保证这将为您工作!
1初步说明
您可以在Debian和Ubuntu系统上设置Debian和Ubuntu镜像,即Debian系统可以是Debian 和 Ubuntu镜像,以及Ubuntu系统可以是Ubuntu 和 Debian镜像。
请注意,您需要一个快速的互联网连接,将所有软件包下载到镜像以及大量的硬盘空间。 在我的测试中,我反映了Debian Sarge的主要,contrib和非免费部分以及Ubuntu Edgy Eft的主要,受限制和全局部分,占用了大约25GB的硬盘空间,并在16MBit的DSL上大约花了6个小时的下载时间线。
我不会在本教程中镜像安全更新 - 我认为最好直接从互联网下载安全更新。 这样你可以确定你得到最新的。
我已经在Debian Sarge和Ubuntu Edgy Eft系统上测试了这个。 如果您使用不同的Debian / Ubuntu版本,该过程可能会有所不同。 您应该已经建立了一个基本的Debian Sarge系统(例如,如https://www.youcl.com/info/4407第1页和第2页)或基本的Ubuntu Edgy Eft系统(例如第1至3页https://www.youcl.com/info/6846 )。
在本例中,我的本地镜像的IP地址为192.168.0.100
。
2安装apt-mirror
2.1修改/etc/apt/sources.list(仅限Debian Sarge)
如果您使用的是Debian Sarge,则必须修改/etc/apt/sources.list
才能安装apt-mirror。 我不知道Debian Etch或Sid是否必要,请自行尝试。 Ubuntu Edgy Eft不需要这一步。
vi /etc/apt/sources.list
请将以下行添加到文件中:
[...] deb http://apt-mirror.sourceforge.net/ apt-mirror/ [...] |
然后更新包数据库:
apt-get update
2.2安装适配镜
此步骤适用于所有系统(Debian和Ubuntu)。 要安装apt-mirror,请运行
apt-get install apt-mirror
3安装Apache
后来,我想通过http访问我的新的本地Debian / Ubuntu镜像,因此我现在安装Apache Web服务器:
apt-get install apache2
默认文件根是/ var / www
,我将在该目录中创建符号链接到Debian和Ubuntu存储库的位置。
4配置apt-mirror
apt-mirror的配置文件是/etc/apt/mirror.list
。 应该已经有一个默认配置了; 在Debian Sarge上,文件如下所示:
# apt-mirror configuration file ## ## The default configuration options (uncomment and change to override) ## # # set base_path /var/spool/apt-mirror # set mirror_path $base_path/mirror # set skel_path $base_path/skel # set var_path $base_path/var # # set defaultarch # set nthreads 20 # ## ## Example sources ## # sarge's section deb http://ftp.fi.debian.org/debian sarge main contrib non-free deb-src http://ftp.fi.debian.org/debian sarge main contrib non-free deb http://security.debian.org/debian-security sarge/updates main contrib non-free deb-src http://security.debian.org/debian-security sarge/updates main contrib non-free deb http://ftp.fi.debian.org/debian sarge main/debian-installer # sarge-proposed-updates's section deb http://ftp.fi.debian.org/debian sarge-proposed-updates main contrib non-free deb-src http://ftp.fi.debian.org/debian sarge-proposed-updates main contrib non-free # sid's section deb http://ftp.fi.debian.org/debian sid main contrib non-free deb-src http://ftp.fi.debian.org/debian sid main contrib non-free deb http://ftp.fi.debian.org/debian sid main/debian-installer # experimental section deb http://ftp.fi.debian.org/debian ../project/experimental main contrib non-free deb-src http://ftp.fi.debian.org/debian ../project/experimental main contrib non-free ## ## Cleaner configuration example ## # # set cleanscript $var_path/clean.sh # # Cleaning section clean http://security.debian.org/ clean http://ftp.fi.debian.org/ skip-clean http://ftp.fi.debian.org/doc/ skip-clean http://ftp.fi.debian.org/tools/ skip-clean http://ftp.fi.debian.org/debian-cd/ skip-clean http://ftp.fi.debian.org/debian-minicd/ skip-clean http://ftp.fi.debian.org/debian/dists/sarge/main/installer-i386/ skip-clean http://ftp.fi.debian.org/debian/dists/sid/main/installer-i386/ skip-clean http://ftp.fi.debian.org/debian/doc/ skip-clean http://ftp.fi.debian.org/debian/tools/ skip-clean http://ftp.fi.debian.org/debian/project/ skip-clean http://ftp.fi.debian.org/debian-non-US/project/ |
在Ubuntu Edgy Eft上,文件如下所示:
############# config ################## # # set base_path /var/spool/apt-mirror # # if you change the base path you must create the directories below with write privlages # # set mirror_path $base_path/mirror # set skel_path $base_path/skel # set var_path $base_path/var # set cleanscript $var_path/clean.sh # set defaultarch set nthreads 20 set tilde 0 # ############# end config ############## deb http://archive.ubuntu.com/ubuntu edgy main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu edgy-updates main restricted universe multiverse #deb http://archive.ubuntu.com/ubuntu edgy-backports main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu edgy-security main restricted universe multiverse #deb http://archive.ubuntu.com/ubuntu edgy-proposed main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu edgy main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu edgy-updates main restricted universe multiverse #deb-src http://archive.ubuntu.com/ubuntu edgy-backports main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu edgy-security main restricted universe multiverse #deb-src http://archive.ubuntu.com/ubuntu edgy-proposed main restricted universe multiverse clean http://archive.ubuntu.com/ubuntu |
如果您将文件与/etc/apt/sources.list
进行比较,您将看到它非常相似。 /etc/apt/mirror.list
主要列出应该镜像的存储库,还有其他一些选项。
现在我们修改/etc/apt/mirror.list
。 正如我之前所说,我想镜像Debian Sarge的主要,contrib和非免费部分以及Ubuntu Edgy Eft的主要,受限制和全局部分,但是我不想镜像安全更新,因为这些应该是直接从互联网下载。 此外,我不想镜像源包,因为在95%的安装中,您不需要源包,并且它们在硬盘上需要大量的空间。 所以我的/etc/apt/mirror.list
看起来像这样:
vi /etc/apt/mirror.list
# apt-mirror configuration file ## ## The default configuration options (uncomment and change to override) ## # # set base_path /var/spool/apt-mirror # set mirror_path $base_path/mirror # set skel_path $base_path/skel # set var_path $base_path/var # # set defaultarch # set nthreads 20 # ## ## Example sources ## # sarge's section deb http://ftp.de.debian.org/debian sarge main contrib non-free # Ubuntu Edgy Eft deb http://de.archive.ubuntu.com/ubuntu/ edgy main restricted universe ## ## Cleaner configuration example ## # # set cleanscript $var_path/clean.sh # # Cleaning section clean http://ftp.de.debian.org/ clean http://de.archive.ubuntu.com/ |
请注意,我使用ftp.de.debian.org
而不是ftp.fi.debian.org
和de.archive.ubuntu.com
而不是archive.ubuntu.com
。 你应该使用靠近你的镜子,所以如果你在美国,例如,替换de
与我们
,等等。
最后的清理部分告诉apt-mirror,它应该检查本地硬盘上的目录,看看是否可以释放硬盘空间。 我想检查Debian和Ubuntu的整个本地存储库,因此我指定
clean http://ftp.de.debian.org/
clean http://de.archive.ubuntu.com/
如果你想使用其他的Debian / Ubuntu版本,只需用sree
或sid
替换sarge
,并带有微风
, dapper
等等。