使用tunasync搭建系统镜像仓库
机房有内网系统仓库的需求,看了一下清华大学有现成的开源项目tunasync,可以很方便的进行管理,搭建也很简单,所以直接用就可以了
接下来开始记录分步的步骤,系统为CentOS7
tunasync只是一个管理软件,本质上还是rsync,所以我们一开始就需要安装下依赖
yum install rsync -y
接着下载tunasync并解压,然后将二进制的文件移动到/usr/bin下
wget https://github.com/tuna/tunasync/releases/download/v0.7.1/tunasync-linux-amd64-bin.tar.gz
#基于amd64,如果是ARM系列,请去https://github.com/tuna/tunasync/releases自行替换下载一个
tar xf tunasync-linux-amd64-bin.tar.gz
mv tunasync /usr/bin/
mv tunasynctl /usr/bin/
创建仓库文件夹
mkdir -p /home/mirrors
创建日志文件夹
mkdir -p /home/logs
创建配置文件夹
mkdir /etc/tunasync
创建manager的配置文件
现在开始编辑manager配置文件
vi /etc/tunasync/manager.conf
将以下内容根据自己的需求修改后写入manager的配置文件内
debug = false
[server]
addr = "127.0.0.1" #manager服务的监听地址,默认127.0.0.1一般就可以了
port = 12345 # manager服务监听端口
ssl_cert = "" #证书配置,可为空
ssl_key = "" #证书配置,可为空
[files]
db_type = "bolt"
db_file = "/etc/tunasync/manager.db" #数据库文件位置
ca_cert = ""
创建worker.conf配置文件
vi /etc/tunasync/worker.conf
将以下内容根据自己的需求修改后写入worker的配置文件内,mirrors部分仅作示范写了两个,可以根据自身需要自由添加或删减
[global]
name = "worker" # worker名字
log_dir = "/home/logs/{{.Name}}" # 日志存储位置
mirror_dir = "/home/mirrors" # 仓库存储位置
concurrent = 10 # 线程数
interval = 240 # 同步周期,单位分钟
[manager]
api_base = "http://127.0.0.1:12345" # manager的API地址
token = ""
ca_cert = ""
[cgroup]
enable = false
base_path = "/sys/fs/cgroup"
group = "tunasync"
[server]
hostname = "localhost"
listen_addr = "127.0.0.1"
listen_port = 6000
ssl_cert = ""
ssl_key = ""
[[mirrors]]
name = "centos"
provider = "rsync"
upstream = "rsync://ftp.kaist.ac.kr/CentOS/"
use_ipv6 = false
[[mirrors]]
name = "ubuntu"
provider = "rsync"
upstream = "rsync://ftp.kaist.ac.kr/ubuntu/"
use_ipv6 = false
下载tunasync启动停止脚本
wget -P /etc/init.d/ https://raw.githubusercontent.com/whsir/tunasync-bin/master/tunasync-manager
wget -P /etc/init.d/ https://raw.githubusercontent.com/whsir/tunasync-bin/master/tunasync-worker
chmod +x /etc/init.d/tunasync-manager
chmod +x /etc/init.d/tunasync-worker
启动服务
/etc/init.d/tunasync-manager start
/etc/init.d/tunasync-worker start
到这里为止,自建仓库就算完成了,可以通过以下命令来查看进程
tunasynctl list -p 12345 --all
如果没有特殊的对外展示需求,直接安装一个nginx或者apache,把网站根目录设置为/home/mirrors就可以进行访问了
阅读剩余
版权声明:
作者:Admin
链接:https://www.shellop.com/archives/21
文章版权归作者所有,未经允许请勿转载。
THE END