如何使用apt-mirror创建本地Debian / Ubuntu镜像

如何使用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.orgde.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版本,只需用sreesid替换sarge ,并带有微风dapper等等。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