搭建本地ubuntu镜像服务器(arm版)
2016-07-24 16:43
417 查看
搭建本地ubuntu镜像服务器(arm版)
最近由于项目需要,经常从ports.ubuntu.com服务器上面下载ubuntu的镜像文件,但是面对几kB的速度,项目实在是进行不下去了。考虑到后面还要经常用到这些镜像文件,不如自己建了一个服务器。于是乎在阿里云买了一个120G的存储服务器,着手构建自己的ubuntu for armhf 镜像文件服务器。登录服务器之后,apt-get update了一下,十几M/s的网速,终端页面嗖嗖滑动的感觉真是倍儿爽啊。搭建环境
服务器系统:ubuntu 14.04LTS x86_64,ip为255.255.255.255目标镜像:ports.ubuntu.com中的armhf镜像文件
搭建步骤
为了创建ubuntu for armhf镜像服务器,好像至少需要90G的空间,因为现在下载完毕之后的总文件大小在80G,开始我也不相信,因为网上都在说x64或者x86的才30G左右,但是事实就是需要80G,可能是armhf版的镜像文件比较多,保存的版本比较多的缘故。这里使用官方网站ports.ubuntu.com作为源,因为arm版本的源实在是太少了,还有一个
ftp.ubuntu-tw.org/ubuntu-ports,但是网速和这个基本上没有区别。
安装必备工具
apt-get install apt-mirror
这是ubuntu系统中用来方便用户批量下载服务器中镜像文件的工具,可以通过修改mirror.list文件来定制其操作,下面将使用该工具。
apt-get install apache2
这是ubuntu中实现服务器功能的软件,将允许别人在网络上通过ip访问指定的文件和内容,我们通过这个工具将这个ip的电脑作为自己日后使用的服务器。
修改配置mirror.list文件
cd /etc/apt cp mirror.list mirror.list.bak vi 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://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse #deb http://archive.ubuntu.com/ubuntu trusty-proposed main restricted universe multiverse #deb http://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse #deb-src http://archive.ubuntu.com/ubuntu trusty-proposed main restricted universe multiverse #deb-src http://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse clean http://archive.ubuntu.com/ubuntu[/code]
由于安装完成apt-mirror工具之后,在/etc/apt中生成的mirror.list文件中,默认的网址是archive.ubuntu.com/ubuntu,是下载x86/x64用的,所以要修改为我们需要的源网址。同时由于目前只需要deb文件,为了尽快下载完成,这里先只下载deb软件包,后面如果需要src文件的话在下载也不影响。修改如下::%s/archive.ubuntu.com\/ubuntu/ports.ubuntu.com\/ubuntu-ports/g
通过info apt-mirror看到,如果要仅下载某一个架构的镜像文件的话,需要指定架构参数:deb-,这里是deb-armhf。最终如下:############# 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-armhf http://ports.ubuntu.com/ubuntu-ports trusty main restricted universe multiverse deb-armhf http://ports.ubuntu.com/ubuntu-ports trusty-security main restricted universe multiverse deb-armhf http://ports.ubuntu.com/ubuntu-ports trusty-updates main restricted universe multiverse deb-armhf http://ports.ubuntu.com/ubuntu-ports trusty-proposed main restricted universe multiverse deb-armhf http://ports.ubuntu.com/ubuntu-ports trusty-backports main restricted universe multiverse #deb-src http://ports.ubuntu.com/ubuntu-ports trusty main restricted universe multiverse #deb-src http://ports.ubuntu.com/ubuntu-ports trusty-security main restricted universe multiverse #deb-src http://ports.ubuntu.com/ubuntu-ports trusty-updates main restricted universe multiverse #deb-src http://ports.ubuntu.com/ubuntu-ports trusty-proposed main restricted universe multiverse #deb-src http://ports.ubuntu.com/ubuntu-ports trusty-backports main restricted universe multiverse clean http://ports.ubuntu.com/ubuntu-ports[/code]
执行如下命令开始下载镜像文件,整个过程可能需要几天时间,默认镜像文件下载地址为/var/spool/apt-mirror/mirror:apt-mirror
小技巧:在下载过程中,我们可能需要查看下载网速和进度,这是执行ps -x命令,可以看到十几个wget命令正在拼命下载中,在wget命令中会有log文件作为参数,我们cat xxx.log一下就可以看到下载进度和相应的下载网速。
注意:如果在下载结束时提示/bin/sh: 0: Can't open /var/spool/apt-mirror/var/postmirror.sh,可以在mirror.list文件中取消注释# set run_postmirror 0或者创建一个空的postmirror.sh文件,因为该文件默认是什么都不做的。设置访问服务器
安装完成apache2软件之后,会创建/var/www/html目录,网上说在/var/www目录下做超链接,我试了一下并不行,而必须是在/var/www/html目录中进行才行。由于下载的镜像文件默认在/var/spool/apt-mirror/mirror/ports.ubuntu.com/ubuntu-ports中,所以在/var/www/html目录中执行如下命令在/var/www/html中建立超链接:ln -s /var/spool/apt-mirror/mirror/ports.ubuntu.com/ubuntu-ports ubuntu-ports
则在浏览器中输入http://yourip/ubuntu-ports,例如http://255.255.255.255/ubuntu-ports即可看到和源ports.ubuntu.com中一样的目录结构。service apache2 start/stop
以上命令分别是打开和关闭服务器功能。定时更新
可以使用crontab进行每天的更新,在/etc/cron.d目录中已经默认生成了一个apt-mirror文件:root@iZ94gf1fxkmZ:/etc/cron.d# cat 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和ports.ubuntu.com服务器去更新。更改为自己的源
把arm的ubuntu系统的sources.list中的源网址更改为自己的源:vi sources.list :%s/ports.ubuntu.com/yourip/g
然后apt-get update,就可以愉快地使用自己的源了~
祝枫
2016年7月24日于深圳
相关文章推荐
- #新闻拍一拍# IBM 招聘广告要求应聘者具备至少 12 年 K8S 使用经验
- Ubuntu 默认壁纸历代记
- Ubuntu Remix Cinnamon 20.04 评测:Ubuntu 与 Cinnamon 的完美融合
- 关于Ubuntu 11.10启动提示waiting for the network configuration的问题
- 在 Ubuntu 桌面中使用文件和文件夹
- ubuntu下chrome无法同步问题解决
- Ubuntu Linux使用体验
- 使用 GNOME 优化工具自定义 Linux 桌面的 10 种方法
- 以Ubuntu 9.04为例 将工作环境迁移到 Linux
- VirtualBox虚拟机XP与宿主机Ubuntu互访共享文件夹
- 从USB安装Ubuntu Server 10.04.3 图文详解
- Ubuntu 15.04 正式版发布下载
- vivi下重新调整分区
- Linux-Ubuntu 10.04安装Cadence-ic610 方法总结图解
- Ubuntu 12.04和Windows 7双系统安装图解
- Ubuntu /home下中文目录如何修改成英文?
- 开机出现:grub rescue的修复方法
- Ubuntu连接Android真机调试
- 你应该选择 Ubuntu 还是 Fedora?
- 100 个最佳 Ubuntu 应用(中)