怎么搭建本地Ubuntu镜像服务器

怎么搭建本地Ubuntu镜像服务器,第1张

一.需求分析

最近公司软件Team 有个需求是这样的:能不能在局域网搭建一个Ubuntu 镜像服务器

这样作的好处是可以节省Ubuntu某些常用工具的安装时间。

二.部署过程

2.1 测试环境

目前在公司内有一台能连接到外网的Ubuntu机器, IP : 192.168.8.173 ,

Ubuntu版本为Ubuntu 9.04 i686。

2.2 搭建步骤

为了创建Ubuntu mirror 服务器,最少需要60G硬盘空间,Ubuntu每个版本都有32 bit

和64 bit两个版本,有两组deb包。当然可以创建Ubuntu一个版本的32 bit 和64 bit 的

镜像服务器,也可以创建全部版本的镜像。

这里使用sohu 公司的mirror地址作为本地Ubuntu Source 服务器,使用sohu的原因是:

1. sohu的Ubuntu Source 服务器速度相当快

2. sohu 的ubuntu Source 服务器每天会和Ubuntu官方服务器同步一次,这样可以保

证我们使用的是最新的软件包。

修改方式如下:

root@ms ~: cat /etc/apt/sources.list

deb http://mirrors.sohu.com/ubuntu/ jaunty main restricted universe multiverse

deb http://mirrors.sohu.com/ubuntu/ jaunty-security main restricted universe multiverse

deb http://mirrors.sohu.com/ubuntu/ jaunty-updates main restricted universe multiverse

deb http://mirrors.sohu.com/ubuntu/ jaunty-proposed main restricted universe multiverse

deb http://mirrors.sohu.com/ubuntu/ jaunty-backports main restricted universe multiverse

deb-src http://mirrors.sohu.com/ubuntu/ jaunty main restricted universe multiverse

deb-src http://mirrors.sohu.com/ubuntu/ jaunty-security main restricted universe multiverse

deb-src http://mirrors.sohu.com/ubuntu/ jaunty-updates main restricted universe multiverse

deb-src http://mirrors.sohu.com/ubuntu/ jaunty-proposed main restricted universe multiverse

deb-src http://mirrors.sohu.com/ubuntu/ jaunty-backports main restricted universe multiverse

安装下面工具:

root@ms ~: apt-get install apt-mirror

root@ms ~: apt-get install apache2

下面就构建Ubuntu 9.04 32bit 的本地Ubuntu mirror 服务器为例子,来说明如何配置:

修改配置文件:

root@ms ~: cat /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

# set postmirror_script $var_path/postmirror.sh

set run_postmirror 0

set nthreads 20

set _tilde 0

#

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

deb-i386 http://mirrors.sohu.com/ubuntu jaunty main restricted universe multiverse

deb-i386 http://mirrors.sohu.com/ubuntu jaunty-security main restricted universe multiverse

deb-i386 http://mirrors.sohu.com/ubuntu jaunty-updates main restricted universe multiverse

#deb http://mirrors.sohu.comubuntu jaunty-proposed main restricted universe multiverse

#deb http://mirrors.sohu.comubuntu jaunty-backports main restricted universe multiverse

deb-src http://mirrors.sohu.com/ubuntu jaunty main restricted universe multiverse

deb-src http://mirrors.sohu.com/ubuntu jaunty-security main restricted universe multiverse

deb-src http://mirrors.sohu.com/ubuntu jaunty-updates main restricted universe multiverse

#deb-src http://mirrors.sohu.com/ubuntu jaunty-proposed main restricted universe multiverse

#deb-src http://mirrors.sohu.com/ubuntu jaunty-backports main restricted universe multiverse

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

备注:

deb-i386 http:// 表示下载32 bit 版本的deb 软件

deb http:// 表示下载64bit 版本的deb 软件

jaunty 表示Ubuntu 9.04的代号

设置完成后,输入下面命令:

root@ms ~: 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 服务器所需要的文件,然后开启相应的服务:

