本文服务器环境Ubuntu 16.04.3 LTS,因为一些特殊业务原因,有些服务器需不能上外网,服务器安装一些软件包特别麻烦,需要下载软件的deb和软件依赖的deb包,有时下载不全deb包,安装软件就会失败,所以需要在内网环境搭建一个apt源,这样就可以使用apt自动解决一些软件包的依赖。
安装apt-mirror
1 | apt-get install apt-mirror |
配置mirror.list文件
可根据服务器网络环境选择合适的下载线程数和apt镜像源,因为服务器在清华,所以选择清华镜像源(150G文件一个小时就同步完了)1
2
3
4
5
6
7
8
9
10
11# 镜像文件下载地址
set base_path /data/apt-mirror
# 下载线程数
set nthreads 20
set _tilde 0
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
clean http://mirrors.tuna.tsinghua.edu.cn/ubuntu
文件配置完成后,执行apt-mirror开始同步,因为同步时间比较长,笔者使用tmux,建立一个session,然后执行命令,或者使用nohup命令放到后台执行
配置nginx(配置HTTP访问)
更改/etc/nging/nginx.conf文件,加以下配置1
2
3
4
5
6
7
8
9
10
11
12server {
listen 80;
# 显示目录
autoindex on;
location / {
index index.html index.htm;
# 这里填写镜像保存位置
root /data/apt-mirror;
}
access_log /var/log/nginx/localhost.log;
}
更改完配置,先测试配置,如果测试通过,则重新加载nginx配置文件
1 | nginx -t |
客户端配置
编辑/etc/apt/source.list文件(可以先备份一下),ip和端口级网站目录结构需要根据自己的配置修改
1 | deb [arch=amd64] http://127.0.0.1:81/mirror/mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse |
以上客户端配置也多添加了[arch=amd64],用于指定架构,否则会出现
1 | Err http://127.0.0.1:81 trusty/main i386 Packages |
最后执行,更新成功就可以安装需要的软件了
1 | apt-get update |