使用apt-mirror建立局域网内的Debian/Ubuntu源镜像

   2023-02-10 学习力0
核心提示:转:http://forum.ubuntu.org.cn/viewtopic.php?t=41791第一次翻译,翻译得不好还请大家见谅,多多指出错误~!:)原文可以见如下的贴子:http://forum.ubuntu.org.cn/viewtopic.php?t=40082highlight=%E7%BF%BB%E8%AF%91 使用apt-mirror建立局域网内的Debian

转: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. 这一步不适必须的。

代码:

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

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 【树莓派】树莓派(Debian)- root用户无法使用SSH登录
    【树莓派】树莓派(Debian)- root用户无法使用
    在树莓派4B上安装了最新的Debian64位系统默认账户密码:pi/raspberryroot/    ------无密码(通过sudo passwd root修改root密码后)问题root修改密码后还是无法登录解决这个系统默认不允许root使用SSH登录登录root用户su 打开配置文件 nano /etc/ssh/sshd_
    03-08
  • windows10环境下安装Linux子系统---debian
    windows10环境下安装Linux子系统---debian
    windows10环境下安装Linux子系统---debian一、前提1、在控制面板-程序-启用与关闭Windows功能中,勾选“适用于Linux的Windows子系统”  2、首先需要创建一个文件夹,用来存放子系统,在需要的位置创建即可,文件夹名任意3、手动下载Windows子系统发行版包,
    03-08
  • Debian 环境安装新版 nginx
    Debian 环境安装新版 nginx
    在 Debian 系统中,我们可以通过 apt-get 安装系统自带的 nginx,这样安装的 nginx 版本略旧。Nginx 官网提供了一些编辑绎好的 deb 安装包,我们只需更新安装源,就可以通过 apt-get 来安装最新的稳定版 Nginx 了。 加载安装源并导入key$ echo deb http://ng
    03-08
  • 使用apt-mirror建立本地debian仓库源
     先介绍一下环境:主机:Win7虚拟机:VirtualBox + Debian7由于软件源的体积比较大,所以我又给虚拟机添加了一块50GB的虚拟硬盘(给虚拟机添加虚拟硬盘的方法参见:http://www.cnblogs.com/pengdonglin137/p/3366589.html , 其中介绍了如何在Vmware和Virtua
    03-08
  • Debian其实有提供附带了各种桌面的安装镜像
    我之前试着装Debian,但它的安装程序我感觉很难用,装上去了之后也有许许多多的问题,比如中文不显示。今天我发现带Live CD的Debian镜像有带了各个桌面的版本,于是我就试着下载KDE版本的Debian。由于我房间的WLAN质量不佳,用500kb/s的速度下了几个小时,那
    02-10
  • Debian镜像使用帮助 Debian镜像下载
    Debian镜像使用帮助 Debian镜像下载
    http://mirrors.163.com/.help/debian.html
    02-10
  • Debian 11 安装Nvidia闭源驱动
    目录通过APT安装Nvidia驱动为Nvidia驱动注册Secure Boot参考文档本人的系统是Debian11,最近一阵子在捣鼓用apt安装英伟达的闭源驱动,同时支持Secure Boot,查阅了Debian Wiki之类的资料之后,在这里整理一下。通过APT安装Nvidia驱动首先,需要确保你的Debian
    02-10
  • Debian时区和时间自动同步
    时区和时间自动同步(1)时间设置及其同步#date  -s 07/26/2005 //2005年7月26日    //修改系统日期时间为当前正确时间#date -s 11:12:00     //11点12分0秒#vim /etc/default/rcS  //设定 BIOS 时间使用 UTC 时区将选项 UTC 的值设定成 yes
    02-10
  • debian/ubuntu系统vi无法删除字符的解决办法
    之前在 Linux 下操作,一直使用的是 Centos 系统,使用 vi 编辑命令一直很顺畅。 最近,入手了一台 debian 操作系统的 vps。在操作 vi 命令时,发现当输入 i 要进行文件编辑时,上下左右的光标无法移动,屏幕上总会出现字符,而且 backspace 只能后退,无法
    02-10
  • Debian安装JAVA环境 debian安装jdk11
     http://blog.csdn.net/gongora/archive/2009/05/15/4190469.aspxDebian官方没有维护专门的Java软件包,所以不能直接用apt-get工具来安装。在Debian系统中要安装Java,有两种方式,一种是用传统方式;一种是Debian方式。1. 传统方式在 sun 下载了最新的 JDK
    02-10
点击排行