在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
搭建自有Ubuntu源的原因有很多 节省外网带宽 本文测试环境 ubuntu 14.04(LTS) 64位
复制代码 代码如下:# sudo apt-get update # sudo apt-get install apt-mirror=0.5.1-1 配置apt-mirror apt-mirror的配置文件位置为 /etc/apt/mirror.list 复制代码 代码如下:############# config ################## # # 配置数据基目录 set base_path /data/apt-mirror # 配置镜像存储位置 # set mirror_path $base_path/mirror # 配置临时下载索引位置 # set skel_path $base_path/skel # 配置日子,URLs和MD5校验信息存储位置 # set var_path $base_path/var # 配置删除过期源脚本位置(默认不删除,方便安装旧版本软件) # set cleanscript $var_path/clean.sh # 设置默认架构, 可填: amd64 或 i386,默认是和本机一个架构 # set defaultarch <running host architecture> # # 设定下载后运行的脚本位置 # set postmirror_script $var_path/postmirror.sh # 设置是否执行 下载后的脚本操作,默认是1(但是默认没有postmirror.sh脚本) set run_postmirror 0 # 设置下载线程数 set nthreads 20 # 是否替换URL中的波浪线,替换成%7E(HTML代码),否则会跳过不进行下载 set _tilde 0 # ############# end config ############## # 配置Ubuntu trusty 源 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 # 配置MongoDB源 # 官方地址 http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ # deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen # clean http://localhost/downloads-distro.mongodb.org 因为我自定义了apt-mirror的数据目录,所以需要赋予 apt-mirror用户权限,否则同步不会正确运行: 复制代码 代码如下:# sudo chown -R apt-mirror:apt-mirror /data/apt-mirror
确保你的基目录下磁盘空间足够,如上所配置,则至少保证150G的磁盘空间,建议200G以上,以后版本更新,添加软件源等会需要很多磁盘空间。 复制代码 代码如下:# sudo su apt-mirror # nohup /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log &
通过以上配置,已经可以在 /data/apt-mirror 目录下看到生成的几个数据文件。/data/apt-mirror/mirror下存放的就是软件镜像。但是如何向其他计算机发布这些数据呢?很明显通过HTTP服务可以做到这一点。我们通过使用Nginx将mirror目录下的内容通过HTTP协议发布。 安装Nginx 复制代码 代码如下:# sudo apt-get install nginx=1.4.6-1ubuntu3.1 nginx配置文件位置: /etc/nginx/sites-enabled/default,将其替换为以下文件: 复制代码 代码如下:server { listen 80; # 这里填写你的域名,填写localhost就直接通过IP地址访问 server_name localhost; # 显示目录 autoindex on; location / { index index.html index.htm; # 这里填写镜像保存位置 root /data/apt-mirror/mirror; } access_log /var/log/nginx/localhost.log; } 更改完配置,先测试配置,如果测试通过,则重启nginx 复制代码 代码如下:# sudo nginx -t # sudo service nginx restart 此时访问 http://服务器IP 即可访问到你发布的镜像 配置定时同步 我们当然不能,每天自己手动同步镜像啦。我们需要配置apt-mirror每天定时同步,其实就是配置cron。 0 4 * * * apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log 客户端配置 现在我们已经配置好了服务端,找个Ubuntu 14.04 64位的来测试一下 备份source.list 复制代码 代码如下:# sudo mv /etc/apt/source.list /etc/apt/source.list.bak 新建/etc/apt/source.list, 写入以下内容(上述服务器DNS或IP 替换”自建源IP”) 复制代码 代码如下:deb [arch=amd64] http://自建源IP/archive.ubuntu.com/ubuntu trusty main restricted universe multiverse deb [arch=amd64] http://自建源IP/archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse deb [arch=amd64] http://自建源IP/archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse deb [arch=amd64] http://自建源IP/archive.ubuntu.com/ubuntu trusty-proposed main restricted universe multiverse deb [arch=amd64] http://自建源IP/archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse 复制代码 代码如下:deb-src [arch=amd64] http://自建源IP/archive.ubuntu.com/ubuntu trusty main restricted universe multiverse deb-src [arch=amd64] http://自建源IP/archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse deb-src [arch=amd64] http://自建源IP/archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse deb-src [arch=amd64] http://自建源IP/archive.ubuntu.com/ubuntu trusty-proposed main restricted universe multiverse deb-src [arch=amd64] http://自建源IP/archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse 复制代码 代码如下:# 配置MongoDB源 deb [arch=amd64] http://自建源IP/downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen 通过比较apt-mirror和source.list文件,其实就是把原有域名变成了一个目录。注意:以上客户端配置也多添加了[arch=amd64],用于指定架构,否则会出现 Err http://192.168.1.71 trusty/main i386 Packages 复制代码 代码如下:# sudo apt-get update ubuntu部分正常更新,但是发现会出现以下错误提示 W: GPG error: http://192.168.1.111 dist Release: 复制代码 代码如下:sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 此时你就可以使用自建源安装软件啦~~ 以下安装了MongoDB和htop来进行测试 复制代码 代码如下:sudo apt-get install -y mongodb-org=2.6.5 htop |
请发表评论