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访问情况。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在内网中使用Apache2搭建Apt本地的服务端并使用本地软件包文件,可以按照以下步骤进行操作: 1. 安装Apache2和apt-mirror软件包: ``` sudo apt-get update sudo apt-get install apache2 apt-mirror ``` 2. 创建本地软件包文件夹: 在本地创建一个文件夹,用于存放所需软件包文件。例如,创建一个名为“packages”的文件夹,并将软件包文件放在其中。 3. 配置apt-mirror: 在/etc/apt/mirror.list文件中添加以下内容: ``` # 本地软件包文件夹路径,可以根据需要修改 set base_path /path/to/packages # 镜像的地址,可以根据需要修改 deb http://archive.ubuntu.com/ubuntu/ bionic main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ bionic-updates main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse # 本地存储的路径,可以根据需要修改 clean http://localhost/apt-mirror ``` 4. 执行apt-mirror命令: ``` sudo apt-mirror ``` 这个命令会将本地软件包文件夹中的软件包复制到本地存储路径中。 5. 配置Apache2: 在/etc/apache2/sites-enabled/000-default.conf文件中添加以下内容: ``` Alias /apt-mirror /var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu <Directory /var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> ``` 6. 重启Apache2: ``` sudo systemctl restart apache2 ``` 现在,您的Apt本地服务端已经搭建完成了,并且使用了本地软件包文件。您可以通过以下方式在内网中使用它: 在客户端的/etc/apt/sources.list文件中添加以下内容: ``` deb [trusted=yes] http://localhost/apt-mirror/archive.ubuntu.com/ubuntu/ bionic main restricted universe multiverse deb [trusted=yes] http://localhost/apt-mirror/archive.ubuntu.com/ubuntu/ bionic-updates main restricted universe multiverse deb [trusted=yes] http://localhost/apt-mirror/archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse deb [trusted=yes] http://localhost/apt-mirror/archive.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse ``` 注意:这里添加了“[trusted=yes]”选项,以便信任本地软件包文件。如果您不添加此选项,则客户端可能会因为安全原因而拒绝使用本地软件包文件。 然后执行以下命令更新软件包列表: ``` sudo apt-get update ``` 现在,您可以在内网中使用Apt本地服务端并使用本地软件包文件了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值