今天看到同事做了一个公司本地的apache镜像源,感觉好叼的样子。然后就自己上网找些资料,尝试自己搭建一套出来。然后就有了这篇博文。。。

  声明:本文中充满了浓浓的技术嫉妒的心理,阅读需谨慎。

  本文以 [ubuntu16.4LTS 64位] 为例子进行配置,其他系统大同小异,如果在配置中遇到了奇葩问题,请留言讨论或自行百度。

第一步:找到源配置文件

  在ubuntu下,源文件的位置为: /etc/apt/source.list 。使用vim或者nano等编辑器,以管理员身份打开即可观赏代码。

第二部:找一个好用的镜像地址列表

  我找的是阿里的一个镜像站,其他的也有很多,我觉着阿里至少在五年之内不会倒闭,所以就选它了。

  首先将原文件备份:

cp ./source.list ./source.list.bak

  然后开始修改 source.list 文件,将文件中所有的代码全部注释掉,使用 # 符号实现。然后将以下代码拷贝到文件中去:

# 源码
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-backports main restricted universe multiverse # 测试版源
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse # 源码(src)
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse # 测试版源
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse # Canonical 合作伙伴和附加
deb http://archive.canonical.com/ubuntu/ xenial partner
deb http://extras.ubuntu.com/ubuntu/ xenial main

  保存退出。至此,我们就将原来的`蜗牛`版的源替换成了`急速`版的源了。执行下update试试,是不是发现速度快了很多?

第三步:执行完update后,我们来安装一个工具先

sudo apt-get install -y apt-mirror

  这个工具是用来拷贝配置本地源的。安装完后来配置此工具:

vim /etc/apt/mirrors.list

set nthreads 20 
set _tilde 0 
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 
clean http://mirrors.aliyun.com/ubuntu 

  现在都配置好了,开始执行下载操作:

apt-mirror 

  NOTE:大约80G,先看看硬盘在决定要不要继续吧。速度么,再快能怎么快呢?毕竟80G。

第四步:配置本机源

  假设你已经下载完了,无论是下一半玩技术还是真的等了一夜下载,无所谓,现在开始对本地源进行配置了。

  下载的源路径大概再这里 /var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu

  执行以下代码完成配置:

# 编辑source.list文件
vim /etc/apt/sources.list deb file:///var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu trusty main restricted universe multiverse
deb file:///var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu trusty-security main restricted universe multiverse
deb file:///var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu trusty-updates main restricted universe multiverse
deb file:///var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu trusty-proposed main restricted universe multiverse
deb file:///var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu trusty-backports main restricted universe multiverse

  至此,本地源配置完成,恭喜恭喜。

第五步:将源开放

  如果自己一个人用一个80G的源,有点自私,也有点浪费资源了。互联网本着开放自由共享的原则才发展到现在的境地,为何不把本地的80G源开放共享下呢?同事们也会很感激你的。

  首先,要安装一个工具:

sudo apt-get install apache2

  然后将镜像文件链接到 apache2 的根目录下(大概是这个目录 /var/www/html/):

ln -s /var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu /var/www/html/ubuntu

  此时,本地源的开放已经完成了。别人要使用你的源,则需要稍微进行下配置即可:

# 在别人家的机器上操作
vim /etc/apt/sources.list # 添加源配置,x.x.x.x 表示你的机器的IP地址
deb http://x.x.x.x/ubuntu trusty main restricted universe multiverse
deb http://x.x.x.x/ubuntu trusty-security main restricted universe multiverse
deb http://x.x.x.x/ubuntu trusty-updates main restricted universe multiverse
deb http://x.x.x.x/ubuntu trusty-proposed main restricted universe multiverse
deb http://x.x.x.x/ubuntu trusty-backports main restricted universe multiverse

  好了,这下就彻底配置完成了。

