搭建本地Ubuntu 镜像服务器
一.需求分析
最近公司软件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 <running host architecture>
- # 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 服务器进行更新。
搭建本地Ubuntu 镜像服务器的更多相关文章
- shell 脚本实战笔记(5)--搭建资源的镜像服务器
背景: 由于访问国外站点资源, 有时特别慢. 偶尔一次下载, 肯定还能忍受, 对于多次使用或者小团队内部使用, 搭建一个镜像站点, 无疑是个明智的决定. 这边以搭建CDH5的yum源镜像, 作为例子, ...
- iOS开发之--搭建本地的SVN服务器
近期入职的新公司,后台没有分配svn账号,需要在本地搭建一个服务器,方便和代码,看了看网上的教程,一直有这样那样的问题, 其中最主要的问题还是路径拼接的问题,最后终于解决了,特在此分享下,如果大家有更 ...
- 搭建本地yum镜像源
Blog:博客园 个人 目录 概述 语法说明 参数说明 部署 配置阿里云源 同步源 建仓 Nginx配置 配置定时计划 yum配置 概述 由于内网有大量机器不能访问公网,安装软件比较费劲,那么,如何让 ...
- 创建本地Ubuntu镜像
参考文档 http://www.howtoforge.com/local_debian_ubuntu_mirror 安装服务 : sudo apt-get install apt-mirror apa ...
- 利用docker搭建本地私有镜像仓库
主机名 角色 sht-sgmhadoopcm-01 Docker Repository sht-sgmhadoopnn-01 Docker Client 1. 在两台节点分别安装docker http ...
- 使用ownCloud搭建你的个人云服务(ubuntu 14.04 server)(ownCloud对文件不切片,Seafile对文件切片),owncloud没有存储的功能 只能同步 本地删除了服务器也会删除
ownCloud是什么 ownCloud是一个自由且开源的个人云存储解决方案(类似百度网盘或者Dropbox),包括两个部分:服务器和客户端. ownCloud在客户端可通过网页界面,或者安装专用的客 ...
- Ubuntu: 搭建tftp,nfs服务器
Ubuntu12.04搭建tftp&nfs服务器 http://blog.163.com/thinki_cao/blog/static/83944875201411610467306/ 硬件环 ...
- [阿里云部署] Ubuntu+Flask+Nginx+uWSGI+Mysql搭建阿里云Web服务器
部署地址:123.56.7.181 Ubuntu+Flask+Nginx+uWSGI+Mysql搭建阿里云Web服务器 这个标题就比之前的"ECS服务器配置Web环境的全过程及参考资料&qu ...
- Ubuntu 14.10下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具)
Ubuntu 14.10下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具) 最近因为项目关系,收朋友之托,想制作秀场网站,但是因为之前一直没有涉及到这 ...
随机推荐
- JIRA官方:JIRA亮点介绍
操作超级简单 简单不意味着要以牺牲功能作为代价.JIRA提供了友好.直观的可配置的Web界面,并支持大量的快捷键操作. 跟踪任何事务 跟踪问题.任务.需求,当然还有软件缺陷.定义你自己的事务类型来使之 ...
- kindeditor 下图片链接取消边框
在项目中使用了 kindeditor,版本是4.1.10,在发布信息的时候,将图片设置成了超链接,在 IE8 或者其他个别浏览器下会自动的为图片加一个蓝色的边框,效果如下图: 这个蓝框可以通过修改信息 ...
- andengine游戏引擎总结基础篇
其他的游戏引擎知道的不是很对,不过相对于学java的童鞋们来说,那是个不错的选择啦,这个发动机咋样,google去吧.基础篇包括图片,字体,音效,数据读取,会了这点,就会做简单的小游戏啦 对于游戏 ...
- optimizer for eclipse--Eclipse优化,让你的Eclipse快来飞!
官方网站:http://zeroturnaround.com/free/optimizer-for-eclipse/ infoq网址:http://www.infoq.com/cn/news/2015 ...
- CSSREM插件
CSSREM 一个CSS的px值转rem值的Sublime Text 3自动完成插件. 插件效果如下: 安装 下载本项目,比如:git clone https://github.com/flashli ...
- 充分利用HTML标签元素 – 简单的xtyle前端框架
xtyle框架充分利用语义化标签来做美化样式,兼容多款主流浏览器,包括IE8. xtyle框架虽然没BS这么强大,但我觉得也很实用,体积不算很大,适用于企业网站.WordPress主题.个人网站.博客 ...
- Devexpress之barManager控件属性
隐藏菜单栏左边的竖线和右边的箭头? 1.隐藏菜单栏上右边的箭头属性设置:OptionsBar=>>AllowQuickCustomization=False 2.隐藏菜单栏左边的竖线属性设 ...
- 页面按F5重复提交数据解决方法
在Web开发中,必须面对的问题就是表单的重复提交问题(这里仅指F5刷新造成的重复提交),.NET中处理这个问题似乎没有什么好的方法. 在网上搜索得到的解决方法主要有两种,一种是直接让表单按钮失效,从而 ...
- Java生成PDF报表
一.前言 前几天,做ASN条码收货模块,需要实现打印下载收货报表,经一番查找,选定iText--用于生成PDF文档的一个Java类库.废话不多说,进入正题. 二.iText简介 iText是著名的开放 ...
- iOS学习心得——UINavigationController
UINavigationController和UItableviewController一样也是iOS开发中常用的控件之一,今天就来学习一下它的常见用法. 有人说tab ...