为什么要搭建内网源?
-
原因:内网开发环境由于其特定原因不能上外网,所以需要本地环境下的内网源来方便开发人员下载安装软件
搭建建议
单独使用一块磁盘来存放源文件或者单独一个目录下,避免混淆。
环境说明
ubuntu 系统
两张网卡,一张连接外网、一张连接内网环境,两个不同网段,不能互通
如何搭建
1. 配置DNS
#配置dnsecho "nameserver 233.5.5.5" >> /etc/resolvconf/resolv.conf.d/base
echo "nameserver 8.8.8.8" >> /etc/resolvconf/resolv.conf.d/base
echo "nameserver 114.114.114.114" >> /etc/resolvconf/resolv.conf.d/base
resolvconf -u
2. 配置网络源
#配置网络源#阿里云mirrors.aliyun.com
#网易163:mirrors.163.com
#清华:mirror.tuna.tsinghua.edu.cn#备份/etc/apt/sources.list
cp /etc/apt/sources.list /etc/apt/sources.list.bak#替换成国内源,以网易163为例
sed -ri 's/cn.archive.ubuntu.com/mirrors.163.com/g' /etc/apt/sources.list#检查已安装的软件包是否有可用的更新
apt update#更新已安装的软件包
apt upgrade
3. 安装搭建apt-mirror
#安装
apt-get install -y apt-mirror#备份配置文件
mv /etc/apt/mirror.list /etc/apt/mirror.list.bak#编辑修改
vim /etc/apt/mirror.list
############# config ##################
# 以下注释的内容都是默认配置,如果需要自定义,取消注释修改即可
set base_path /var/spool/apt-mirror
#
# 镜像文件下载地址
# set mirror_path $base_path/mirror
# 临时索引下载文件目录,也就是存放软件仓库的dists目录下的文件(默认即可)
# set skel_path $base_path/skel
# 配置日志(默认即可)
# set var_path $base_path/var
# clean脚本位置
# set cleanscript $var_path/clean.sh
# 架构配置,i386/amd64,默认的话会下载跟本机相同的架构的源
set defaultarch amd64
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
# 下载线程数
set nthreads 20
set _tilde 0
#
############# end config ##############
# 网易163(这里没有添加deb-src的源)
deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverseclean http://mirrors.163.com/ubuntu
4. 同步外网源到本地
apt-mirror
等待镜像源下载(约100G,具体下载时间看网络环境)。
目录:/var/spool/apt-mirror/mirror/mirrors.163.com/ubuntu/。
如果增加了其他的源,在/var/spool/apt-mirror/mirror目录下还有其他的地址为名的目录。
提示:当apt-mirror 被意外中断时,只需要重新运行即可,apt-mirror支持断点续存。
注意:意外关闭或中断时,需要在/var/spool/apt-mirror/var目录下面删除 apt-mirror.lock文件【 sudo rm apt-mirror.lock 】,之后执行apt-mirror重新启动。
5. 安装web服务器
建议使用nginx,我这里使用apache
apt-get install apache2 -y#由于Apache2的默认网页文件目录位于/var/www/html,因此,可以做个软链接(这样我们就可以直接访问了,无需将其直接导入该目录)
ln -s /var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu /var/www/html/ubuntu
6. 客户端配置
# 编辑/etc/apt/source.list,加入以下内容# Local Source #ip和port是自己本机的,其中端口默认为80deb [arch=amd64] http://[host]:[port]/ubuntu/ trusty main restricted universe multiverse
deb [arch=amd64] http://[host]:[port]/ubuntu/ trusty-security main restricted universe multiverse
deb [arch=amd64] http://[host]:[port]/ubuntu/ trusty-updates main restricted universe multiverse
deb [arch=amd64] http://[host]:[port]/ubuntu/ trusty-proposed main restricted universe multiverse
deb [arch=amd64] http://[host]:[port]/ubuntu/ trusty-backports main restricted universe multiverse
apt-update # 更新验证apt install vim lrzsz -y # 安装验证
至此,内网apt源已经搭建完成了。