最近因为要安装一个软件, 发现阿里云的源都没有了, 我这边用的Centos5, 然后现在似乎是过期了. 国内很多镜像源都没有centos5的.


然后才想起要折腾一个本地源. 

centos的话, 直接 rsync 就OK了.

1
2
3
4
5
6
7
8
9
10
#!/bin/bash
 
# centos
rsync -av --bwlimit=3072 rsync://rsync.mirrors.ustc.edu.cn/centos/ --exclude-from=/local_home/mirrors/conf/exclude_centos.list  /local_home/mirrors/centos/
 
# epel
rsync -av --bwlimit=3072 rsync://rsync.mirrors.ustc.edu.cn/epel/ --exclude-from=/local_home/mirrors/conf/exclude_epel.list  /local_home/mirrors/epel/
 
# ubuntu
apt-mirror

ubuntu 就用 apt-mirror

相关配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
cat /etc/apt/mirror.list 
############# config ##################
#
set base_path    /local_home/mirrors/ubuntu
#
# set mirror_path  $base_path/mirror
# set skel_path    $base_path/skel
# set var_path     $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch  <running host architecture>
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads     20
set _tilde 0
set limit_rate 3072K  #限制速度
#
############# end config ##############
 
# precise
deb http://mirrors.aliyun.com/ubuntu precise main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu precise-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu precise-updates main restricted universe multiverse
#deb http://mirrors.aliyun.com/ubuntu precise-proposed main restricted universe multiverse
#deb http://mirrors.aliyun.com/ubuntu precise-backports main restricted universe multiverse
 
# trusty
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
 
# xenial 这个版本虽然只有amd64的服务器, 但也要加上i386的.要不没办法更新,会提示
# E: Unable to locate package 软件名
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
deb-i386 http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-i386 http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-i386 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
 
######################################################
### DOCKER
######################################################
deb-amd64 https://apt.dockerproject.org/repo ubuntu-xenial main
 
clean https://apt.dockerproject.org

apt-mirror 下载的目录其实比较乱, 完成后, 可以直接 ln -s 到www目录


另外我这用的是 ubuntu 12.04 做的镜像服务器. apt安装的apt-mirror 有点问题要升级, 直接到

https://github.com/apt-mirror/apt-mirror 下载最新的.


最后配置好本地更新配置文件就好了.

Centos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
########################### CentOS 6 && CentOS 5 ##################
[base]
name=CentOS-$releasever - Base - mirror.test.net
baseurl=http://mirror.test.net/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.test.net/centos/RPM-GPG-KEY-CentOS-$releasever
[updates]
name=CentOS-$releasever - Updates - mirror.test.net
baseurl=http://mirror.test.net/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.test.net/centos/RPM-GPG-KEY-CentOS-$releasever
[extras]
name=CentOS-$releasever - Extras - mirror.test.net
baseurl=http://mirror.test.net/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirror.test.net/centos/RPM-GPG-KEY-CentOS-$releasever
[centosplus]
name=CentOS-$releasever - Plus - mirror.test.net
baseurl=http://mirror.test.net/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.test.net/centos/RPM-GPG-KEY-CentOS-$releasever
[contrib]
name=CentOS-$releasever - Contrib - mirror.test.net
baseurl=http://mirror.test.net/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.test.net/centos/RPM-GPG-KEY-CentOS-$releasever
 
########################### CentOS 5 ###############################
[addons]
name=CentOS-$releasever - Addons - mirror.test.net
baseurl=http://mirror.test.net/centos/$releasever/addons/$basearch/
gpgcheck=1
gpgkey=http://mirror.test.net/centos/RPM-GPG-KEY-CentOS-5

Epel:

1
2
3
4
5
6
7
[epel]
name=Extra Packages for Enterprise Linux $releasever - $basearch
baseurl=http://mirror.test.net/epel/$releasever/$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=http://mirror.test.net/epel/RPM-GPG-KEY-EPEL-$releasever

Ubuntu:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# precise 12.04
deb http://mirror.test.net/ubuntu/ precise main restricted universe multiverse
deb http://mirror.test.net/ubuntu/ precise-security main restricted universe multiverse
deb http://mirror.test.net/ubuntu/ precise-updates main restricted universe multiverse
 
# trusty 14.04
deb http://mirror.test.net/ubuntu/ trusty main restricted universe multiverse
deb http://mirror.test.net/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirror.test.net/ubuntu/ trusty-updates main restricted universe multiverse
 
# xenial 16.04
deb http://mirror.test.net/ubuntu/ xenial main restricted universe multiverse
deb http://mirror.test.net/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirror.test.net/ubuntu/ xenial-updates main restricted universe multiverse

Docker:

1
2
# xenial 16.04
deb http://mirror.test.net/docker/ ubuntu-xenial main