位置: 编程技术 - 正文
推荐整理分享使用apt-mirror搭建Ubuntu软件源的实例教程(apt-key),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:apt repository,apt-mirror 更新,apt install tor,apt-add-repository,apt-offline,apt-mirror 更新,apt-mirror 更新,apt-mirror 更新,内容如对您有帮助,希望把文章链接给更多的朋友!
搭建自有Ubuntu源的原因有很多
节省外网带宽提前下载,缓解国外源下载缓慢私有定制软件包发布
本文测试环境
ubuntu .(LTS) 位apt-mirror 版本 0.5.1-1nginx 版本 1.4.6-1ubuntu3.1
安装apt-mirror复制代码代码如下:# sudo apt-get update# sudo apt-get install apt-mirror=0.5.1-1
配置apt-mirror
apt-mirror的配置文件位置为 /etc/apt/mirror.list根据注释修改相应内容,一般只需要修改 base_path和更改、添加软件源。以下配置文件我只添加了Ubuntu .和MongoDB的软件源,你可以根据你的需要添加Ubuntu其他版本软件源。复制代码代码如下:############# 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# 设置默认架构, 可填: amd 或 i,默认是和本机一个架构# set defaultarch <running host architecture># # 设定下载后运行的脚本位置# set postmirror_script $var_path/postmirror.sh# 设置是否执行 下载后的脚本操作,默认是1(但是默认没有postmirror.sh脚本)set run_postmirror 0# 设置下载线程数set nthreads # 是否替换URL中的波浪线,替换成%7E(HTML代码),否则会跳过不进行下载set _tilde 0############## end config ############### 配置Ubuntu trusty 源deb trusty main restricted universe multiversedeb trusty-security main restricted universe multiversedeb trusty-updates main restricted universe multiversedeb trusty-proposed main restricted universe multiversedeb trusty-backports main restricted universe multiversedeb-src trusty main restricted universe multiversedeb-src trusty-security main restricted universe multiversedeb-src trusty-updates main restricted universe multiversedeb-src trusty-proposed main restricted universe multiversedeb-src trusty-backports main restricted universe multiverse# clean 配置MongoDB源# 官方地址 dist gen# clean apt-mirror用户权限,否则同步不会正确运行:复制代码代码如下:# sudo chown -R apt-mirror:apt-mirror /data/apt-mirror
运行第一次同步
确保你的基目录下磁盘空间足够,如上所配置,则至少保证G的磁盘空间,建议G以上,以后版本更新,添加软件源等会需要很多磁盘空间。因为要下载G的内容,时间比较漫长,建议切换到apt-mirror用户用以下命令放在后台运行复制代码代码如下:# sudo su apt-mirror# nohup /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log &
安装Nginx,配置HTTP访问
通过以上配置,已经可以在 /data/apt-mirror 目录下看到生成的几个数据文件。/data/apt-mirror/mirror下存放的就是软件镜像。但是如何向其他计算机发布这些数据呢?很明显通过HTTP服务可以做到这一点。我们通过使用Nginx将mirror目录下的内容通过HTTP协议发布。
安装Nginx复制代码代码如下:# sudo apt-get install nginx=1.4.6-1ubuntu3.1nginx配置文件位置: /etc/nginx/sites-enabled/default,将其替换为以下文件:复制代码代码如下:server { listen ; # 这里填写你的域名,填写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此时访问 即可访问到你发布的镜像
配置定时同步
我们当然不能,每天自己手动同步镜像啦。我们需要配置apt-mirror每天定时同步,其实就是配置cron。这里apt-mirror提供了cron模板文件,在/etc/cron.d/apt-mirror 中,取消最后一行的#注释即可生效:
0 4 * * * apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log以上设置每日4点同步一次
客户端配置
现在我们已经配置好了服务端,找个Ubuntu . 位的来测试一下
备份source.list复制代码代码如下:# sudo mv /etc/apt/source.list /etc/apt/source.list.bak新建/etc/apt/source.list, 写入以下内容(上述服务器DNS或IP 替换”自建源IP”)复制代码代码如下:deb [arch=amd] trusty main restricted universe multiversedeb [arch=amd] trusty-security main restricted universe multiversedeb [arch=amd] trusty-updates main restricted universe multiversedeb [arch=amd] trusty-proposed main restricted universe multiversedeb [arch=amd] trusty-backports main restricted universe multiverse复制代码代码如下:deb-src [arch=amd] trusty main restricted universe multiversedeb-src [arch=amd] trusty-security main restricted universe multiversedeb-src [arch=amd] trusty-updates main restricted universe multiversedeb-src [arch=amd] trusty-proposed main restricted universe multiversedeb-src [arch=amd] trusty-backports main restricted universe multiverse复制代码代码如下:# 配置MongoDB源deb [arch=amd] dist gen通过比较apt-mirror和source.list文件,其实就是把原有域名变成了一个目录。注意:以上客户端配置也多添加了[arch=amd],用于指定架构,否则会出现
Err trusty/main i Packages Not FoundErr trusty/restricted i Packages Not FoundErr trusty/universe i Packages Not Found...类似错误,因为我的测试环境是x,只同步了位架构源,所以必须指定架构为,现在客户端也无需i的软件。添加过source.list后,运行复制代码代码如下:# sudo apt-get updateubuntu部分正常更新,但是发现会出现以下错误提示
W: GPG error: dist Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9ECBECF0CEB需要添加GPG key,添加某些package时,基本都需要添加GPG key,官方网站一般都会给出复制代码代码如下:sudo apt-key adv --keyserver --recv 7F0CEB此时你就可以使用自建源安装软件啦~~以下安装了MongoDB和htop来进行测试复制代码代码如下:sudo apt-get install -y mongodb-org=2.6.5 htop
实例讲解Debian系的Linux中软件包的安装与管理命令用法 apt-get用法:apt-get[选项]命令apt-get[选项]install|removepkg1[pkg2...]apt-get[选项]sourcepkg1[pkg2...]apt-get是一个下载安装软件包的简单命令行接口。最常用的命令是up
在Ubuntu系统中使用Git客户端来操作GitHub代码 一、Ubuntu下安装GitUbuntu.LTS以后默认是已经安装Git的,可以使用git--version测试是否安装。如果没有安装,使用命令:sudoapt-getinstallgitgit-core安装git二、s
Ubuntu和Windows双系统引导丢失的问题修复 window跟ubuntu双系统,安装window丢失Linuxgrub引导,用刻有ubuntu的光盘或者U盘进入终端修复Linux启动菜单,安装grub需要联网...有两种情况:独立/boot和非独
标签: apt-key
本文链接地址:https://www.jiuchutong.com/biancheng/352813.html 转载请保留说明!友情链接: 武汉网站建设