ubuntu在局域网内安装建立DEB源服务器

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
Aksai.China
帖子: 3
注册时间: 2010-02-25 20:35

ubuntu在局域网内安装建立DEB源服务器

#1

帖子 Aksai.China » 2010-02-25 20:39

这里我只谈HTTP访问方式的服务器,它其实就是标准的HTTP服务,用一些特殊的目录名把所有的包进行分类,比如我用的ubuntu是9.04的版本,它运行在i386的平台上,这样对于main的包就是在dists/karmic/main/binary-i386/下面,不过不是把deb包直接扔到这个目录就可以了,这样的话apt-get是不知道的,apt-get每次只会去读这个目录下的一个Packages.gz文件,这个文件里包含了所有包的信息,apt-get就可以通过它找到所有的包并且自动下载安装了。
假设有AB两台主机,A(192.168.1.1)将做为源服务器,B(192.168.1.2)将成为客户端。


主机A(源服务器)上的操作
第一步:升级现有系统,获得DEB包

代码: 全选

sudo apt-get update
sudo apt-get upgrade

sudo apt-get install dpkg
sudo apt-get install dpkg-dev

第二步:安装WEB服务器

代码: 全选

sudo apt-get -y apache2
第三步:到WEB服务器的WWW目录创建文件夹

代码: 全选

cd /var/www

mkdir dists
mkdir dists/karmic
mkdir dists/karmic/main
mkdir dists/karmic/main/binary-i386

mkdir pool

第四步:创建Packages.gz(注意当前目录是:/var/www)

代码: 全选

#copy deb archives to pool directory
# 复制"/var/cache/apt/archives"目录下的*.deb到pool目录中
cp /var/cache/apt/archives/* pool

#generate "Packages.gz" file
#创建"Packages.gz"文件
dpkg-scanpackages pool /dev/null | gzip > dists/karmic/main/binary-i386/Packages.gz

主机B(客户端)上的操作

第1步:添加源

代码: 全选

#edit  /etc/apt/sources.list, and append the follow item
#编辑/etc/apt/sources.list,添加下列源
deb http://ip [backspace] karmic [backspace] main
#例如:“http://192.168.1.1 karmic main”
 
第2步:测试源

代码: 全选

sudo apt-get update

sudo apt-get install mysql-server

参考:
1. ubuntu在局域网内安装建立DEB源服务器 http://www.5dlinux.com/article/9/2008/linux_17222.html
2. 本地源 viewtopic.php?f=50&t=132933
3.dpkg-scanpackages 是什么命令? viewtopic.php?f=77&t=256365&start=0

欢迎交流Aksai.China :em03 gmail.com
头像
chenkeaccounts
帖子: 132
注册时间: 2010-01-27 10:55

Re: ubuntu在局域网内安装建立DEB源服务器

#2

帖子 chenkeaccounts » 2010-02-27 7:43

@ :em03
头像
冲浪板
论坛版主
帖子: 7513
注册时间: 2007-05-06 8:19

Re: ubuntu在局域网内安装建立DEB源服务器

#3

帖子 冲浪板 » 2010-02-27 8:55

为什么不mkdir -p dists/karmic/main/binary-i386l pool呢?
非要执行四次?

非要dpkg-scanpackages pool /dev/null | gzip > dists/karmic/main/binary-i386/Packages.gz ?

用dpkg-scanpackages /var/cache/apt/archives /dev/null | gzip > dists/karmic/main/binary-i386/Packages.gz可以不可以?
回复