概述
在构建大型项目(比如sonic)的时候,经常需要安装大量的deb依赖程序,这个过程非常慢,可以通过搭建本地apt源来加速编译。
安装apt-mirror
sudo apt-get install apt-mirror
修改apt-mirror配置文件
sudo vim /etc/apt/mirror.list
参考以下配置文件:
############# config ##################
# 设置镜像目标位置,即下载下来的文件存储位置,一般在120G左右,建议单独使用一个分区进行存放。
set base_path /var/lib/repos/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
# 指定具体CPU架构,可以减少下载的文件数
set defaultarch amd64
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads 20
set _tilde 0
#
############# end config ##############
#我们需要镜像的apt源,如果不需要源码的话,可以屏蔽掉deb-src
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ jessie main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ jessie main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security jessie/updates main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security jessie/updates main contrib non-free
#deb [arch=amd64] http://13.75.127.55/repos/repos-dev/ jessie main #注意这种格式是错误的
#使用如下格式
deb http://13.75.127.55/repos/repos-dev/ jessie main
开始同步
执行
sudo -i #切换到root用户
nohup /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log &
#也可以启动定时执行,这里apt-mirror提供了cron模板文件,在/etc/cron.d/apt-mirror 中,取消最后一行的#注释即可生效:
0 4 * * * apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log
#以上设置每日4点同步一次。
然后就开始进行同步了,同步的镜像文件目录为:
/var/lib/repos/apt-mirror/mirror/mirrors.tuna.tsinghua.edu.cn/debian/
当然如果增加了其他的源,在/var/lib/repos/apt-mirror/mirror目录下还有其他的地址为名的目录。例如:
root@debian:/var/lib/repos/apt_mirror/mirror/mirrors.tuna.tsinghua.edu.cn# ls
debian debian-security
root@debian:/var/lib/repos/apt_mirror/mirror/mirrors.tuna.tsinghua.edu.cn#
安装apache2
sudo apt-get install apache2
由于Apache2的默认网页文件目录位于/var/www/html,因此,可以做个软链接
ln -s /var/lib/repos/apt-mirror/mirror/mirrors.tuna.tsinghua.edu.cn/debian /var/www/html/debian
ln -s /var/lib/repos/apt-mirror/mirror/mirrors.tuna.tsinghua.edu.cn/debian-security /var/www/html/debian-security
然后就可以通过如下地址访问了。
http://[host]:[port]/debian #ip和port是自己本机的,其中端口默认为80。在测试时可能遇到打不开的情况,查看下本机和云平台的防火墙规则是否打开相关端口或者selinux的问题。
如果是在本机访问,可以在/etc/apt/sources.list添加配置如下:
deb file:///var/www/html/debian jessie main contrib non-free #注意file:///是三个斜杆
配置好后,重启apache2服务
客户端访问
1、在客户端的/etc/apt/sources.list添加配置如下:
deb https://[ip]:[port]/debian/ jessie main contrib non-free
deb-src https://[ip]:[port]/debian/ jessie main contrib non-free
deb https://[ip]:[port]/debian-security jessie/updates main contrib non-free
deb-src https://[ip]:[port]/debian-security jessie/updates main contrib non-free
deb [arch=amd64] http://[ip]:[port]/repos/repos-dev/ jessie main
2、更新apt-get源
sudo apt-get update
3.可以在服务器上查看/var/log/apache2/access.log来查看本地apt访问情况。
最后
以上就是精明羊为你收集整理的apt访问文件服务器,使用apt-mirror搭建本地apt源的全部内容,希望文章能够帮你解决apt访问文件服务器,使用apt-mirror搭建本地apt源所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复