FetchLinux配置文件自定义指南
FetchLinux是一款用于自动化软件包管理、镜像构建或文件同步的工具,其配置文件的路径和内容因功能场景(如系统服务、镜像下载、文件同步)而异。以下是针对不同场景的自定义配置步骤:
若用于搭建Linux镜像仓库或自动化软件包构建,配置文件通常位于/opt/fetchlinux/fetchlinux.conf(默认模板为fetchlinux.conf.example)。
cd /opt/fetchlinux
sudo cp fetchlinux.conf.example fetchlinux.conf
nano)修改fetchlinux.conf,常见参数包括:# 仓库基础URL(用于镜像同步)
REPOSITORY_URL="http://your-mirror-url/fetchlinux"
# 镜像标识名称(自定义镜像名称)
MIRROR_NAME="MyCustomMirror"
# 更新频率(daily/weekly/monthly,控制镜像同步周期)
UPDATE_FREQUENCY="daily"
# 软件包构建配置(若用于构建场景)
PACKAGES_DIR="/opt/fetchlinux/packages" # 本地软件包存储路径
BUILD_LOG="/var/log/fetchlinux/build.log" # 构建日志路径
# 创建专用用户/组(提升安全性)
sudo groupadd fetchlinux
sudo useradd -r -g fetchlinux fetchlinux
# 更改配置文件及仓库目录所有权
sudo chown -R fetchlinux:fetchlinux /opt/fetchlinux
# 启用并启动FetchLinux服务(系统级服务)
sudo systemctl enable fetchlinux
sudo systemctl start fetchlinux
此配置适用于需要将FetchLinux作为系统服务运行的场景,如搭建私有镜像仓库或自动化构建流水线。
若用于个人或非root用户下载Linux发行版镜像(如Ubuntu、CentOS),配置文件通常位于用户主目录下的.fetchlinux文件夹(如~/.fetchlinux/fetchlinux.conf)。
mkdir -p ~/.fetchlinux
nano ~/.fetchlinux/fetchlinux.conf
# 需要下载的Linux发行版列表(支持多发行版)
DISTROS=("ubuntu-22.04" "centos-7" "fedora-36")
# 目标架构(x86_64/armv7l等,匹配发行版架构)
ARCH="x86_64"
# 下载文件输出目录(默认为当前用户下载目录)
OUTPUT_DIR="$HOME/Downloads/linux-mirrors"
# ISO文件校验(可选,确保下载完整性)
ISO_CHECKSUM="sha256" # 支持md5/sha1/sha256
fetchlinux download ubuntu-22.04 # 下载Ubuntu 22.04镜像
此配置适合个人用户快速下载Linux镜像,无需系统级权限。
若用于本地与远程服务器之间的文件同步(如代码、配置文件同步),配置文件通常位于安装目录(如/etc/fetchlinux/fetchlinux.conf)或用户主目录(如~/.config/fetchlinux/sync.conf)。
# 源目录配置(本地或远程)
[source]
path = /path/to/local/source # 本地源目录
# 或远程源(支持SSH)
# path = user@remote_host:/path/to/remote/source
# 目标目录配置(本地或远程)
[target]
path = /path/to/remote/target # 远程目标目录(SFTP/SCP)
# 或本地目标
# path = /path/to/local/target
# 传输选项
[options]
protocol = "SFTP" # 传输协议(SFTP/FTP/FTPS)
recursive = true # 是否递归同步子目录
delete = false # 是否删除目标目录中多余的文件
compress = true # 是否压缩传输(节省带宽)
log = "/var/log/fetchlinux/sync.log" # 同步日志路径
# 同步到远程目录(默认)
fetchlinux sync
# 反向同步(远程到本地)
fetchlinux sync --reverse
此配置适用于需要定期同步文件的场景,如团队协作中的代码同步或配置文件分发。
无论哪种场景,均可通过配置文件实现自动化任务(如定时同步、定期构建)。
cron工具,编辑当前用户的crontab:crontab -e
0 2 * * * /usr/bin/fetchlinux sync -c ~/.fetchlinux/sync.conf >> ~/.fetchlinux/sync.log 2>&1
或每周日凌晨3点构建软件包:0 3 * * 0 /usr/bin/fetchlinux build all -c /opt/fetchlinux/fetchlinux.conf >> /var/log/fetchlinux/build.log 2>&1
通过cron可实现配置文件的定时执行,无需手动干预。
sudo编辑,用户级配置文件无需root权限。~/.fetchlinux/fetchlinux.conf)会覆盖系统级配置(如/etc/fetchlinux/fetchlinux.conf)。以上步骤覆盖了FetchLinux主要场景的配置文件自定义需求,可根据实际使用场景选择对应配置方式。