里头介绍了如何在Vmware和VirtualBox中受Linux虚拟机添加虚拟硬盘)翻译得不得了还呼吁大家见谅。

 

转:http://forum.ubuntu.org.cn/viewtopic.php?t=41791

先行介绍一下条件:

第一蹩脚翻译,翻译得不好还请大家见谅,多多指出错误~!:)
原稿可以表现如下的贴子:http://forum.ubuntu.org.cn/viewtopic.php?t=40082&highlight=%E7%BF%BB%E8%AF%91
动用apt-mirror建立局域网外之Debian/Ubuntu源镜像
Version 1.0
Author: Falko Timme <ft [at] falkotimme [dot] com>
Last edited 12/26/2006
翻译:icyfire (icyfire0105@gmail.com)
论学科将指导你什么利用apt-mirror建立局域网外之Debian/Ubuntu源镜像。如果你得在局域网内安装多拟系统,那么建立一个本地的Debian/Ubuntu源镜像以会晤有益于,在公更新系统的时刻以获得比互联网连接快得差不多之快慢,而且还会省去而的互联网带动富。
本人先是想说的凡本文所言的主意并无是绝无仅有建立Debian/Ubuntu源镜像的法门。有过多计可达标这目标,但是及时可是我以的方。我并无包是方式适用于你。
1 前期准备
而可当debian和ubuntu系统及树Debian/Ubuntu源镜像,也就是说,debian系统可以成立Debian和Ubuntu源镜像,ubuntu系统上也能起Debian和Ubuntu源镜像。
急需留意的是如果树一个源镜像您待发一个赶忙一些底总是和足好的硬盘空间。在我的测试过程中本身开了一个Debian
Sarge的main,contrib 和non-free部分的镜像和 Ubuntu Edgy Eft的 main,
restricted,
universe部分的镜像,这总共占了盖25G的硬盘空间,在16M底DSL的牵动宽下,花了6小时的时才生充斥了。
自家从来不建立安全有的镜像,因为我以为一直由互联网上下载安全更新会再好一点,因为这样可以包你说到底能获得最新的本。
照测试基于 Debian Sarge 和Ubuntu Edgy
Eft操作系统,如果你采取的是其它的本子,那么这个手续可能会见来轻微之异样。你需要设置一个骨干的
Debian Sarge 系统(安装步骤
http://www.howtoforge.com/perfect_setup_debian_sarge)或者 Ubuntu Edgy
Eft系统(安装步骤http://www.howtoforge.com/perfect\_setup\_ubuntu\_6.10)
以此事例中本地源镜像的ip是192.168.0.100.
2,1安装apt-mirror
修改/etc/apt/sources.list(Debian Sarge必须)
如您安装之是 Debian Sarge,你得要修改sources.list.我无清楚Debian
Etch 或者 Sid是否要使改,你得自己尝试一下。对Ubuntu Edgy Eft.
这无异于步不正好必须的。

主机:Win7

代码:

虚拟机:VirtualBox + Debian7

vi /etc/apt/sources.list

由软件源的体积比异常,所以自己而为虚拟机添加了一如既往块50GB的虚拟硬盘(给虚拟机添加虚拟硬盘的措施参见:http://www.cnblogs.com/pengdonglin137/p/3366589.html

其中介绍了什么当Vmware和VirtualBox中给Linux虚拟机添加虚拟硬盘),然后修改/etc/fstab,使在系统启动的时用那个活动挂载到/home/pengdl/debian_source目录下。

入下面怪就一行。

下步入正题:

代码:

第一步、安装apt-mirror工具

行如下命令:

sudo apt-get install
apt-mirror

deb http://apt-mirror.sourceforge.net/ apt-mirror/

第二步、配置apt-mirror

sudo vim /etc/apt/mirror.list

############# config ##################
#
# 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 cleanscript $var_path/clean.sh
# set defaultarch  <running host architecture>
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads     20
set _tilde 0
#
############# end config ##############


deb http://ftp.us.debian.org/debian unstable main contrib non-free
deb-src http://ftp.us.debian.org/debian unstable main contrib non-free

# mirror additional architectures
#deb-alpha http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-amd64 http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-armel http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-hppa http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-i386 http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-ia64 http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-m68k http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-mips http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-mipsel http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-powerpc http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-s390 http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-sparc http://ftp.us.debian.org/debian unstable main contrib non-free

clean http://ftp.us.debian.org/debian

以那个修改为对友好比快之来源,这里自己之所以之凡 
http://ftp.cn.debian.org/debian/ wheezy main contrib non-free

盖自要将未来下载的源放到/home/pengdl/debian_source下面,所以现在欠目录下创造几个文件夹(具体是那些文件夹,可以瞻仰上面的布置文件):

/home/pengdl/debian_source/mirror

/home/pengdl/debian_source/skel

/home/pengdl/debian_source/var

下是自身的配置文件:

############# config ##################
#
# set base_path    /var/spool/apt-mirror
  set base_path    /home/pengdl/debian_source
#
  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  <running host architecture>
 #set postmirror_script $var_path/postmirror.sh
 #set run_postmirror 0
set nthreads     20
set _tilde 0
#
############# end config ##############

deb-i386 http://ftp.cn.debian.org/debian/ wheezy main contrib non-free

#deb http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-src http://ftp.us.debian.org/debian unstable main contrib non-free

# mirror additional architectures
#deb-alpha http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-amd64 http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-armel http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-hppa http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-i386 http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-ia64 http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-m68k http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-mips http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-mipsel http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-powerpc http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-s390 http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-sparc http://ftp.us.debian.org/debian unstable main contrib non-free

#clean http://ftp.us.debian.org/debian
clean http://ftp.cn.debian.org/debian

接下来实施:

其三步、同步镜像

sudo apt-mirror

旅到位后,我们可下clean.sh清理无用软件包(本文档以set base_path  
/home/pengdl/debian_source为例):
$sudo sh /home/pengdl/debian_source/var/clean.sh

于普通的升级中,我们得定期执行apt-mirror命令:
$sudo apt-mirror

抑或将此命令写上crontab中:
30 5    * * *    root    /usr/bin/apt-mirror >>
/var/spool/apt-mirror/var/cron.log
每日五碰30分实行,并于/var/spool/apt-mirror/var/文件夹着生成cron.log日志文件,以好查看更新状态。

代码:

季步、访问镜像

apt-get update

1、本地访问

sudo vim /etc/apt/sources.list

修改成如下内容:

deb file:/home/pengdl/debian_source/mirror/ftp.cn.debian.org/debian wheezy main contrib non-free

更新软件源:

sudo apt-get update

2.2安装apt-mirror
及时无异步对Debian和Ubuntu都是要的,安装apt-mirror,执行

2、通过http访问

顾念要由此http的法门获得当地Debian/Ubuntu的源镜像,因此待安装apache
web服务器

安装Apache

sudo apt-get install apache2

Apache默认的根目录是/var/www,但是软件仓库却以/home/pengdl/debian_source/mirror
为能够通过 http://192.168.0.100/debian 
访问到对应的软件库,我们得以symlinks /var/www/debian 到实在的库地址。

ln -s
/home/pengdl/debian_source/mirror/ftp.de.debian.org/debian
/var/www/debian
 

修改sources.list
sudo vim /etc/apt/sources.list

改成如下内容:

deb http://192.168.0.100/debian wheezy main contrib non-free 

或者

deb http://127.0.0.1/debian wheezy main contrib non-free 

执行

sudo apt-get update

要未采取建立软连接的方法,而是直接修改apatch2的布文件/etc/apache2/sites-enabled/000-default,把DocumentRoot /var/www改为:

DocumentRoot /home/pengdl/debian_source/mirror/ftp.de.debian.org/debian

接下来重启apache

sudo /etc/init.d/apache2 start

修改sources.list
sudo
vim /etc/apt/sources.list

修改成如下内容:

deb http://192.168.0.100 wheezy main contrib non-free 

或者

deb http://127.0.0.1 wheezy main contrib non-free 

执行

sudo apt-get update

 

完!!

 

参考:

http://forum.ubuntu.org.cn/viewtopic.php?t=41791

http://forum.ubuntu.org.cn/viewtopic.php?t=40082&highlight=%E7%BF%BB%E8%AF%91

http://rex.zhang.name/index.php/2011/05/506

http://www.linuxeden.com/html/sysadmin/20090518/65717.html

http://www.2cto.com/os/201311/254830.html

http://www.linuxidc.com/Linux/2008-09/15841.htm

http://popey.com/blog/2006/10/24/creating_an_ubuntu_repository_mirror_with_apt-mirror/

http://www.debianadmin.com/debian-apt-source-mirror-using-apt-mirror.html#more-50

 

==================================================================================

树地方ubuntu仓库源
首先,我们而设置apt-mirror
$sudo apt-get install apt-mirror
如若我们用镜像等文件在 /service/ubuntu文件夹下:
告先新建以下文件夹(mirror.list里面提示而我们先新建文件夹的):
/service/ubuntu
/service/ubuntu/mirror
/service/ubuntu/skel
/service/ubuntu/var
配置apt-mirror:

代码:

$sudo vi /etc/apt/mirror.list

############# 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  <running host architecture>
#我们转移就无异项就好:
set base_path    /service/ubuntu
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 nthreads     20
set _tilde 0
#
############# end config ##############
#咱们把常用的软件同步过来就够了
deb-i386 http://archive.ubuntu.com/ubuntu hardy main restricted universe
multiverse
deb-i386 http://archive.ubuntu.com/ubuntu hardy-updates main restricted
universe multiverse
deb-i386 http://archive.ubuntu.com/ubuntu hardy-backports main
restricted universe multiverse
deb-i386 http://archive.ubuntu.com/ubuntu hardy-security main restricted
universe multiverse
deb-i386 http://archive.ubuntu.com/ubuntu hardy-proposed main restricted
universe multiverse
#
当某些软件包在劳动器端进行了晋升,或者服务器端不再要这些软件包时,我们用了apt-mirror与服务器同步后
#会晤以地方的$var_path/下生成一个clean.sh的本子,列有了留在当地的原本本子及废的软件包,你得手动运行是
#下本来删除遗留在本土的且不需因此的软件包

apt-get install apt-mirror

clean http://archive.ubuntu.com/ubuntu

假设因此amd64各项架构下的管,可以加上deb-amd64底标记
要什么还未加,直接使用deb
http…..这种格式,则于一齐时,只同当前系统所运用的架下之软件包。比如一个64位系统,直接deb
http….只同64号的软件包。如果还嫌麻烦,直接去改set defaultarch 
<running host architecture>这个参数就哼,比如改化set defaultarch
i386,这样你用deb
http…..这种格式,则以一起时,只同步i386之软件包了。
万一您还眷恋使源码,可以拿源码也加到mirror.list里面同步过来,比如加上deb-src这样的符。想使任何的事物吗得长相应的符号来就。
部署好后我们不怕可以同指定的镜像进行联合了
$sudo apt-mirror
假如是首先涂鸦同,官方镜像可能要几上时间才能够一起完整,如果和国内来进行协同,只同常用软件,平均1秒钟网速1MB(Byte)要一起30G横的多少,大概要5-8时的流年才会共同完整。
合到位后,我们得用clean.sh清理无用软件包(本文档以set base_path  
/server/ubuntu为例):
$sudo sh /service/ubuntu/var/clean.sh
创新了后,可以采取apache发布源镜像了。
apache可以如此安排:

3装置阿帕奇。
本人思要由此http的道得到地方Debian/Ubuntu的源镜像,因此需要安装apache
web服务器。

$sudo vi /etc/apache2/sites-enabled/000-default

NameVirtualHost *
<VirtualHost *>
    ServerAdmin webmaster@localhost
#    DocumentRoot /var/www/
    DocumentRoot /service/ubuntu/mirror/archive.ubuntu.com/
    <Directory />
        Options Indexes FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

代码:

……..

每当平凡的升官中,我们得以定期执行apt-mirror命令:
$sudo apt-mirror
还是以是令写进crontab中:
30 5    * * *    root    /usr/bin/apt-mirror >>
/var/spool/apt-mirror/var/cron.log
每天五点30分施行,并在/var/spool/apt-mirror/var/文件夹着生成cron.log日志文件,以有益查看更新状态。

=============================================================================================

运用apt-mirror建立局域网外的Debian/Ubuntu源镜像
Version 1.0
Author: Falko Timme <ft [at] falkotimme [dot] com>
Last edited 12/26/2006
翻译:icyfire (icyfire0105@gmail.com)
以课程将指导你怎么行使apt-mirror建立局域网内的Debian/Ubuntu源镜像。如果您得在局域网内安装多法系统,那么建立一个本土的Debian/Ubuntu源镜像用见面有利于,在公更新系统的时候以取得比较互联网连接快得几近的快,而且还能够省去而的互联网带来富。
本身第一想说之是本文所云的艺术并无是绝无仅有建立Debian/Ubuntu源镜像的方法。有诸多艺术好齐这目标,但是及时也是自身利用的主意。我连无包这个措施适用于您。
1 前期准备
而可于debian和ubuntu系统上起Debian/Ubuntu源镜像,也就是说,debian系统可以起Debian和Ubuntu源镜像,ubuntu系统及呢能树立Debian和Ubuntu源镜像。
急需留意的凡一旦树立一个源镜像而要来一个赶快一些之连日和足大的硬盘空间。在本人之测试过程中我做了一个Debian
Sarge的main,contrib 和non-free部分的镜像和 Ubuntu Edgy Eft的 main,
restricted,
universe部分的镜像,这一起占了盖25G的硬盘空间,在16M的DSL的拉动宽下,花了6钟头的日才生充斥了。
我从来不成立安全有的镜像,因为自己以为一直从互联网上下载安全更新会又好一些,因为这样可以确保你到底能赢得新型的本。
本测试基于 Debian Sarge 和Ubuntu Edgy
Eft操作系统,如果你用的凡外的本子,那么这手续可能会见生出一线的距离。你待设置一个主导的
Debian Sarge
系统(安装步骤http://www.howtoforge.com/perfect_setup_debian_sarge)或者
Ubuntu Edgy
Eft系统(安装步骤http://www.howtoforge.com/perfect\_setup\_ubuntu\_6.10)
其一事例中本地源镜像的ip是192.168.0.100.
2,1安装apt-mirror
修改/etc/apt/sources.list(Debian Sarge必须)
如若您安装的凡 Debian Sarge,你要使改sources.list.我无清楚Debian
Etch 或者 Sid是否要使修改,你得协调尝尝一下。对Ubuntu Edgy Eft.
这同步不正必须的。

代码:

vi /etc/apt/sources.list

进入下面怪就一行。

代码:

deb http://apt-mirror.sourceforge.net/ apt-mirror/

接下来实施:

代码:

apt-get update

2.2安装apt-mirror
立即同样步对Debian和Ubuntu都是必须的,安装apt-mirror,执行

代码:

apt-get install apt-mirror

3设置阿帕奇。
自眷恋如果通过http的章程赢得地方Debian/Ubuntu的源镜像,因此待装apache
web服务器。

代码:

apt-get install apache2

默认的一干二净目录是/var/www,接下我会symlink这个目录及Debian and 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/s …
ller-i386/
skip-clean http://ftp.fi.debian.org/debian/dists/s …
ller-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的main,contrib 和non-free部分以及 Ubuntu Edgy Eft的 main, restricted,
universe部分
,不鉴像应该直接打互联网上下载的安康有。另外,我为不曾镜像源代码包,因为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.
你应有选一个距而比接近的镜像,所以一旦你以美国,就因故us替代de。
末的cleaning部分报告apt-mirror本地的硬盘应该和哪位软件仓库对比为确定什么文件可以活动清除掉。我若反省Debian
和Ubuntu全部之软件,所以我修改成了,
clean http://ftp.de.debian.org/
clean http://de.archive.ubuntu.com/
使您利用了其余的
Debian/Ubuntu版本,请用etch或者sid替换sarge;breezy或者dapper替换edgy。
5创本地软件仓库
现在apt-mirror已经安排好了,现在应有首先破运行它们,下载所有的包构建本地的Debian/Ubuntu软件仓库。我们惟有待执行:
[code]
su – apt-mirror -c apt-mirror
[/eode]
apt-mirror会告诉您究竟要下载多少GB的文本。这将会晤花上几乎单小时,所以一旦耐心点。这些保险将会见蕴藏于/var/spool/apt-mirror/mirror的子目录中,所以你一旦确保该分区还有足够的硬盘空间。
debian的在/var/spool/apt-mirror/mirror/ftp.de.debian.org/debian,
unbuntu的在/var/spool/apt-mirror/mirror/de.archive.ubuntu.com/ubuntu.
若您于第四步选择了一个不等的镜像,那么这路或许略不同。
6清理软件仓库
齐交apt-mirror下充斥了了所有的保管,它挺可能会见报您得免出一部分硬盘空间来,使用以下脚本:
/bin/bash /var/spool/apt-mirror/var/clean.sh
出口如下:
server1:~# /bin/bash /var/spool/apt-mirror/var/clean.sh
Removing 157 unnecessary files [13316096 bytes]…
[0%]…………….done.
Removing 18 unnecessary directories…
[0%]………………done.
这样你就是可知收看出微微硬盘空间被清理出去了。
7 更新本地软件仓库
创新本地镜像是非常简单的,执行
[code]su – apt-mirror -c apt-mirror [/code]
倘若你莫思量手工执行更新,那么您得编制一个定时执行的corn任务。只待编辑/etc/corn.d/apt-mirror,在末一实践上加如下即可:
[code]vi /etc/cron.d/apt-mirror [/code]

引用:

#
# Regular cron jobs for the apt-mirror package
#
0 4 * * * apt-mirror /usr/bin/apt-mirror >
/var/spool/apt-mirror/var/cron.log

8 经过http访问镜像
Apache默认的一干二净目录是/var/www,但是软件仓库却于/var/spool/apt-mirror/mirror
为了能够由此 http://192.168.0.100/debian and
http://192.168.0.100/ubuntu
走访到对应的软件库,我们得symlinks /var/www/debian and
/var/www/ubuntu到真正的库地址。
[code]ln -s /var/spool/apt-mirror/mirror/ftp.de.debian.org/debian
/var/www/debian
ln -s /var/spool/apt-mirror/mirror/de.archive.ubuntu.com/ubuntu
/var/www/ubuntu[/code]
如您采取了别镜像,记得调整及时点儿实践命令。
连通下要考虑的等同桩业务是,你看DebianSarge是sarge而且是泰之e(至少目前是平安的,而Etch仍旧在测试着),那么当您运行
[code]ls -l
/var/spool/apt-mirror/mirror/ftp.de.debian.org/debian/dists [/code]
若晤面发现那里出一个sarge的目,但却是无安定的,但是若您于source.list中因故稳定的交替了
sarge,或者以地方全新安装一个debian系统,这样就是会见并发这么的题目debian
sarge的装置工具还会以为stable替换sarge。解决办法是
[code]cd /var/spool/apt-mirror/mirror/ftp.de.debian.org/debian/dists
ln -s sarge/ stable[/code]
当debian
Etch变成稳定版本的早晚你吧足以镜像Etch。到下不要遗忘了修改stable的symlink。
[code]cd /var/spool/apt-mirror/mirror/ftp.de.debian.org/debian/dists
rm -f stable
ln -s etch/ stable [/code]
以此题目无见面起于ubuntu中。
9 部署你的客户端电脑使用当地镜像
现今本地镜像已经好采用了,我们所假设举行得是语 Debian Sarge和Ubuntu Edgy
Eft 系统如何以当地镜像。
Debian
Sarge系统,在source。list中改main,contrib,non-free的软件仓库
vi /etc/apt/sources.list
[…]
deb http://192.168.0.100/debian sarge main contrib non-free
[…]
Instead of sarge you could also use stable:
[…]
deb http://192.168.0.100/debian stable main contrib non-free
[…]
然后运行:
apt-get update
当 Ubuntu Edgy Eft系统中,你得当sources.list中改换 main restricted
universe的软件仓库。
vi /etc/apt/sources.list
[…]
deb http://192.168.0.100/ubuntu/ edgy main restricted universe
[…]
然后运行:
apt-get update
9.3 全新安装系统
如若您自本土镜像全新安装一个 Debian Sarge 或者 Ubuntu Edgy
Eft那么您可以以以下步骤进行:
10互为关链接
* apt-mirror:
http://apt-mirror.sourceforge.net
* Debian: http://www.debian.org
* Ubuntu: http://www.ubuntu.com

============================================================================================

Ubuntu12.04加建筑自生出自

骨子里,这个工作比较简单,主要两步:apt-mirror和apache。(这里的系统是ubuntu12.04)

1、apt-mirror

1.1 安装

仍地概括,直接sudo apt-get install apt-mirror即可。

1.2 配置apt-mirror

$ sudo vim /etc/apt/mirror.list

[plain]

############# config ################## 

# 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 cleanscript $var_path/clean.sh 

# set defaultarch  <running host architecture> 

# set postmirror_script $var_path/postmirror.sh 

# set run_postmirror 0 

set nthreads     20   

set _tilde 0 

############# end config ############## 

deb http://archive.ubuntu.com/ubuntu precise main restricted universe
multiverse 

deb http://archive.ubuntu.com/ubuntu precise-security main restricted
universe multiverse 

deb http://archive.ubuntu.com/ubuntu precise-updates main restricted
universe multiverse 

#deb http://archive.ubuntu.com/ubuntu precise-proposed main restricted
universe multiverse 

#deb http://archive.ubuntu.com/ubuntu precise-backports main restricted
universe multiverse 

deb-src http://archive.ubuntu.com/ubuntu precise main restricted
universe multiverse 

deb-src http://archive.ubuntu.com/ubuntu precise-security main
restricted universe multiverse 

deb-src http://archive.ubuntu.com/ubuntu precise-updates main restricted
universe multiverse 

#deb-src http://archive.ubuntu.com/ubuntu precise-proposed main
restricted universe multiverse 

#deb-src http://archive.ubuntu.com/ubuntu precise-backports main
restricted universe multiverse 

clean http://archive.ubuntu.com/ubuntu 

将该修改为对好比快之根源(这里用ustc的):

[plain]

############ config ################## 

#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 cleanscript $var_path/clean.sh 

#set defaultarch  <running host architecture> 

#set postmirror_script $var_path/postmirror.sh 

#set run_postmirror 0 

set nthreads     20   

set _tilde 0 

############# end config ############## 

#precise 64bit Mirror 

deb-amd64 http://mirrors.ustc.edu.cn/ubuntu precise main restricted
universe multiverse 

deb-amd64 http://mirrors.ustc.edu.cn/ubuntu precise-security main
restricted universe multiverse 

deb-amd64 http://mirrors.ustc.edu.cn/ubuntu precise-updates main
restricted universe multiverse 

deb-amd64 http://mirrors.ustc.edu.cn/ubuntu precise-proposed main
restricted universe multiverse 

deb-amd64 http://mirrors.ustc.edu.cn/ubuntu precise-backports main
restricted universe multiverse 

#precise 32bit Mirror 

deb-i386 http://mirrors.ustc.edu.cn/ubuntu precise main restricted
universe multiverse 

deb-i386 http://mirrors.ustc.edu.cn/ubuntu precise-security main
restricted universe multiverse 

deb-i386 http://mirrors.ustc.edu.cn/ubuntu precise-updates main
restricted universe multiverse 

deb-i386 http://mirrors.ustc.edu.cn/ubuntu precise-proposed main
restricted universe multiverse 

deb-i386 http://mirrors.ustc.edu.cn/ubuntu precise-backports main
restricted universe multiverse 

deb-src http://mirrors.ustc.edu.cn/ubuntu precise main restricted
universe multiverse 

deb-src http://mirrors.ustc.edu.cn/ubuntu precise-security main
restricted universe multiverse 

deb-src http://mirrors.ustc.edu.cn/ubuntu precise-updates main
restricted universe multiverse 

deb-src http://mirrors.ustc.edu.cn/ubuntu precise-proposed main
restricted universe multiverse 

deb-src http://mirrors.ustc.edu.cn/ubuntu precise-backports main
restricted universe multiverse 

clean http://mirrors.ustc.edu.cn/ubuntu 

1.3 apt-mirror同步源

因而sudo apt-mirror命令开始同步源即可。

[plain]

$ sudo apt-mirror 

Downloading 140 index files using 20 threads… 

Begin time: Fri Nov  1 17:23:49 2013 

[20]… [19]… [18]… [17]… [16]… [15]… [14]…
[13]… [12]… [11]… [10]… [9]… [8]… [7]…
[6]… [5]… [4]… [3]… [2]… [1]… [0]…  

End time: Fri Nov  1 17:23:49 2013 

Proceed indexes: [SSSSSPPPPP] 

93.0 GiB will be downloaded into archive. 

Downloading 85303 archive files using 20 threads… 

Begin time: Fri Nov  1 17:23:55 2013 

[20]…  

此间,要专注,有时候会遇上“No such file apt-mirror: can’t open index in
proceed_index_gz at /usr/bin/apt-mirror line
445.”这样的错误,折腾了我一个下午。原因不怎么懂,不过,貌似按照地方我的流程做,至少可免此错误。具体原因,难道和自家安排文件中从未去丢注释有关联,总之,稍诡异。

最后得后底输出如下:

[plain]

$ sudo apt-mirror 

Downloading 140 index files using 20 threads… 

Begin time: Fri Nov  1 17:23:49 2013 

[20]… [19]… [18]… [17]… [16]… [15]… [14]…
[13]… [12]… [11]… [10]… [9]… [8]… [7]…
[6]… [5]… [4]… [3]… [2]… [1]… [0]…  

End time: Fri Nov  1 17:23:49 2013 

Proceed indexes: [SSSSSPPPPP] 

93.0 GiB will be downloaded into archive. 

Downloading 85303 archive files using 20 threads… 

Begin time: Fri Nov  1 17:23:55 2013 

[20]…   [19]… [18]… [17]… [16]… [15]… [14]…
[13]… [12]… [11]… [10]… [9]… [8]… [7]…
[6]… [5]… [4]… [3]… [2]… [1]… [0]…  

End time: Fri Nov  1 18:12:35 2013 

0.0 bytes in 0 files and 0 directories can be freed. 

Run /var/spool/apt-mirror/var/clean.sh for this purpose. 

Running the Post Mirror script … 

(/var/spool/apt-mirror/var/postmirror.sh) 

Post Mirror script has completed. See above output for any possible
errors. 

2、apache2

2.1 安装

sudo apt-get install apache2

2.2 配置

apache2的安排,这里就是无班门弄斧了。反正我是一直当网上搜的帖子,方法十分粗略。

[plain]

(1) 进入/var/www目录 

cd /var/www 

(2) 创建一个对apt-mirror的mirror存放路径的软链接,这里命名也ubuntu 

$ ln -s /var/spool/apt-mirror/mirror/mirrors.ustc.edu.cn/ubuntu ubuntu 

到这边,就足以在浏览器地址栏输入“202.xxx.xxx.xxx/ubuntu”来拜会该源目录了。

3、使用源

为了采取该源之需修改/etc/apt/source.list文件:

[plain]

依原用底凡ustc的发源,source.list文件如下: 

deb http://mirrors.ustc.edu.cn/ubuntu/ precise main restricted universe
multiverse 

deb http://mirrors.ustc.edu.cn/ubuntu/ precise-security main restricted
universe multiverse 

deb http://mirrors.ustc.edu.cn/ubuntu/ precise-updates main restricted
universe multiverse 

deb http://mirrors.ustc.edu.cn/ubuntu/ precise-proposed main restricted
universe multiverse 

deb http://mirrors.ustc.edu.cn/ubuntu/ precise-backports main restricted
universe multiverse 

deb-src http://mirrors.ustc.edu.cn/ubuntu/ precise main restricted
universe multiverse 

deb-src http://mirrors.ustc.edu.cn/ubuntu/ precise-security main
restricted universe multiverse 

deb-src http://mirrors.ustc.edu.cn/ubuntu/ precise-updates main
restricted universe multiverse 

deb-src http://mirrors.ustc.edu.cn/ubuntu/ precise-proposed main
restricted universe multiverse 

deb-src http://mirrors.ustc.edu.cn/ubuntu/ precise-backports main
restricted universe multiverse 

今纪念改变化,我们恰好搭建好之源,只需要于vim中用一个命”:%s/mirrors.ustc.edu.cn/202.xxx.xxx.xxx/g”,即可将source.list修改为如下: 

deb http://202.xxx.xxx.xxx/ubuntu/ precise main restricted universe
multiverse 

deb http://202.xxx.xxx.xxx/ubuntu/ precise-security main restricted
universe multiverse 

deb http://202.xxx.xxx.xxx/ubuntu/ precise-updates main restricted
universe multiverse 

deb http://202.xxx.xxx.xxx/ubuntu/ precise-proposed main restricted
universe multiverse 

deb http://202.xxx.xxx.xxx/ubuntu/ precise-backports main restricted
universe multiverse 

deb-src http://202.xxx.xxx.xxx/ubuntu/ precise main restricted universe
multiverse 

deb-src http://202.xxx.xxx.xxx/ubuntu/ precise-security main restricted
universe multiverse 

deb-src http://202.xxx.xxx.xxx/ubuntu/ precise-updates main restricted
universe multiverse 

deb-src http://202.xxx.xxx.xxx/ubuntu/ precise-proposed main restricted
universe multiverse 

deb-src http://202.xxx.xxx.xxx/ubuntu/ precise-backports main restricted
universe multiverse 

接下来,sudo apt-get
update就可以看到,我们搭建的像有源的确都生效了,速度出乎意料快

==========================================================================================

1:加下面的行到/etc/apt/sources.list
deb http://apt-mirror.sourceforge.net/ apt-mirror/

2:apt-get update

3:apt-get install apt-mirror

4:根据需要修改/etc/apt/mirror.list,添加离你最近之自

############# 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://debian.cn99.com/debian/ etch main contrib non-free
deb-src http://debian.cn99.com/debian/ etch main contrib non-free

deb http://security.debian.org/ etch/updates main contrib non-free
deb-src http://security.debian.org/ etch/updates main contrib non-free

#deb
http://archive.[Ubuntu](http://www.linuxidc.com/topicnews.aspx?tid=2).com/ubuntu
hardy main restricted universe multiverse
#deb http://archive.ubuntu.com/ubuntu hardy-updates main restricted
universe multiverse
##deb http://archive.ubuntu.com/ubuntu hardy-backports main restricted
universe multiverse
#deb http://archive.ubuntu.com/ubuntu hardy-security main restricted
universe multiverse
##deb http://archive.ubuntu.com/ubuntu hardy-proposed main restricted
universe multiverse
#
#deb-src http://archive.ubuntu.com/ubuntu hardy main restricted
universe multiverse
#deb-src http://archive.ubuntu.com/ubuntu hardy-updates main restricted
universe multiverse
##deb-src http://archive.ubuntu.com/ubuntu hardy-backports main
restricted universe multiverse
#deb-src http://archive.ubuntu.com/ubuntu hardy-security main
restricted universe multiverse
##deb-src http://archive.ubuntu.com/ubuntu hardy-proposed main
restricted universe multiverse

clean http://debian.cn99.com/debian/

#
# deb cdrom:[Debian GNU/Linux 4.0 r0 _Etch_ – Official i386 NETINST
Binary-1 20070407-11:29]/ etch contrib main

5:获得来自信息
su apt-mirror -c apt-mirror
兴许会见报错:

jumping:~# su apt-mirror -c apt-mirror
Downloading 30 index files using 20 threads…
Begin time: Fri Aug 29 11:38:38 2008
[20]… [19]… [18]… [17]… [16]… [15]… [14]…
[13]… [12]… [11]… [10]… [9]… [8]… [7]…
[6]… [5]… [4]… [3]… [2]… [1]… [0]…
End time: Fri Aug 29 11:40:49 2008

Proceed indexes: [Ssh:
debian.cn99.com/debian///dists/etch/main/source/Sources.gz: No such file
or directory
apt-mirror: can’t open index in proceed_index_gz at
/usr/bin/apt-mirror line 382.


顶/var/spool/apt-mirror/skel/debian.cn99.com/debian/dists/etch/main/source/目录下去看发生无产生Sources.gz。没有的话,再实践同样任何
su apt-mirror -c apt-mirror
以至发生收尾。

对的出口应该是:
jumping:# su apt-mirror -c apt-mirror
Downloading 30 index files using 20 threads…
Begin time: Fri Aug 29 11:53:32 2008
[20]… [19]… [18]… [17]… [16]… [15]… [14]…
[13]… [12]… [11]… [10]… [9]… [8]… [7]…
[6]… [5]… [4]… [3]… [2]… [1]… [0]…
End time: Fri Aug 29 11:54:27 2008

Proceed indexes: [SSPP]

30.1 GiB will be downloaded into archive.
Downloading 51528 archive files using 20 threads…
Begin time: Fri Aug 29 11:54:33 2008
[20]…

6:部署apache,提供被其他用户使用该源(参考网上的文章)

=======================================================================================

apt-get install apache2

Creating an Ubuntu repository mirror with apt-mirror

By ADMIN | Published: OCTOBER 24,
2006

 

apt-mirror is a handy tool for creating a replica (or ‘mirror’ if you
will) of a Debian archive. This can be useful in a number of
circumstances if you want to maintain your own archive. Having your own
up to date archive means you have fast access to every package in the
distro very quickly.

Maybe you need it for installing a Debian-based distro onto lots of
machines on a LAN. For example a system builder who installs Linux on
many new computers and wants to improve the speed at which the systems
are updated after a clean install. There are of course other tools that
can achieve this including apt-catcher, apt-proxy and squid. These are
in fact arguably better than the apt-mirror approach. But this is more
fun 图片 1

There are other uses for this, and I’m sure I’ll think of them one day.

apt-mirror can be used on any Debian-based repository. So it will work
equally well with genuine Debian, Ubuntu or indeed any other .deb based
system. Here is the way I setup a local hard disk.

Firstly, prepare some space

 

Lots of it! The Ubuntu 6.10 (Edgy Eft) repository including main,
universe and multiverse currently takes around 30GiB of disk space. Disk
space is relatively cheap though, so having a local archive isn’t a big
deal space-wise. Bandwidth is a separate consideration though. 30GiB is
quite a fair amount of data to pull down over the internet.

I used a 250GiB external USB hard drive. This has the advantage that I
can physically attach it to a machine that has no net connection, chuck
in an Ubuntu 6.10 (Edgy Eft) CD (or even upgrade from a 6.06 [Dapper]
one) and install/upgrade a machine there and then. See – told you there
was another use for this!

This is also especially handy if someone has a wierd ethernet card or
modem that’s only supported in a very new kernel, or requires something
from universe or multiverse to get online. Can’t think of any specific
examples of that, but hey, I’m coming up with excuses^Wreasons to do
this whole apt-mirror thing all the time.

I have a completely empty USB disk plugged in, lets see how much space
there is available.. Ooh lots.

alan@multivac:~$ df -h
Filesystem            Size Used Avail Use% Mounted on
/dev/evms/hda1        5.3G  4.1G  975M  81% /
varrun                244M  112K  244M   1% /var/run
varlock               244M  4.0K  244M   1% /var/lock
procbususb             10M  108K  9.9M   2% /proc/bus/usb
udev                   10M  108K  9.9M   2% /dev
devshm                244M     0  244M   0% /dev/shm
/dev/sda1             233G    4M  229G   0% /media/usbdisk

Make the necessary directories

 

My USB hard disk gets mounted in the usual place (/media/usbdisk) when I
plug it in and turn it on. So I just need to make a directory on that
disk and a few subdirectories and we’re done with this step.

alan@multivac:~$ mkdir /media/usbdisk/repo
alan@multivac:~$ mkdir /media/usbdisk/repo/mirror
alan@multivac:~$ mkdir /media/usbdisk/repo/skel
alan@multivac:~$ mkdir /media/usbdisk/repo/var

Install apt-mirror

apt-mirror is in the standard repositories. You can install using your
favourite tool like synaptic or aptitude, call me old fashioned, I like
apt-get though.

alan@multivac:~$ sudo apt-get install apt-mirror

Edit config

The default settings might work for you okay, but I decided to make some
changes.

alan@multivac:~$ sudo gedit /etc/apt/mirror.list

Here’s the default config file:-

############# 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 ##############
# standard edgy repos
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

Here’s mine. I changed the location where I wanted the repository
stored, used the nearest mirror, changed the number of threads and a few
extra repositories that I wanted to mirror.

############# config ##################
#
# set base_path    /var/spool/apt-mirror
set base_path /media/usbdisk/repo
#
# 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     2
set tilde 0
#
############# end config ##############
# standard edgy repos
deb http://gb.archive.ubuntu.com/ubuntu edgy main restricted universe multiverse
deb http://gb.archive.ubuntu.com/ubuntu edgy-updates main restricted universe multiverse
#deb http://gb.archive.ubuntu.com/ubuntu edgy-backports main restricted universe multiverse
deb http://gb.archive.ubuntu.com/ubuntu edgy-security main restricted universe multiverse
#deb http://gb.archive.ubuntu.com/ubuntu edgy-proposed main restricted universe multiverse

deb-src http://gb.archive.ubuntu.com/ubuntu edgy main restricted universe multiverse
deb-src http://gb.archive.ubuntu.com/ubuntu edgy-updates main restricted universe multiverse
#deb-src http://gb.archive.ubuntu.com/ubuntu edgy-backports main restricted universe multiverse
deb-src http://gb.archive.ubuntu.com/ubuntu edgy-security main restricted universe multiverse
#deb-src http://gb.archive.ubuntu.com/ubuntu edgy-proposed main restricted universe multiverse

clean http://gb.archive.ubuntu.com/ubuntu

# Canonical commercial stuff
deb http://archive.canonical.com/ubuntu edgy-commercial main
clean  http://archive.canonical.com/ubuntu 

# Beryl - Unnecessary 3D groovyness :)
# http://ubuntuforums.org/showthread.php?t=263851
deb http://ubuntu.compiz.net/ edgy main-edgy
clean http://ubuntu.compiz.net/

# Skype - Semi-evil and badly-supported-on-linux VOIP solution
# https://help.ubuntu.com/community/Skype
deb http://download.skype.com/linux/repos/debian/ stable non-free
clean http://download.skype.com/linux/repos/debian/

# Codecs - Stuff to allow you to play all that proprietary encoded stuff
# https://help.ubuntu.com/community/RestrictedFormats
deb http://packages.freecontrib.org/plf edgy-plf free non-free
deb-src http://packages.freecontrib.org/plf edgy-plf free non-free
clean http://packages.freecontrib.org/plf

# Automatix - That thing newbies like
# http://www.getautomatix.com/
deb http://www.getautomatix.com/apt edgy main
clean http://www.getautomatix.com/apt

Set aside some time to start the mirroring. It will take “time”. How
long? Well, divide ~30GiB by your internet connection speed
图片 2

The first time I ran apt-mirror it scanned the online archives and
wanted to download around 30GiB of packages. Worth noting that I didn’t
leave it running but killed it when I wanted to get some bandwidth back
and restarted it later. It doesn’t start all over again but continues,
and you can see this because the total download size goes down with each
execution until you have the full archive. If you have a particularly
slow connection, or you stop it quite a lot then you’ll likely never
finish, at least not whilst edgy is in development!

Once the distro goes stable you can be sure the number of changes will
go down. At the time of writing there’s hundreds of MBs changes per day,
so now may not be the best time to do this
图片 3 The good news is that Edgy
is released this week – Yay!

Here’s one of the instances of me running it. Note this isn’t the first
time I ran it.

alan@multivac:~$ sudo apt-mirror
Downloading 88 index files using 1 threads...
Begin time: Tue Oct 24 06:41:14 2006
[1]... [0]...
End time: Tue Oct 24 06:41:18 2006

Proceed indexes: [SSSSPPPPPPPP]

4.8 MiB will be downloaded into archive.
Downloading 1 archive files using 1 threads...
Begin time: Tue Oct 24 06:41:36 2006
[1]... [0]...
End time: Tue Oct 24 06:41:37 2006

192.8 MiB in 215 files and 29 directories can be freed.
Run /media/usbdisk/repo/var/clean.sh for this purpose.

Note the handy-dandy script that gets created at the end to clear out
the old files you have in your local repository. So we kick that off and
here’s what happens next:-

alan@multivac:~$ sudo sh /media/usbdisk/repo/var/clean.sh
Removing 215 unnecessary files [202129408 bytes]...
[0%]......................done.

Removing 29 unnecessary directories...
[0%].............................done.

That was painless!

Using the archive

Ok, so what can we do with this archive. Install software from it!
Here’s an example of installing software from the local archive
connected to the USB port.

Backup current sources.list

alan@multivac:~$ sudo cp /etc/apt/sources.list /etc/apt/sources.backup

Edit the sources.list

alan@multivac:~$ sudo gedit /etc/apt/sources.list

Here’s the sources.list that goes with the apt-mirror config I used
above.

# standard edgy repos
deb file:/media/usbdisk/repo/mirror/gb.archive.ubuntu.com/ubuntu edgy main restricted universe multiverse
deb-src file:/media/usbdisk/repo/mirror/gb.archive.ubuntu.com/ubuntu edgy main restricted universe multiverse
deb file:/media/usbdisk/repo/mirror/gb.archive.ubuntu.com/ubuntu edgy-security main restricted universe multiverse
deb-src file:/media/usbdisk/repo/mirror/gb.archive.ubuntu.com/ubuntu edgy-security main restricted universe multiverse
deb file:/media/usbdisk/repo/mirror/gb.archive.ubuntu.com/ubuntu edgy-updates main restricted universe multiverse
deb-src file:/media/usbdisk/repo/mirror/gb.archive.ubuntu.com/ubuntu edgy-updates main restricted universe multiverse

# Canonical commercial stuff
deb file:/media/usbdisk/repo/mirror/archive.canonical.com/ubuntu edgy-commercial main

# Beryl - Unnecessary 3D groovyness :)
# http://ubuntuforums.org/showthread.php?t=263851
deb file:/media/usbdisk/repo/mirror/ubuntu.compiz.net/ edgy main-edgy

# Codecs - Stuff to allow you to play all that proprietary encoded stuff
# https://help.ubuntu.com/community/RestrictedFormats
deb file:/media/usbdisk/repo/mirror/packages.freecontrib.org/plf edgy-plf free non-free
deb-src file:/media/usbdisk/repo/mirror/packages.freecontrib.org/plf edgy-plf free non-free

# Skype - Semi-evil and badly-supported-on-linux VOIP solution
# https://help.ubuntu.com/community/Skype
deb file:/media/usbdisk/repo/mirror/download.skype.com/linux/repos/debian/ stable non-free

# Automatix - That thing newbies like
# http://www.getautomatix.com/
deb file:/media/usbdisk/repo/mirror/www.getautomatix.com/apt edgy main

Update

Now we update my local machine to let it know what’s in the repository.

alan@multivac:~$ sudo apt-get update
Ign file: edgy/main Translation-en_GB
Ign file: edgy/restricted Translation-en_GB
Ign file: edgy/universe Translation-en_GB
Ign file: edgy/multiverse Translation-en_GB
Ign file: edgy-security/main Translation-en_GB
Ign file: edgy-security/restricted Translation-en_GB
Ign file: edgy-security/universe Translation-en_GB
Ign file: edgy-security/multiverse Translation-en_GB
Ign file: edgy-updates/main Translation-en_GB
Ign file: edgy-updates/restricted Translation-en_GB
Ign file: edgy-updates/universe Translation-en_GB
Ign file: edgy-updates/multiverse Translation-en_GB
Ign file: edgy-commercial/main Translation-en_GB
Ign file: edgy-plf/free Translation-en_GB
Ign file: edgy-plf/non-free Translation-en_GB
Ign file: edgy/main-edgy Translation-en_GB
Ign file: stable Release.gpg
Ign file: stable/non-free Translation-en_GB
Ign file: edgy/main Translation-en_GB
Ign file: stable Release
Ign file: stable/non-free Packages
Get: 1 file: edgy Release.gpg [191B]
Get: 2 file: edgy-security Release.gpg [189B]
Get: 3 file: edgy-updates Release.gpg [189B]
Get: 4 file: edgy-commercial Release.gpg [191B]
Get: 5 file: edgy-plf Release.gpg [189B]
Get: 6 file: edgy Release.gpg [189B]
Get: 7 file: edgy Release.gpg [189B]
Get: 8 file: edgy Release [34.7kB]
Get: 9 file: edgy-security Release [19.6kB]
Get: 10 file: edgy-updates Release [19.6kB]
Get: 11 file: edgy-commercial Release [4874B]
Get: 12 file: edgy-plf Release [9454B]
Get: 13 file: edgy Release [5755B]
Get: 14 file: edgy Release [4147B]
Ign file: edgy/main Packages
Ign file: edgy/restricted Packages
Ign file: edgy/universe Packages
Ign file: edgy/multiverse Packages
Ign file: edgy/main Sources
Ign file: edgy/restricted Sources
Ign file: edgy/universe Sources
Ign file: edgy/multiverse Sources
Ign file: edgy-security/main Packages
Ign file: edgy-security/restricted Packages
Ign file: edgy-security/universe Packages
Ign file: edgy-security/multiverse Packages
Ign file: edgy-security/main Sources
Ign file: edgy-security/restricted Sources
Ign file: edgy-security/universe Sources
Ign file: edgy-security/multiverse Sources
Ign file: edgy-updates/main Packages
Ign file: edgy-updates/restricted Packages
Ign file: edgy-updates/universe Packages
Ign file: edgy-updates/multiverse Packages
Ign file: edgy-updates/main Sources
Ign file: edgy-updates/restricted Sources
Ign file: edgy-updates/universe Sources
Ign file: edgy-updates/multiverse Sources
Ign file: edgy-plf Release
Ign file: edgy Release
Ign file: edgy Release
Ign file: edgy-commercial/main Packages
Ign file: edgy-plf/free Packages
Ign file: edgy-plf/non-free Packages
Ign file: edgy-plf/free Sources
Ign file: edgy-plf/non-free Sources
Ign file: edgy/main-edgy Packages
Ign file: edgy/main Packages
Fetched 99.5kB in 1s (73.2kB/s)
Reading package lists... Done
W: GPG error: file: edgy-plf Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F120156012B83718
W: GPG error: file: edgy Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 31A5F97FED8A569E
W: GPG error: file: edgy Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 18B52FE3521A9C7C
W: You may want to run apt-get update to correct these problems

Fix the NO_PUBKEY warnings

The warnings occur because I don’t have those keys in my keyring. This
fixes that:-

alan@multivac:~$ sudo gpg --keyserver subkeys.pgp.net --recv F120156012B83718
gpg: requesting key 12B83718 from hkp server subkeys.pgp.net
gpg: key 12B83718: public key "Lionel Le Folgoc (mr_pouit) " imported
gpg: Total number processed: 1
gpg:               imported: 1
alan@multivac:~$ sudo gpg --export --armor F120156012B83718 | sudo apt-key add -
OK
alan@multivac:~$ sudo gpg --keyserver subkeys.pgp.net --recv 31A5F97FED8A569E
gpg: requesting key ED8A569E from hkp server subkeys.pgp.net
gpg: key ED8A569E: public key "Quinn Storm " imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1
alan@multivac:~$ sudo gpg --export --armor 31A5F97FED8A569E | sudo apt-key add -
OK
alan@multivac:~$ sudo gpg --keyserver subkeys.pgp.net --recv 18B52FE3521A9C7C
gpg: requesting key 521A9C7C from hkp server subkeys.pgp.net
gpg: key 521A9C7C: public key "Justin Hayes (Automatix Repository Master) " imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1
alan@multivac:~$ sudo gpg --export --armor 18B52FE3521A9C7C | sudo apt-key add -
OK</WILDTANGENT@W1LDT4NG3NT.NET></LIVINGLATEXKALI@GMAIL.COM></LIONEL.LEFOLGOC@FREE.FR>

Update again
..to show those keys got imported correctly in the last step.

alan@multivac:~$ sudo apt-get update
Ign file: edgy/main Translation-en_GB
Ign file: edgy/restricted Translation-en_GB
Ign file: edgy/universe Translation-en_GB
Ign file: edgy/multiverse Translation-en_GB
Ign file: edgy-security/main Translation-en_GB
Ign file: edgy-security/restricted Translation-en_GB
Ign file: edgy-security/universe Translation-en_GB
Ign file: edgy-security/multiverse Translation-en_GB
Ign file: edgy-updates/main Translation-en_GB
Ign file: edgy-updates/restricted Translation-en_GB
Ign file: edgy-updates/universe Translation-en_GB
Ign file: edgy-updates/multiverse Translation-en_GB
Ign file: edgy-commercial/main Translation-en_GB
Ign file: edgy-plf/free Translation-en_GB
Ign file: edgy-plf/non-free Translation-en_GB
Ign file: edgy/main-edgy Translation-en_GB
Ign file: stable Release.gpg
Ign file: stable/non-free Translation-en_GB
Ign file: edgy/main Translation-en_GB
Ign file: stable Release
Get: 1 file: edgy Release.gpg [191B]
Ign file: stable/non-free Packages
Get: 2 file: edgy-security Release.gpg [189B]
Get: 3 file: edgy-updates Release.gpg [189B]
Get: 4 file: edgy-commercial Release.gpg [191B]
Get: 5 file: edgy-plf Release.gpg [189B]
Get: 6 file: edgy Release.gpg [189B]
Get: 7 file: edgy Release.gpg [189B]
Get: 8 file: edgy Release [34.7kB]
Get: 9 file: edgy-security Release [19.6kB]
Get: 10 file: edgy-updates Release [19.6kB]
Get: 11 file: edgy-commercial Release [4874B]
Get: 12 file: edgy-plf Release [9454B]
Get: 13 file: edgy Release [5755B]
Get: 14 file: edgy Release [4147B]
Ign file: edgy/main Packages
Ign file: edgy/restricted Packages
Ign file: edgy/universe Packages
Ign file: edgy/multiverse Packages
Ign file: edgy/main Sources
Ign file: edgy/restricted Sources
Ign file: edgy/universe Sources
Ign file: edgy/multiverse Sources
Ign file: edgy-security/main Packages
Ign file: edgy-security/restricted Packages
Ign file: edgy-security/universe Packages
Ign file: edgy-security/multiverse Packages
Ign file: edgy-security/main Sources
Ign file: edgy-security/restricted Sources
Ign file: edgy-security/universe Sources
Ign file: edgy-security/multiverse Sources
Ign file: edgy-updates/main Packages
Ign file: edgy-updates/restricted Packages
Ign file: edgy-updates/universe Packages
Ign file: edgy-updates/multiverse Packages
Ign file: edgy-updates/main Sources
Ign file: edgy-updates/restricted Sources
Ign file: edgy-updates/universe Sources
Ign file: edgy-updates/multiverse Sources
Ign file: edgy-commercial/main Packages
Ign file: edgy-plf/free Packages
Ign file: edgy-plf/non-free Packages
Ign file: edgy-plf/free Sources
Ign file: edgy-plf/non-free Sources
Ign file: edgy/main-edgy Packages
Ign file: edgy/main Packages
Fetched 99.5kB in 0s (383kB/s)
Reading package lists... Done

Yay!

Install stuff

Here’s where we try to install stuff off the local mirror. I’ll just get
a small package. Note that it doesn’t copy the package to the local
filesystem “Need to get 0B”, but instead unpacks it directly from the
repo “Unpacking cowsay (from …/c/cowsay/cowsay_3.03-8_all.deb) …”. All
very good stuff. Like it.

alan@multivac:~$ sudo apt-get install cowsay
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed
  cowsay
0 upgraded, 1 newly installed, 0 to remove and 23 not upgraded.
Need to get 0B/17.9kB of archives.
After unpacking 274kB of additional disk space will be used.
Selecting previously deselected package cowsay.
(Reading database ... 156031 files and directories currently installed.)
Unpacking cowsay (from .../c/cowsay/cowsay_3.03-8_all.deb) ...
Setting up cowsay (3.03-8) ...

Test installed stuff

alan@multivac:~$ cowsay apt-mirror rocks!
 ___________________
< apt-mirror rocks! >
 -------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Test upgrading

Lets just make sure an upgrade works.

alan@multivac:~$ sudo apt-get upgrade
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following packages have been kept back:
python-adns python-clientcookie python-crypto python-egenix-mxproxy
python-egenix-mxstack python-egenix-mxtexttools python-htmlgen
python-htmltmpl python-jabber python-kjbuckets python-ldap
python-mysqldb python-pam python-pexpect python-pylibacl
python-pyopenssl
python-pyxattr python-simpletal python-soappy python-sqlite python-syck
python-xmpp
The following packages will be upgraded:
ubuntu-docs
1 upgraded, 0 newly installed, 0 to remove and 22 not upgraded.
Need to get 0B/4984kB of archives.
After unpacking 123kB disk space will be freed.
Do you want to continue [Y/n]?
(Reading database … 156091 files and directories currently installed.)
Preparing to replace ubuntu-docs 6.10.3 (using
…/ubuntu-docs_6.10.4_all.deb) …
Unpacking replacement ubuntu-docs …
Setting up ubuntu-docs (6.10.4) …

Future options

What I will likely do is keep this USB hard disk up to date but rsync
the contents to a local fileserver so that I have it accessible not only
via USB but also via NFS/SMB. That way I can share it out over the
network. I don’t really want to share out a USB hard disk, as it’s a
transient connection. I’d rather share out a permanent directory on a
fileserver.

I have a fileserver called “hal” which I could backup to like this:-

alan@multivac:~$ rsync -avz -e ssh /media/usbdisk/repo alan@hal:/mnt/media/

That will copy the entire contents of my repository over the network via
SSH to /mnt/media on the server hal.

I could reduce the overall download size by eliminating some stuff. For
example I could choose not to download all the source packages by
commenting out the lines starting “deb-src”. I could also reduce the
number of architetures, for example not downloading the AMD64 binaries
because I don’t (currently) have any AMD64 based systems.

My ISP provides me with a higher bandwidth allocation at night than
during the day. So it might also be useful to schedule an apt-mirror via
cron to run during the nightime hours to take advantage of this.

Tweet

This entry was posted in
Advocacy,
Linux,
Ubuntu. Bookmark the
permalink.
Post a
comment
or leave a trackback: Trackback
URL.

« Ad-Hoc Palm TX Hotsync to
Linux

The bullying from Microsoft begins –
again»

默认的干净目录是/var/www,接下我会symlink这个目录及Debian and Ubuntu
的软件仓库所在目录。
4配置apt-mirror
apt-mirror的配备文件在/ etc/apt/mirror.list,debian
sarge中的默认配置文件如下:

17 Comments
  1. 图片 4Anonymous

    Posted May 4, 2009 at 1:22 am |
    Permalink

    I keep getting the following error:

    apt-mirror: can’t utime
    /var/spool/apt-mirror/mirror/mirrors.kernel.org/ubuntu/dists/jaunty/Release
    at /usr/bin/apt-mirror line 494.

    I have searched everywhere and have not been able to find what
    utime?

    Reply

  2. 图片 5Sayali

    Posted March 12, 2009 at 3:19 pm |
    Permalink

    Is it possible to restrict the list of packages to be mirrored
    locally?

    If yes, could someone please help me in finding how I can specify
    only a certain set of .deb files to be mirrored locally? E.g. if I
    know for sure that I need the packages from files: x.deb, y.deb and
    z.deb only, then what should be my mirror.list file?

    Thanks in advance for all the help.

    –Sayali

    Reply

  3. 图片 6Edgar Vega

    Posted June 21, 2009 at 11:00 pm |
    Permalink

    Hi!

    Thanks for this tutorial… its really great, I am taking advantage of
    this information…! Wonderfull!!!

    Reply

  4. 图片 7Maxx44

    Posted October 23, 2009 at 12:20 pm |
    Permalink

    And, if we have a 50 year mission, all of Mozilla needs to be
    looking over the horizon in this way. ,

    Reply

    More from author

  5. 图片 8tewogbade

    Posted November 12, 2010 at 4:53 pm |
    Permalink

    thanks, this was very helpful
    really love it
    but i want to ask what happens when the distribution changes does i
    mean that my local repository is now outdated and i will have to
    make another mirror of the new distro repo

    Reply

    More from
    author

  6. 图片 9Michael

    Posted May 11, 2012 at 6:59 pm |
    Permalink

    One obvious but oft overlooked possibility that had me confused for
    an age is the number of concurrent connections permitted by the site
    you are trying to mirror from.

    I had to reduce the number of threads in mirror.list to 5 (the max
    allowed by my source site) before I was successful

    Reply

  7. 图片 10Tony
    Whitmore

    Posted April 21, 2007 at 2:59 pm |
    Permalink

    What apt-mirror actually does is only download packages for the
    architecture on which it is running. At least, that’s the default
    behaviour. So if the computer running apt-mirror is an i386 machine,
    then you won’t get PPC or AMD64 packages, nor any other
    architecture. People using this software to mirror Debian servers
    are probably quite grateful for this, but sadly there’s not a lot of
    documentation for apt-mirror.

    It seems you can specify a default architecture to mirror on the
    “set defaultarch” line. That’s useful if you want to mirror one arch
    on a server of a different arch. If you want to mirror multiple
    archs you have to specify lines for each in the config file, for
    example:
    `deb-i386 http://gb.archive.ubuntu.com/ubuntu feisty main restricted universe multiverse

           deb-amd64 http://gb.archive.ubuntu.com/ubuntu feisty main restricted universe multiverse`
    

    Reply

    More from author

  8. 图片 11Icarus

    Posted December 5, 2007 at 12:56 pm |
    Permalink

    Very useful !! Thanks a lot for your comment !!

    Reply

  9. 图片 12Manena

    Posted February 7, 2007 at 8:39 am |
    Permalink

    Thank you for this very nice tutorial. Can you please be so kind and
    tell how to download only packages for i386?

    Reply

  10. 图片 13serverchef

    Posted April 1, 2007 at 12:02 am |
    Permalink

    just replace every deb line with deb-i386

    for example:

    deb http://gb.archive.ubuntu.com/ubuntu edgy main restricted
    universe multiverse

    becomes

    deb-i386 http://gb.archive.ubuntu.com/ubuntu edgy main restricted
    universe multiverse

    good luck !

    Reply

  11. 图片 14Tony
    Whitmore

    Posted April 19, 2007 at 10:46 pm |
    Permalink

    This page shows how to finish the configuration off – setting up
    Apache to server the repositories via HTTP. HOWTO Forge Local
    Debian and Ubuntu
    Mirror.

    Reply

    More from author

  12. 图片 15John

    Posted June 15, 2008 at 5:26 pm |
    Permalink

    I used the above procedure to mirror the i386 ubuntu repo. I can use
    it to update and install new software on existing systems (after
    source.list has been modified) that’s no problem. What’s
    frustrating, is that I CANNOT use the local mirror to install a NEW
    ubuntu install using the net installer CD!!! It complains that the
    Release file is not valid! When I browse the local repo I can see
    the Release file (but it obviously contains info for other
    architectures). Is there a way to regenerate the local Release file
    so that it is “proper” by means of a script? so that it doesn’t
    refer to packages for architectures that are not present? Would
    really appreciate any help – as that’s why I wanted to set up a
    local mirror in the first place – to be able to install multiple
    systems from the local LAN. Thanks.

    Reply

    More from author

  13. 图片 16Anonymous

    Posted October 8, 2007 at 9:56 pm |
    Permalink

    When I run sudo apt-mirror -d, I get the following.

    Downloading 21 index files using 20 threads…
    Begin time: Mon Oct 8 12:38:01 2007
    [20]… [19]… [18]… [17]… [16]… [15]… [14]… [13]…
    [12]… [11]… [10]… [9]… [8]… [7]… [6]… [5]… [4]…
    [3]… [2]… [1]… [0]…
    End time: Mon Oct 8 12:42:03 2007

    Proceed indexes: [Psh: cannot open
    us.archive.ubuntu.com/ubuntu//dists/feisty/main/binary-i386/Packages.gz:
    No such file
    apt-mirror: can’t open index in proceed_index_gz at
    /usr/bin/apt-mirror line 368.

    Any ideas on whats wrong.

    Reply

    ##### Leave a Reply Cancel reply

  14. 图片 17Angus

    Posted November 5, 2008 at 12:49 pm |
    Permalink

    In your /etc/apt/mirror.list file you put a / at the end of
    us.archive.ubuntu.com/ubuntu .

    Don’t, and it’s fine.

    Reply

  15. 图片 18Allan

    Posted July 19, 2007 at 4:46 am |
    Permalink

    I was able to netboot and install from a local mirror thanks to this
    resource and a few others. However, when netbooting, additional
    mirror sets are required. I posted some information about this on
    the Ubuntu wiki:

    https://help.ubuntu.com/community/Installation/LocalNet

    My apt-mirror section could probably use some input by someone who
    knows something. I’m just a guy who patiently bungled my way to
    success with a lot of help from blogs like this.

    Reply

  16. 图片 19gaZooGA

    Posted November 17, 2008 at 12:09 pm |
    Permalink

    You must un comment the line below from your /etc/apt/mirror.list
    config for it to work, or else everything will download to
    /var/spool/apt-mirror as opposed to /media/usbdisk/repo.

    set mirror_path $base_path/mirror
    set skel_path $base_path/skel
    set var_path $base_path/var
    set cleanscript $var_path/clean.sh

    Reply

  17. 图片 20Wayne

    Posted December 30, 2008 at 6:59 pm |
    Permalink

    I am having trouble with installing new updates that have been
    downloaded to my local repository with apt-mirror. I have downloaded
    both deb-i386 and deb-amd64 to a local repository in hopes of
    supporting multiple machines on my home network. However, after
    weeks of downloading updates, my update manager does not find any
    updates to install. I am using this format in my sources.list file:

    deb file:/var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu
    hardy main restricted universe multiverse
    deb-src file:/var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu
    hardy main restricted universe multiverse
    deb file:/var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu
    hardy-security main restricted universe multiverse
    deb file:/var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu
    hardy-updates main restricted universe multiverse

    I have verified that apt-mirror is working and downloading files.

    Any suggestions about what is wrong with my configuration?
    Thanks.

    Reply

===================================================================================

引用:

Debian apt Source mirror using apt-mirror

apt-mirror is a small tool that provides ability to mirror any parts (or
even all) of Debian GNU/Linux
distribution
or any other apt sources which often provided by many
debian
developers.

If you want to download apt-mirror click
here

Installing apt-mirror in Debian

add to ‘sources.list’ line i.e /etc/apt/sources.list
file

deb http://apt-mirror.sourceforge.net/ apt-mirror/ and run

# apt-get update

# apt-get install apt-mirror

Configuring sources for apt-mirror

Open ‘mirror.list’ (from /etc/apt/ or whatever you installed it to) and
add needed sources like in /etc/apt/sources.list. Finally your
mirror.list may looks like this:

# 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.us.debian.org/debian sarge main contrib non-free
deb-src http://ftp.us.debian.org/[debian
sarge](http://www.debianadmin.com/debian-apt-source-mirror-using-apt-mirror.html)
main contrib non-free

# this source required for network
installation
ability (udebs)
deb http://ftp.us.debian.org/debian sarge main/debian-installer

# security
updates
is always good thing to install
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

# sarge-proposed-updates’s section
deb http://ftp.us.debian.org/debian sarge-proposed-updates main contrib
non-free
deb-src http://ftp.us.debian.org/debian sarge-proposed-updates main
contrib non-free

##
## Cleaner configuration example
##
#
# set cleanscript $var_path/clean.sh
#

# What directories should we clean up
# (i.e. remove files
missing
in up-to-date indexes)
clean http://security.debian.org/
clean http://ftp.us.debian.org/

# But exclude this directories
# (which is not managed by apt and apt-mirror)
skip-clean http://ftp.us.debian.org/debian-cd/
skip-clean
http://ftp.us.debian.org/debian/dists/sarge/main/installer-i386/
skip-clean http://ftp.us.debian.org/debian/doc/
skip-clean http://ftp.us.debian.org/debian/tools/
skip-clean http://ftp.us.debian.org/debian/project/

Running apt-mirror

Now we may run ‘apt-mirror’

# su — apt-mirror -c apt-mirror

You also can run apt-mirror from cron. Uncomment line in
/etc/cron.d/apt-mirror for this purpose.

# 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/s …
ller-i386/
skip-clean http://ftp.fi.debian.org/debian/dists/s …
ller-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的main,contrib 和non-free部分以及 Ubuntu Edgy Eft的 main, restricted,
universe部分
,不鉴像应该直接打互联网上下载的安康有。另外,我吗绝非镜像源代码包,因为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.
你应该选择一个相距你比接近之镜像,所以要是您于美国,就就此us替代de。
最终的cleaning部分报告apt-mirror本地的硬盘应该同哪位软件仓库对比为确定什么文件可以活动清除掉。我而检查Debian
和Ubuntu全部底软件,所以我修改成了,
clean http://ftp.de.debian.org/
clean http://de.archive.ubuntu.com/
设若您采取了其余的
Debian/Ubuntu版本,请用etch或者sid替换sarge;breezy或者dapper替换edgy。
5创办本地软件仓库
现apt-mirror已经部署好了,现在应有率先浅运行它们,下载所有的包构建本地的Debian/Ubuntu软件仓库。我们只有待实行:
[code]
su – apt-mirror -c apt-mirror
[/eode]
apt-mirror会告诉你究竟要下载多少GB的公文。这将见面花费上几乎单小时,所以要是耐心点。这些保险拿会见储存在/var/spool/apt-mirror/mirror的子目录中,所以你如确保该分区还有足够的硬盘空间。
debian的在/var/spool/apt-mirror/mirror/ftp.de.debian.org/debian,
unbuntu的在/var/spool/apt-mirror/mirror/de.archive.ubuntu.com/ubuntu.
使您于第四步选择了一个不比的镜像,那么这路或许有些不同。
6清理软件仓库
齐及apt-mirror下充斥了了拥有的承保,它好可能会见告诉你可以免除出有些硬盘空间来,使用以下脚本:
/bin/bash /var/spool/apt-mirror/var/clean.sh
输出如下:
server1:~# /bin/bash /var/spool/apt-mirror/var/clean.sh
Removing 157 unnecessary files [13316096 bytes]…
[0%]…………….done.
Removing 18 unnecessary directories…
[0%]………………done.
这样您就算可知观看出微微硬盘空间被清理出来了。
7 更新本地软件仓库
更新本地镜像是非常简单的,执行
[code]su – apt-mirror -c apt-mirror [/code]
倘您无思手工执行更新,那么你得编写一个定时执行之corn任务。只待编辑/etc/corn.d/apt-mirror,在终极一实施上加如下即可:
[code]vi /etc/cron.d/apt-mirror [/code]

引用:

#
# Regular cron jobs for the apt-mirror package
#
0 4 * * * apt-mirror /usr/bin/apt-mirror >
/var/spool/apt-mirror/var/cron.log

8 通过http访问镜像
Apache默认的根本目录是/var/www,但是软件仓库却于/var/spool/apt-mirror/mirror
为能由此 http://192.168.0.100/debian and
http://192.168.0.100/ubuntu
走访到相应的软件库,我们得以symlinks /var/www/debian and
/var/www/ubuntu到真的库地址。
[code]ln -s /var/spool/apt-mirror/mirror/ftp.de.debian.org/debian
/var/www/debian
ln -s /var/spool/apt-mirror/mirror/de.archive.ubuntu.com/ubuntu
/var/www/ubuntu[/code]
一旦你用了别镜像,记得调整及时点儿实施命令。
连接下去要考虑的相同码业务是,你以为DebianSarge是sarge而且是泰的e(至少目前凡是平安之,而Etch仍旧以测试中),那么当你运行
[code]ls -l
/var/spool/apt-mirror/mirror/ftp.de.debian.org/debian/dists [/code]
若晤面发现那里发生一个sarge的目录,但也是无安静之,但是要是你当source.list中之所以稳定的更迭了
sarge,或者以地方全新安装一个debian系统,这样即使见面出现这么的题目debian
sarge的装工具还会认为stable替换sarge。解决办法是
[code]cd /var/spool/apt-mirror/mirror/ftp.de.debian.org/debian/dists
ln -s sarge/ stable[/code]
当debian
Etch变成稳定版本的时刻你也可镜像Etch。到上绝不忘记了修改stable的symlink。
[code]cd /var/spool/apt-mirror/mirror/ftp.de.debian.org/debian/dists
rm -f stable
ln -s etch/ stable [/code]
以此题目未会见出现在ubuntu中。
9 配置你的客户端电脑使用当地镜像
今日地面镜像已经可以使用了,我们所假设召开得是报告 Debian Sarge和Ubuntu Edgy
Eft 系统如何以当地镜像。
Debian
Sarge系统,在source。list中修改main,contrib,non-free的软件仓库
vi /etc/apt/sources.list
[…]
deb http://192.168.0.100/debian sarge main contrib non-free
[…]
Instead of sarge you could also use stable:
[…]
deb http://192.168.0.100/debian stable main contrib non-free
[…]
然后运行:
apt-get update
于 Ubuntu Edgy Eft系统中,你可以当sources.list中易 main restricted
universe的软件仓库。
vi /etc/apt/sources.list
[…]
deb http://192.168.0.100/ubuntu/ edgy main restricted universe
[…]
然后运行:
apt-get update
9.3 全新安装系统
假使你打本地镜像全新安装一个 Debian Sarge 或者 Ubuntu Edgy
Eft那么您可随以下步骤进行:
10互为关链接
* apt-mirror: http://apt-mirror.sourceforge.net
* Debian: http://www.debian.org
* Ubuntu: http://www.ubuntu.com

相关文章