这里使用apache2作为Web服务器,默认根目录在/var/www/,所以可以在该目录下做

个链接,如下所示:

root@ms ~: cd /var/www

root@ms ~: ln /var/spool/apt-mirror/mirror/mirrors.sohu.com/ubuntu -s

开启web服务:

root@ms ~: apache2ctl start

打开浏览器输入下面地址即可看到和sohu mirror一样的页面:

http://192.168.8.173/ubuntu

同时也可以使用crontab进行每天的更新,修改配置文件:

root@ms ~: cat /etc/cron.d/apt-mirror

#

# Regular cron jobs for the apt-mirror package

#

#0 4 * * * apt-mirror /usr/bin/apt-mirror >/var/spool/apt-mirror/var/cron.log

把命令前面的“#”去掉即可,这样系统会自动使用apt-mirror去和sohu服务器更新。

最后,我们所要做得就是在客户端的机器上修改更新源配置文件,将地址改成本地

mirror服务器的地址即可,如下所示:

root@ms ~: cat /etc/apt/sources.list

deb http://192.168.8.173/ubuntu/ jaunty main restricted universe multiverse

deb http://192.168.8.173/ubuntu/ jaunty-security main restricted universe multiverse

deb http://192.168.8.173/ubuntu/ jaunty-updates main restricted universe multiverse

deb http://192.168.8.173/ubuntu/ jaunty-proposed main restricted universe multiverse

deb http://192.168.8.173/ubuntu/ jaunty-backports main restricted universe multiverse

deb-src http://192.168.8.173/ubuntu/ jaunty main restricted universe multiverse

deb-src http://192.168.8.173/ubuntu/ jaunty-security main restricted universe multiverse

deb-src http://192.168.8.173/ubuntu/ jaunty-updates main restricted universe multiverse

deb-src http://192.168.8.173/ubuntu/ jaunty-proposed main restricted universe multiverse

deb-src http://192.168.8.173/ubuntu/ jaunty-backports main restricted universe multiverse

执行“apt-get update”来重建本地索引,这样以后就会使用本地的Mirror 服务器进行更新

备份文件对分区做还原,此方式是利用分区(例如C盘)的备份文件,将分区恢复到备份时的状态

Check 校验备份文件是否正确 强烈建议在备份成功后做此项工作

操作步骤:

1.选择Loacl→Partition→To Image 将硬盘分区备份为一个后缀为“.gho”的镜像文件。

2.选择要备份的分区所在的驱动器,单击ok

3.选择要备份的分区,单击ok

4.在Filename一栏键入镜像文件名称,如“Win98bak.gho”及存放位置(注:不能选正在备份的分区),然后按“enter”键。

5.选择是否压缩,No 不压缩, Fast 低压缩, High 高压缩。 一般选High 高压缩,速度慢点,但可以压缩50%

6.备份完毕以后,就可以退出Ghost

恢复镜像文件:

1.选择Local→Partition→From Image,从镜像文件恢复系统。

2.选择镜像文件要恢复的源分区,单击ok

3.提示是否确定还原,当然YES

恢复完毕,提示你重新启动计算机

直接运行 android.py脚本,由于SDK是国外资源,要官方下载的话,需要翻,为此还需要代理。命令行程序默认不走你的全局代理,在家可用sock5代理,在mac下用的是 proxychains4 ,公司内网有Http代理服务器,想在命令行中使用,需要设置 http_proxy 和 https_proxy 环境变量,临时使用直接在终端中输入:

export http_proxy=http:// yourproxyaddress:proxyport

export https_proxy=http:// yourproxyaddress:proxyport

细看脚本,你会发现脚本会先去下载 repository-.xml 和 addons_list-.xml ,xml里面是一些文件的具体下载地址,包含sdk、build_tools、support包等等,然后去下载具体的文件。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/731176.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-11
下一篇2023-08-11

发表评论

登录后才能评论

评论列表(0条)

    保存