apt-mirror使用方法
来源:互联网 发布:国家数据网 编辑:程序博客网 时间:2024/06/15 08:41
搭建自有Ubuntu源的原因有很多
- 节省带宽
- 提前下载,缓解国外源下载缓慢
- 私有定制软件包发布
本文测试环境
- ubuntu 14.04(LTS) 64位
- apt-mirror 版本 0.5.1-1
- nginx 版本 (docker容器)
1 安装apt-mirror
# sudo apt-get update# sudo apt-get install apt-mirror=0.5.1-1
2 配置apt-mirror
apt-mirror的配置文件位置为 /etc/apt/mirror.list根据注释修改相应内容,一般只需要修改 base_path和更改、添加软件源。以下配置文件我只添加了Ubuntu 14.04和MongoDB的软件源,你可以根据你的需要添加Ubuntu其他版本软件源。
############# config #################### 配置数据基目录set base_path /data# 配置镜像存储位置# 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 multiversedeb http://archive.ubuntu.com/ubuntu trusty-security main restricted universe multiversedeb http://archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiversedeb http://archive.ubuntu.com/ubuntu trusty-proposed main restricted universe multiversedeb http://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiversedeb-src http://archive.ubuntu.com/ubuntu trusty main restricted universe multiversedeb-src http://archive.ubuntu.com/ubuntu trusty-security main restricted universe multiversedeb-src http://archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiversedeb-src http://archive.ubuntu.com/ubuntu trusty-proposed main restricted universe multiversedeb-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
3 运行第一次同步
确保你的基目录下磁盘空间足够,如上所配置,则至少保证 150G 的磁盘空间,建议200G以上,以后版本更新,添加软件源等会需要很多磁盘空间。
因为要下载135G的内容,时间比较漫长,建议切换到root用户用以下命令放在后台运行
# sudo su root # nohup /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log &
4 安装Nginx,配置HTTP访问
通过以上配置,已经可以在 /data/ 目录下看到生成的几个数据文件。/data/mirror下存放的就是软件镜像。但是如何向其他计算机发布这些数据呢?很明显通过HTTP服务可以做到这一点。我们通过使用Nginx将mirror目录下的内容通过HTTP协议发布。
4.1 安装docker,参考https://docs.docker.com/engine/installation/linux/ubuntu/#install-from-a-package
4.2
sudo docker pull nginx:1.10
4.3
安装Nginx
sudo docker run \ --name local-repository \ --restart unless-stopped \ -p 8888:80 \ -v /data/:/usr/share/nginx/html \ -d nginx:1.10
其中/data/是apt-mirror对应数据目录8888是主机端口,80是nginx容器的对应端口
此时访问 http://服务器IP:8888 即可访问到你发布的镜像
注意,由于/data/下是数据文件,有可能因此访问出现403访问权限禁止(因下面没有html文件),这个并没有影响。
4.4 做一下安装后的工作
为避免类似如下错误
加上符号连接Failed to fetch http://172.16.17.218:8888/mirror/apt.dockerproject.org/repo/dists/ubuntu-trusty/main/binary-amd64/Packages 404 Not Found
root@sky:/mnt/sdb/data/apt-mirror/mirror/archive.ubuntu.com/ubuntu# ln -s /mnt/sdb/data/apt-mirror/skel/archive.ubuntu.com/ubuntu/dists/trusty
5 配置定时同步
我们当然不能,每天自己手动同步镜像啦。我们需要配置apt-mirror每天定时同步,其实就是配置cron,cron具体讲解请参看: Linux 定时重复执行任务 crontab 命令详解
这里apt-mirror提供了cron模板文件,在/etc/cron.d/apt-mirro 中,可以cat一下来查看这里我们直接通过命令行配置:
# sudo crontab -e
然后增加一行
0 4 * * * apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log
以上设置每日4点同步一次
6 客户端配置
现在我们已经配置好了服务端,找个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 http://自建源IP/archive.ubuntu.com/ubuntu trusty main restricted universe multiversedeb http://自建源IP/archive.ubuntu.com/ubuntu trusty-security main restricted universe multiversedeb http://自建源IP/archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiversedeb http://自建源IP/archive.ubuntu.com/ubuntu trusty-proposed main restricted universe multiversedeb http://自建源IP/archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiversedeb-src http://自建源IP/archive.ubuntu.com/ubuntu trusty main restricted universe multiversedeb-src http://自建源IP/archive.ubuntu.com/ubuntu trusty-security main restricted universe multiversedeb-src http://自建源IP/archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiversedeb-src http://自建源IP/archive.ubuntu.com/ubuntu trusty-proposed main restricted universe multiversedeb-src http://自建源IP/archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse# 配置MongoDB源deb http://自建源IP/downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen
7 通过比较apt-mirror和source.list文件,其实就是把原有域名变成了一个目录添加过source.list后,运行
# sudo apt-get update
8 ubuntu部分正常更新,但是发现会出现以下错误提示
W: GPG error: http://192.168.1.111 dist Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9ECBEC467F0CEB10
需要添加GPG key,添加某些package时,基本都需要添加GPG key,官方网站一般都会给出
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
参考:
1
http://www.tuicool.com/articles/qYZV3e
2
https://github.com/opencord/cord/blob/master/docs/quickstart.md
- apt-mirror使用方法
- apt-mirror脚本分析
- 利用apt-mirror和apache2搭建服务器
- 使用apt-mirror工具创Debian建源镜像
- apt-mirror建立本地ubuntu仓库源
- apt-mirror 下载软件包到本地
- 使用apt-mirror搭建本地apt服务器(by quqi99)
- apt-get使用方法
- 使用apt-mirror建立本地ubuntu仓库源
- 使用apt-mirror建立本地ubuntu仓库源
- 使用apt-mirror构建本地Debian镜像
- 使用apt-mirror建立本地ubuntu仓库源
- [ubuntu]修改apt-get 默认源为163.mirror 源
- [ubuntu]修改apt-get 默认源为163.mirror 源
- 使用apt-mirror建立本地debian仓库源
- ubuntu14.04用apt-mirror 制作ubuntu本地镜像源
- 使用 APT-mirror 四步配置 Ubuntu 本地软件仓库
- 使用 APT-mirror 四步配置 Ubuntu 本地软件仓库
- 排序-选择排序
- yii的使用用总结
- iOS 开源组件列表
- Tomcat配置域名/IP访问及其中遇到的问题注意事项
- 5.3城市地图——图的深度优先遍历
- apt-mirror使用方法
- 《程序猿的第n+1天》-fedora10下安装lamp
- selenium 无法调用chrome driver 解决方案
- [Java]事件驱动程序设计
- 手机信息页面phoneinfo
- leetcode64. Minimum Path Sum
- 生成二维码,长按识别二维码
- [提高总结六]css选择器2
- Volley(三)