我是靠谱客的博主 精明羊,最近开发中收集的这篇文章主要介绍apt访问文件服务器,使用apt-mirror搭建本地apt源,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在构建大型项目(比如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源所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部