ubuntu下的apt内网本地源的正确搭建
如果你系统是ubuntu14.04,照搬完全没问题,但是现在ubuntu都18.04了,还要继续更新,下面教你如何搭建所有版本的apt本地源。
APT本地源的搭建(可用于局域网apt-get源搭建或者本地源)
本文档介绍使用apt-mirror软件搭建apt本地源
需求:内网开发环境由于其特定原因不能上外网,所以需要本地环境下的内网源来方便开发人员下载安装软件
建议:单独使用一块磁盘来存放源文件或者单独一个目录下,避免混淆,大约硬盘容量需要200G
服务端安装下载镜像,安装apache 来共享,也可以用FTP
客户端配置服务端的地址 来安装软件包
1、安装apt-mirror
apt-get install apt-mirror
2、修改apt-mirror配置文件
在修改配置文件之前,我们首先要确定自己系统的版本,命令:sudo lsb_release -a
$sudo lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04 LTS Release: 16.04 Codename: xenial
Codename代号的意思,16.04代号xenial,所以我们接下来的配置文件跟xenial有关,当然14.04代号是trusty,一样的操作。
打开 阿里云源(也可以使用别的源,网址可以自己百度)
进入dists目录,在目录下找到跟系统代号相关问文件夹,一般是5个,将下面规则文本复制出来,把加粗部分替换成相应的5个文件目录名。进入这5个目录,里面有4个跟源有关的目录(by-hash除外),目录名与下面斜体部分比较,如果不一样请修改。
deb http://mirrors.aliyun.com/ubu... xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubu... xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubu... xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubu... xenial-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubu... xenial-backports main restricted universe multiverse
然后
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 ############## # Ali yun(这里没有添加deb-src的源) deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse clean http://mirrors.aliyun.com/ubuntu
3、开始同步
执行 apt-miiror
然后等待很长时间(该镜像差不多150G左右,具体时间看网络环境),同步的镜像文件目录为/var/spool/apt-mirror/mirror/mirrors.aliyun.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重新启动
4、安装apache2
apt-get install apache2
由于Apache2的默认网页文件目录位于/var/www/html,因此,可以做个软链接(这样我们就可以直接访问了,无需将其直接导入该目录)
ln -s /var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu /var/www/html/ubuntu
然后就可以通过如下地址访问了
http://127.0.0.1/ubuntu #ip和port是自己本机的,其中端口默认为80 在测试时可能遇到打不开的情况,查看下iptables规则是否限制或者selinux的问题(这点相信大家在学习lanmp的时候都已经了解过了)
客户端配置:
1、编辑/etc/apt/source.list,参考以下内容(以下是64位机,ubuntu16.04),修改相应的代号,硬件架构arch,加入文件中
# Local Source #ip和port是自己本机的,其中端口默认为80
deb [arch=amd64] http://[host]:[port]/ubuntu/ xenial main restricted universe multiverse deb [arch=amd64] http://[host]:[port]/ubuntu/ xenial-security main restricted universe multiverse deb [arch=amd64] http://[host]:[port]/ubuntu/ xenial-updates main restricted universe multiverse deb [arch=amd64] http://[host]:[port]/ubuntu/ xenial-proposed main restricted universe multiverse deb [arch=amd64] http://[host]:[port]/ubuntu/ xenial-backports main restricted universe multiverse
(3)将原来的文件进行备份,配置ubuntu软件源地址。
//备份文件
cp /etc/apt/sources.list /etc/apt/sources.list.bak
//配置文件
gedit /etc/apt/sources.list
将里面的文件内容全部替换成如下内容后,保存退出:
deb [arch=amd64] http://10.2.4.119/ubuntu/ xenial main restricted universe multiverse
deb [arch=amd64] http://10.2.4.119/ubuntu/ xenial-security main restricted universe multiverse
deb [arch=amd64] http://10.2.4.119/ubuntu/ xenial-updates main restricted universe multiverse
deb [arch=amd64] http://10.2.4.119/ubuntu/ xenial-proposed main restricted universe multiverse
deb [arch=amd64] http://10.2.4.119/ubuntu/ xenial-backports main restricted universe multiverse
(4)清除更新软件缓存
rm -rf /etc/apt/sources.list.d/*
2、更新apt-get源
sudo apt-get update 
测试软件可以正常离线安装
参考和转载https://segmentfault.com/a/1190000019829407?utm_source=tag-newest