Contents
安装软件
# Arch系
sudo pacman -S samba rsync nfs-utils aria2 transmission-cli
aurman -S lsyncd
# debian系
sudo apt install samba rsync hdparm aria2 transmission-cli
设定文件系统挂载
# 查看分区状况
sudo fdisk -a
# 编辑分区挂载分区文件
sudo nano /etc/fstab
在里面加入如下内容,详细设置参考ArchLinux Wiki
# nofail:外部设备在插入时挂载,在未插入时忽略。pass: 0 表示设备不会被 fsck 所检查
# <file system> <dir> <type> <options> <dump> <pass>
/dev/sda1 /media/pi/ssd auto defaults,noatime,nofail 0 0
# 使用以下命令在所有父目录上添加"x"权限:
sudo chmod o+x /media /media/pi /media/pi/ssd
# 让挂载点生效
sudo mount -a
# 测试读取速度
sudo hdparm -t --direct /dev/sda
设置Aria2
sudo mkdir /etc/aria2
sudo touch /etc/aria2/aria2.session
sudo chmod 777 /etc/aria2/aria2.session
sudo nano /etc/aria2/aria2.conf
# 后台运行,用SystemD时不需要这一句
# daemon=true
# 启用RPC, 默认:false
enable-rpc=true
# 允许所有来源, 默认:false
rpc-allow-origin-all=true
# 允许非外部访问, 默认:false
rpc-listen-all=true
#RPC端口, 仅当默认端口被占用时修改
#rpc-listen-port=6800
#最大同时下载数(任务数), 路由建议值: 3
max-concurrent-downloads=9
#断点续传
continue=true
#同服务器连接数
max-connection-per-server=5
#最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要
min-split-size=10M
#单文件最大线程数, 路由建议值: 5
split=10
#下载速度限制
max-overall-download-limit=0
#单文件速度限制
max-download-limit=0
#上传速度限制
max-overall-upload-limit=0
#单文件速度限制
max-upload-limit=0
#断开速度过慢的连接
#lowest-speed-limit=0
#验证用,需要1.16.1之后的release版本
#referer=*
#文件保存路径, 默认为当前启动位置 请自行填写
dir= /media/pi/ssd/Download/
#文件缓存, 使用内置的文件缓存, 如果你不相信Linux内核文件缓存和磁盘内置缓存时使用, 需要1.16及以上版本
#disk-cache=0
#另一种Linux文件缓存方式, 使用前确保您使用的内核支持此选项, 需要1.15及以上版本(?)
#enable-mmap=true
#文件预分配, 能有效降低文件碎片, 提高磁盘性能. 缺点是预分配时间较长
#所需时间 none < falloc ? trunc << prealloc, falloc和trunc需要文件系统和内核支持
file-allocation=falloc
# 从会话文件中读取下载任务
input-file=/etc/aria2/aria2.session
# 在Aria2退出时保存`错误/未完成`的下载任务到会话文件
save-session=/etc/aria2/aria2.session
# 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
save-session-interval=60
# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
seed-ratio=2.0
# 本地节点查找, PT需要禁用, 默认:false
bt-enable-lpd=true
bt-tracker=udp://tracker.coppersurfer.tk:6969/announce,udp://tracker.internetwarriors.net:1337/announce,udp://tracker.opentrackr.org:1337/announce,udp://exodus.desync.com:6969/announceBT,http://nyaa.tracker.wf:7777/announce,udp://open.stealth.si:80/announce,udp://tracker.coppersurfer.tk:6969/announce,udp://exodus.desync.com:6969/announce
sudo vim /lib/systemd/system/aria.service
[Unit]
Description=Aria2 Service
After=network.target
[Service]
User=root
ExecStart=/usr/bin/aria2c --conf-path=/etc/aria2/aria2.conf
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable aria && sudo systemctl restart aria
# 查看 aria 服务状态
sudo systemctl status aria
transmission
用来下载ed2k
# 查看配置
transmission-remote -si
sudo nano settings.json
//TODO transmission配置
caddy设置
CADDY_TELEMETRY=on curl https://getcaddy.com | bash -s personal http.forwardproxy,http.git,http.webdav,tls.dns.cloudflare
sudo vim /etc/CaddyFile.conf
:5001 {
root /home/pi/soft/AriaNg/ #这里替换为你的网站文件目录
}
:5002 {
root /media/pi/ssd/Download/ #这里替换为你的下载文件目录
browse
}
sudo vim /lib/systemd/system/caddy.service
[Unit]
Description=Caddy Service
After=network.target
[Service]
User=root
ExecStart=/usr/local/bin/caddy --conf /etc/CaddyFile.conf
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable caddy && sudo systemctl restart caddy
# 查看 aria 服务状态
sudo systemctl status caddy
Amule设置
下载ed2k连接用,编写中。
Samba设置
# 修改 /etc/samba/smb.conf
sudo vim /etc/samba/smb.conf
编辑smb.conf文件,改为以下内容
[global]
workgroup = WORKGROUP
# 设置出现在“网上邻居”中的主机名
netbios name = neo4server
server string = SambaServer
security = user
passdb backend = smbpasswd
load printers = yes
cups options = raw
[homes]
comment = Home Directories
browseable = no
writable = yes
[nanopi-ssd]
comment = ssd
path = /media/pi/ssd
browseable = yes
guest ok = no
writable = yes
# 新建/etc/samba/smbpasswd文件
sudo touch /etc/samba/smbpasswd
# 根据之前设置的valid users,设置用户密码
# root 替换为你设置的用户名
sudo smbpasswd -a root
# 输入两次密码后,会提示 Added user gzd. 表示设置成功
# 若用户名非当前登录系统的用户名,可能会提示Failed
# 如果在[globa]中” passdb backend = tdbsam”的话,会需要使用” pdbedit” 来增加用户
sudo systemctl restart smbd nmbd
通过mount和smbcount挂载远程共享文件夹
modprobe cifs
mkdir $HOME/samba_temp
mount -t cifs -o username=administrator,password=123456 //192.168.0.1/tmp $HOME/samba_temp
Rsync相关配置文件
Rsync
rsync [OPTION]... SRC DEST
目录SRC是否以斜杠结尾,会影响同步的结果:
以斜杠结尾:目录DEST里面有 [目录SRC本身]
不以斜杠结尾:目录DEST里面有 [目录SRC里面的文件]
Master端手动传输
# 手动传输文件(不同机器之间)
rsync -avzP 192.168.200.173::somedata /home/youname/somedata
# 手动传输文件(本地目录),留心源目录的“/”,加不加意思完全不同。目的地目录就随便了,反正意思一样。
rsync -avzP /home/username/somedata1/ /home/youname/somedata2/
# 从另一个笔记本的tocdata,通过SSH隧道拉取到本地(需要输入密码):
rsync -avzP [email protected]:/home/username/source/ /sharedfolders/localfolder
# -a 表示文件应被存档,这意味着他们的大部分特性被保留 (不包括ACLs, 硬链接或扩展属性,如capabilities)
# -v, --verbose 详细模式输出
# -P 显示进度
# -z, --compress 对备份的文件在传输时进行压缩处理
# -r --recursive 递归传输子文件夹
虽然还可以写自动备份脚本,但用第三方的lsyncd应该更好。
Slave端设置
sudo nano /etc/rsyncd.conf
uid = root
gid = root
pid file = /var/run/rsyncd.pid #pid文件的存放位置
lock file = /var/run/rsync.lock #锁文件的存放位置
log file = /var/log/rsyncd.log #日志记录文件的存放
[node2] #模块名字,自己命名
path = /data/node2 #指定文件目录所在位置,这是必须指定
read only = no
list = no #是否把rsync服务器上提供同步数据的目录显示
hosts allow = 192.168.1.39 #允许访问的主机 hosts deny = * #拒绝访问的主机
启动服务
rsync --daemon --config=/etc/rsyncd.conf
通过Rsync同步文件
rsync -av 源目录 目标目录
拉取文件:
rsync -avzP 192.168.2.1::datagroup /home/youname/data
NFS共享
配置文件:
sudo nano /etc/exports
# 加入这行
/root/data *(rw)
# 重启服务
sudo systemctl restart nfs-server
有个重大的问题就是中文会乱码。
虽然可以通过设置系统来支持UTF-8,但这样又会带来中文目录软件异常的问题。
参考文献:
树莓派3B+ aria配置
fstab (简体中文)- ArchWiki
配置 samba 服务器
rsync简明教程
rsync 的使用方法
服务器和本地的文件同步
Archlinux维基Samba条目
Lsyncd搭建同步镜像-用Lsyncd实现本地和远程服务器之间实时同步
【 rsync 】コマンド(その1)――ファイルやディレクトリを同期する
lsyncdで双方向同期するなら、delete='running' がいい
Config Layer 4: Default Config
Archlinux Wiki NFS条目
文章评论