[转] ubuntu10.04创建本地apt-get服务器
1.环境
@试验主机192.168.1.112,ubuntu10.04,lucid系统
@使用sohu服务器的ubuntu source源
@一直以root身份执行
2.安装需要的工具
#apt-get install apt-mirror
#apt-get install apach2
3.修改镜像配置文件(我只添加了deb和deb-src这2个类型,kermic这一个版本,main这一个组件)
#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://mirrors.sohu.com/ubuntu/ karmic main
deb-src http://mirrors.sohu.com/ubuntu/ karmic main
4.到suhu的服务器下载文件
#sudo apt-mirror
这会启动20个线程【上面文件中配置】运行wget到 http://mirrors.sohu.com/ubuntu 下面下载相应的deb包。
执行完成后,/var/spool/apt-mirror目录下就有了所有需要的deb包和相应的配置文件。
因为我现在是从sohu下载的,所以实际的文件在:/var/spool/apt-mirror/mirror/mirrors.sohu.com/Ubuntu目录下。
如果你选择其他Ubuntu Source服务区,那么会下载到其他对应的目录下。
可以看一下下载之后的文件:
# ll /var/spool/apt-mirror/mirror/mirrors.sohu.com/ubuntu
总用量 8
drwxr-xr-x 3 root root 4096 2011-07-29 03:25 dists/
drwxr-xr-x 3 root root 4096 2011-07-28 17:36 pool/
# ll /var/spool/apt-mirror/mirror/mirrors.sohu.com/ubuntu/dists/karmic/main/
总用量 8
drwxr-xr-x 2 root root 4096 2011-07-29 03:25 binary-i386/
drwxr-xr-x 2 root root 4096 2011-07-29 03:25 source/
# ll /var/spool/apt-mirror/mirror/mirrors.sohu.com/ubuntu/dists/karmic/main/binary-i386/
总用量 11148
-rw-r--r-- 1 root root 8292848 2011-07-28 17:35 Packages
-rw-r--r-- 1 root root 1352716 2009-10-28 22:12 Packages.bz2
-rw-r--r-- 1 root root 1736742 2009-10-28 22:12 Packages.gz
-rw-r--r-- 1 root root 94 2009-10-28 22:23 Release
# ll /var/spool/apt-mirror/mirror/mirrors.sohu.com/ubuntu/dists/karmic/main/source/
总用量 4524
-rw-r--r-- 1 root root 96 2009-10-28 22:23 Release
-rw-r--r-- 1 root root 3161799 2011-07-28 17:35 Sources
-rw-r--r-- 1 root root 639802 2009-10-28 22:21 Sources.bz2
-rw-r--r-- 1 root root 809190 2009-10-28 22:21 Sources.gz
# ls /var/spool/apt-mirror/mirror/mirrors.sohu.com/ubuntu/pool/main/
a d g j liba libd libg libj libm libp libs libv liby n q t w z
b e h k libb libe libh libk libn libq libt libw libz o r u x
c f i l libc libf libi libl libo libr libu libx m p s v y
5.复制文件到apache2的目录中(/var/www/)
#ln /var/spool/apt-mirror/mirror/mirrors.sohu.com/ubuntu -s
在/var/www目录下创建一个Ubuntu超链接,链接到/var/spool/apt-mirror/mirror/mirrors.sohu.com/ubuntu目录下。
6.设置本地镜像与 sohu 的服务器同步更新
我们现在创建的ubunt source服务器的内容和sohu版本的服务器相同。
但是,每天Ubuntu团队都在向Ubuntu Source 服务器中添加新的deb包。
Sohu每天也都会和Ubuntu官方source服务器同步。
因此,我们必须经常使用sudo apt-mirror命令才能同步最新的deb包。
# vim /etc/cron.d/apt-mirror
把命令签名的#去掉。命令如下:
0 4 * * * apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log
7.启动apache2服务
# /etc/init.d/apache2 restart
8.check一下
在浏览器中,打开:http://192.168.1.112/ubuntu/
可以看到服务器中的文件了。
>>> 至此,我们的本地Ubuntu Source服务器已经创建成功了。
>>> 使用这个服务器安装软件
8.备份、修改sources.list
# mv /etc/apt/sources.list /etc/apt/sources.list.bak
# vim /etc/apt/sources.list
把原有内容全部删除或注释掉,添加如下2行,保存后退出
deb http://192.168.1.112/ubuntu karmic main
deb-src http://192.168.1.112/ubuntu karmic main
9.重建本地索引
# apt-get update
命中 http://192.168.1.112 karmic Release.gpg
忽略 http://192.168.1.112/ubuntu/ karmic/main Translation-zh_CN
命中 http://192.168.1.112 karmic Release
命中 http://192.168.1.112 karmic/main Packages
命中 http://192.168.1.112 karmic/main Sources
正在读取软件包列表... 完成
10.从本地服务器中获取安装文件(可以看到是从192.168.1.112上获取的安装文件)
# apt-get install cheese
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
ibus-pinyin-db-open-phrase pinyin-database
使用'apt-get autoremove'来删除它们
将会安装下列额外的软件包:
libgnome-desktop-2-11
下列【新】软件包将被安装:
cheese libgnome-desktop-2-11
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 2,586kB 的软件包。
解压缩后会消耗掉 7,565kB 的额外空间。
您希望继续执行吗?[Y/n]Y
获取:1 http://192.168.1.112/ubuntu/ karmic/main libgnome-desktop-2-11 1:2.28.1-0ubuntu2 [105kB]
获取:2 http://192.168.1.112/ubuntu/ karmic/main cheese 2.28.1-0ubuntu1 [2,481kB]
下载 2,586kB,耗时 0秒 (39.9MB/s)
选中了曾被取消选择的软件包 libgnome-desktop-2-11。
(正在读取数据库 ... 系统当前总共安装有 169831 个文件和目录。)
正在解压缩 libgnome-desktop-2-11 (从 .../libgnome-desktop-2-11_1%3a2.28.1-0ubuntu2_i386.deb) ...
选中了曾被取消选择的软件包 cheese。
正在解压缩 cheese (从 .../cheese_2.28.1-0ubuntu1_i386.deb) ...
正在处理用于 hicolor-icon-theme 的触发器...
正在处理用于 desktop-file-utils 的触发器...
正在处理用于 python-gmenu 的触发器...
Rebuilding /usr/share/applications/desktop.zh_CN.utf8.cache...
正在处理用于 man-db 的触发器...
正在处理用于 python-support 的触发器...
正在设置 libgnome-desktop-2-11 (1:2.28.1-0ubuntu2) ...
正在设置 cheese (2.28.1-0ubuntu1) ...
正在处理用于 libc-bin 的触发器...
ldconfig deferred processing now taking place
11.再看一下下载到本地的deb文件
# ll /var/cache/apt/archives/
总用量 2540
-rw-r--r-- 1 root root 2481286 2009-10-20 08:05 cheese_2.28.1-0ubuntu1_i386.deb
-rw-r--r-- 1 root root 105112 2009-10-24 02:06 libgnome-desktop-2-11_1%3a2.28.1-0ubuntu2_i386.deb
-rw-r----- 1 root root 0 2010-04-29 22:18 lock
drwxr-xr-x 2 root root 4096 2011-07-29 09:15 partial/
以后不用了,使用apt-get clean删除。
本文原始链接: http://qiuxing2005.blog.sohu.com/179678907.html