ubuntu10.04创建本地apt-get服务器

来源:互联网 发布:指向数组指针的指针 编辑:程序博客网 时间:2024/06/06 04:57

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删除。