配置Linux本地源镜像的更多相关文章

  1. Centos配置yum本地源最简单的办法

    有关centos配置yum本地源的方法 一.前提 先连接镜像 然后在命令行输入如下命令 mount /dev/sr0 /mnt cd /etc/yum.repos.d/ ls 之后会看到如下的界面 二 ...

  2. redhat 7 配置yum本地源

    http://www.unixarena.com/2015/04/how-to-create-the-yum-repository-on-rhel-7.html   1. 在虚拟机上挂上cd 2. m ...

  3. Oracle linux6.1配置yum本地源

    一.准备工作1. Linux安装盘插入光驱2. 挂载光驱 [root@localhost ~]# mount /dev/cdrom /mnt/ mount: block device /dev/sr0 ...

  4. 配置rpm本地源及局域网环境下使用

    LInux个人开发过程中可以直接连到公网,所以想要安装各种软件时直接安装即可,但工作环境往往很让人头疼. 如果应用场景是没法链接外网的,公司内部绝大多数情况下是在自己的局域网下玩,这时候想装个软件是相 ...

  5. linux修改源镜像地址

    1.1 CentOS修改yum源镜像地址为:mirrors.163.com (也可以改为阿里云镜像) 1.首先备份系统自带yum源配置文件/etc/yum.repos.d/CentOS-Base.re ...

  6. Linux下挂载iso文件和配置yum本地源

    Linux的版本: [root@pbn ~]# head -n 1 /etc/issueRed Hat Enterprise Linux Server release 6.1 (Santiago) 1 ...

  7. centos7配置yum本地源(iso镜像)及局域网使用

    2.测试环境: 服务器1:44.135.8.19(yum源) 服务器2:44.135.8.1(局域网机器) 系统:centos7.4 上传iso镜像到服务器,并挂载iso镜像 mount -t iso ...

  8. 无网络下,配置yum本地源

    1. 新建一个没有iso镜像文件的虚拟机: 2. 本地上传一个镜像文件(CentOS7的镜像),到虚拟机已创建的目录: 例如:上传一个镜像文件CentOS-7-x86_64-Everything-17 ...

  9. RHEL 5.7 Yum配置本地源[Errno 2] No such file or directory

    在Red Hat Enterprise Linux Server release 5.7 上配置YUM本地源时,遇到了"Errno 5] OSError: [Errno 2] No such ...

随机推荐

  1. ASP.NET MVC验证DateTime的问题

    今天碰到一个Bug,在IE8中,日期验证失效,输入正确的日期格式也会验证失败,提示:xxx必须是日期格式(the field xxx must be a date) 最终找到问题所在:jquery.v ...

  2. java多线程 基础demo

    join()   让主进程等待子进程全部执行完 例子如下:   package mocker; public class TestThread5 extends Thread {      priva ...

  3. NET Core 拓展方法和中间件集合(支持NET Core2.0+)

    # Pure.NETCoreExtentensions https://github.com/purestackorg/Pure.NETCoreExtensions NET Core 拓展方法和中间件 ...

  4. 在Windows子系统(WSL)中配置开机启动服务

    在WSL中跑了一些测试服务 比如 mysql nginx等,但关机后每次都要手动开启甚是吃力,本想着用rc.local来编辑开机启动 ,无奈不支持啊!先看看非WSL环境中是怎么实现的. 在 Ubunt ...

  5. Gogland配置- 修改Go源代码tab值

    Gogland对Go源代码默认值为8个,我很不习惯,第一次遇到tab数量这么大的,于是我决定修改这个tab值! 1,点击顶部菜单“File”->"Settings". 2,在 ...

  6. 1305 Pairwise Sum and Divide(数学 ,规律)

    HackerRank   1305 Pairwise Sum and Divide   有这样一段程序,fun会对整数数组A进行求值,其中Floor表示向下取整:   fun(A)     sum = ...

  7. BZOJ 1426--收集邮票(概率与期望&DP)

    1426: 收集邮票 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 504  Solved: 417[Submit][Status][Discuss] ...

  8. 删除标注关联仿dda命令DIMDISASSOCIATE

    static void sk_ARXTestXDatamydimassoc(void) { // Add your code for command sk_ARXTestXData.mydimasso ...

  9. HI~

    我是一只来自青岛某鶸校的蒟蒻,很高兴能认识各位,本人水平有限,文章中的不足之处,希望大家不吝赐教 我的邮箱是zhenshiluosuo@gmail.com 微信clearsummerday 联系时烦请 ...

  10. robot framework学习笔记之九-杂记

    Setup和Teardown 假设Suite1下面有Test1和Test2,若它们都设置了Setup和Teardown,那么它们的执行顺序是:Suite1-Setup->Test1-Setup- ...