当前位置: 首页 > Linux

使用apt-mirror构建本地apt源

时间:2023-04-06 23:44:40 Linux

构建大型项目(如sonic)时,往往需要安装大量的deb依赖程序。这个过程非常缓慢。您可以通过构建本地apt源来加快编译速度。安装apt-mirrorsudoapt-getinstallapt-mirror修改apt-mirror配置文件sudovim/etc/apt/mirror.list参考如下配置文件:##############config###################设置镜像目标位置,即下载文件存放位置,一般在120G左右,建议单独分区存放。setbase_path/var/lib/repos/apt_mirror##setmirror_path$base_path/mirror#setskel_path$base_path/skel#setvar_path$base_path/var#setcleanscript$var_path/clean.sh#指定具体的CPU架构,可以减少文件的下载数量setdefaultarchamd64#setpostmirror_script$var_path/postmirror.sh#setrun_postmirror0setnthreads20set_tilde0##############endconfig################我们需要镜像的apt源。如果不需要源码,可以屏蔽deb-srcdebhttps://mirrors.tuna.tsinghua.edu.cn/debian/jessiemaincontribnon-freedeb-srchttps://mirrors.tuna.tsinghua。edu.cn/debian/jessiemaincontribnon-freedebhttps://mirrors.tuna.tsinghua.edu.cn/debian-securityjessie/updatesmaincontribnon-freedeb-srchttps://mirrors.tuna.tsinghua.edu.cn/debian-securityjessie/updatesmaincontribnon-free#deb[arch=amd64]http://13.75.127.55/repos/repos-dev/jessiemain#注意这个格式是错误的#使用下面的格式debhttp://13.75.127.55/repos/repos-dev/jessiemain开始同步执行sudo-i#切换到root用户nohup/usr/bin/apt-mirror>/var/spool/apt-mirror/var/cron.log#也可以开始定时执行,这里apt-mirror提供了一个cron模板文件,在/etc/cron.d/apt-mirror中,取消最后一行的#注释即可生效:04***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#lsdebiandebian-securityroot@debian:/var/lib/repos/apt_mirror/mirror/mirrors.tuna.tsinghua.edu.cn#安装apache2sudoapt-getinstallapache2由于Apache2默认的网页文件目录位于/var/www/html,可以做一个软链接ln-s/var/lib/repos/apt-mirror/mirror/mirrors.tuna.tsinghua.edu.cn/debian/var/www/html/debianln-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中添加配置如下:debfile:///var/www/html/debianjessiemaincontribnon-free#注意file:///三个斜杠配置好后,重启apache2服务客户端访问1.在客户端的/etc/apt/sources.list中添加如下配置:debhttps://[ip]:[port]/debian/jessiemaincontribnon-freedeb-srchttps://[ip]:[port]/debian/jessie主要贡献non-freedebhttps://[ip]:[port]/debian-securityjessie/updates主要贡献non-freedeb-srchttps://[ip]:[port]/debian-securityjessie/updatesmaincontribnon-freedeb[arch=amd64]http://[ip]:[port]/repos/repos-dev/jessiemain2.更新apt-getsourcesudoapt-getupdate3。可以在服务器上查看/var/log/apache2/access.log查看本地apt访问状态。