搭建apt源

概述

有些私有云环境不允许连接互联网,这样的话云平台的虚拟机安装软件比较困难,因此就需要自己搭建apt源才行

步骤

我们使用apt-mirror制作apt源,因为会把包文件同步到本地,所以建议创建一个至少200G的磁盘,单独挂载用于存储数据。

服务端配置

1、安装apt-mirror
apt-get install apt-mirror

2、修改apt-mirror配置文件
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的apt源(这里没有添加deb-src的源)
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

3、开始同步
执行apt-miiror,然后就开始进行同步了,同步的镜像文件目录为/var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu/,当然如果增加了其他的源,在/var/spool/apt-mirror/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://[host]:[port]/ubuntu #ip和port是自己本机的,其中端口默认为80。在测试时可能遇到打不开的情况,查看下本机和云平台的防火墙规则是否打开相关端口或者selinux的问题。

5、服务器配置
首先配置本地源文件(比如ISO文件),mount到指定位置,因为是配置apt源,可以有http的方式,为了方便可以放置在如下目录/var/www/repo/$version/iso,如果不是/var/www/下可以做软连接来。

apt源本机的话,可以在/etc/apt/sources.list配置如下
deb file:///var/www/repo/14.04.3/iso/ubuntu trusty main

安装apache2,配置文件/etc/apache2/sites-enabled/000-default.conf,或者直接加一个新的配置文件,文件内容:

<VirtualHost *:80>

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/
  <Directory />
        Options FollowSymLinks
        AllowOverride None
  </Directory>
  <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
  </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

配置好后,重启apache服务

客户端配置

1、在/etc/apt/sources.list配置如下

deb http://[host]:[port]/repo/14.04.3/iso/ubuntu trusty main
deb ssh://root@[host]/var/www/repo/14.04.3/iso/ubuntu trusty main
deb http://[host]:[port]/ubuntu/ trusty main restricted universe multiverse
deb http://[host]:[port]/ubuntu/ trusty-security main restricted universe multiverse
deb http://[host]:[port]/ubuntu/ trusty-updates main restricted universe multiverse  
deb http://[host]:[port]/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://[host]:[port]/ubuntu/ trusty-backports main restricted universe multiverse

2、更新apt-get源
apt-update

    原文作者:FilesFan
    原文地址: https://www.jianshu.com/p/a82cb928e7ca
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