最近因为要安装一个软件, 发现阿里云的源都没有了, 我这边用的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