ubuntu16.04本地软件源搭建

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 
posted @ 2020-02-05 11:05  Persnoa  阅读(2565)  评论(0编辑  收藏  举报