标签: 漏洞

  • Linux下使用tunasync搭建内网镜像站

    内网镜像站对于很多企业限制外网访问来说是非常必要的,极大方便了研发安装各种软件依赖。搭建镜像站的方式很多,这边选用清华大学开源软件镜像站开发的镜像管理器tunasync来搭建。

    一、环境准备

    对于镜像站,需求最大的就是磁盘。这根据需要同步的源来决定磁盘大小,CentOS最少需要500G;Ubuntu需要1.5T;pypi的不建议同步需要磁盘空间太大

    二、系统安装

    tunasync 项目提供预编译版程序,可以直接从 Github releases 下载使用预编译版本。

    三、同步配置

    tunasync主要有manager.conf和worker.conf两个配置文件来控制

    manager.conf配置

    debug = false
    [server]
    addr = "127.0.0.1"
    port = 14242
    ssl_cert = ""
    ssl_key = ""
    
    [files]
    db_type = "bolt"
    db_file = "/usr/local/tunasync/db/manager.db"
    ca_cert = ""

    port:监听端口

    db_file:数据库文件路径

    worker 配置

    这边以CentOS为例,如果有其他的源需要同步,则在worker配置文件里添加一个mirrors模块

    [global]
    name = "mirror_worker"
    log_dir = "/usr/local/tunasync/log/{{.Name}}"
    ##镜像下载地址
    mirror_dir = "/cache1/mirror"
    ##并发线程数
    concurrent = 10
    ##同步周期,分钟
    interval = 10080
    
    [manager]
    ##manager地址
    api_base = "http://localhost:14242"
    token = "some_token"
    ca_cert = ""
    
    [cgroup]
    enable = false
    base_path = "/sys/fs/cgroup"
    group = "tunasync"
    
    [server]
    hostname = "localhost"
    listen_addr = "127.0.0.1"
    ##worker监听端口
    listen_port = 16010
    ssl_cert = ""
    ssl_key = ""
    
    [[mirrors]]
    ##镜像名称
    name = "centos"
    provider = "rsync"
    ##同步地址,最后的"/"不能少
    upstream = "rsync://rsync.mirrors.ustc.edu.cn/repo/centos/"
    interval = 240
    use_ipv6 = false

    清华大学开源软件镜像站提供了很多自定义镜像脚本,可以参考 Github releases 

    四、服务启动

    启动 tunasync 需开启 manager 进程与 worker 进程,先启动 manager,后启动 worker。为了便于监控系统进程情况,建立 /usr/local/tunasync/log/ 目录,所有进程的工作日志在该目录中(注意,此处日志为系统终端输出日志,与 tunasync 自身工作日志不同)

    开启manager服务(后台进程):

    $ tunasync manager --config /usr/local/tunasync/conf/manager.conf >>/usr/local/tunasync/log/manager.log

    开启 worker 服务:

    $ tunasync worker --config /usr/local/tunasync/conf/worke.conf

    五、运行维护

    参考Github。有删除、热重载、更新镜像大小

    六、WEB前端

    服务搭好后,前端可以使用Nginx来部署,这边就不重复说明了。WEB界面找了一个Github访的网易镜像站的WEB界面,个人觉得还不错。直达链接