1. Samba 文件共享
Samba 是连接 Linux 与 Windows 的桥梁,用于局域网文件共享。
(1) 更新当前软件
sudo apt-get upgrade
sudo apt-get update
sudo apt-get dist-upgrade
(2) 安装 Samba 服务器
sudo apt-get install samba samba-common
(3) 创建一个用于分享的 Samba 目录
sudo mkdir /home/yys/share
(4) 给创建的这个目录设置权限
sudo chmod 777 /home/yys/share
💡 优化建议: 生产环境中
777权限过于开放。建议配合chown设置特定用户组,例如sudo chown yys:yys /home/yys/share并设置权限为755或770。
(5) 添加用户
(下面的 yys 是我的用户名,之后会需要设置 Samba 的密码)
sudo smbpasswd -a yys
(6) 配置 Samba 的配置文件
sudo nano /etc/samba/smb.conf
在配置文件 smb.conf 的最后添加下面的内容:
[share]
comment = share folder
browseable = yes
path = /home/yys/share
create mask = 0700
directory mask = 0700
valid users = yys
force user = yys
force group = yys
public = yes
available = yes
writable = yes
扩展:添加多个目录示例
[share] comment = share folder browseable = yes path = /home/yys/share # ... (同上配置) [share2] comment = share folder 2 browseable = yes path = /home/yys/share2 create mask = 0700 directory mask = 0700 valid users = yys force user = yys force group = yys public = yes available = yes writable = yes
在上面 valid users = yys 中的 yys 为我的用户名。
(7) 重启 Samba 服务器
sudo service smbd restart
💡 扩展技巧:解决 Windows "网络" 中不显示 NAS 的问题
如果在 Windows 的“网络”邻居中看不到 Linux 主机,可以安装wsdd服务:
sudo apt install wsdd
安装后 Windows 即可自动发现设备,无需每次输入 IP。
(8) Windows 访问方法
Win+R 在弹出的运行窗口中输入 \\ip(或者文件夹地址)即可访问。如 \\192.168.31.221,输入 Samba 用户名及密码访问即可看到共享。
如果提示:“你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问...”
解决方法见:https://www.linuxidc.com/Linux/2018-11/155467.htm
(9) 输入 Samba 用户名及密码访问即可看到共享文件夹 share。
(10) 映射网络驱动器
选中 share,点击右键,选择“映射网络驱动器”。
注意: mnt 挂载盘目录下必须三层目录,比挂载盘多一层(如挂载盘 /mnt/nas 那么目录就是 /mnt/nas/share),不然可能出现没写入权限的问题。
IPv6 访问 Samba
以下是 IPv6 访问 Samba 共享文件夹的方法:
- 首先,获取 Samba 共享文件夹所在的 IPv6 地址。
- 然后,将 IPv6 地址中的冒号替换为短横线,并在末尾添加
.ipv6-literal.net。例如,如果 IPv6 地址是fded:abcd:1234::a,则替换后的地址为fded-abcd-1234--a.ipv6-literal.net。 - 最后,在文件夹中访问这个地址即可。
如果您使用的是 Windows 系统,可以按照以下步骤操作:
- 打开文件资源管理器。
- 在地址栏中输入 IPv6 地址,例如
\\fded-abcd-1234--a.ipv6-literal.net。 - 按下回车键,即可访问 Samba 共享文件夹。
扩展:Win11 开启 Samba IPv6 外网共享(默认只能局域网访问)
方法1:直接控制面板关闭防火墙(不建议,安全性低)
方法2:打开入站规则放开 445 端口 (推荐)
- Win + R 打开运行,输入
control打开控制面板。 - 进入“系统和安全” -> “Windows Defender 防火墙”。
- 左侧选择“高级设置”,弹出窗口中选择“入站规则”。
- 右侧选择“新建规则”。
- 选择“端口”,协议选择 TCP,特定本地端口输入
445,允许连接,后续按向导完成即可。
1.2 Docker 部署 Samba
缺点:小米摄像头等部分设备可能无法发现(未解决)。
注意事项:
- 环境变量:
dperson/samba镜像不使用USERNAME和PASSWORD环境变量来设置用户,需要在command中指定。 - 共享目录路径:
command中指定的共享目录路径应该与volumes中挂载的路径一致。
以下是调整后的 docker-compose.yml 文件:
version: Ɖ'
services:
smb:
image: dperson/samba
container_name: smb
network_mode: "bridge" # 如果需要更好发现性,可尝试 host 模式
ports:
- "139:139"
- "445:445"
restart: always
environment:
TZ: Asia/Shanghai
volumes:
- /mnt/nas:/mnt/nas
# 修改下面这行,增加了 -g 参数来禁用 oplocks 和 strict locking 以提高兼容性
command: >
-u "yys123456"
-s "nas/mnt/nasyesnoyesallnone"
-g "oplocks = no"
-g "level2 oplocks = no"
-g "kernel oplocks = no"
-g "strict locking = no"
-g "map to guest = Bad User"
-g "min protocol = SMB2"
配置说明:
- 使用
-u "yys123456"设置用户名和密码。 - 使用
-s "nas/mount/nasyesnoyesallnone"配置共享目录。
2. BT 下载 (Transmission)
2.1 安装
sudo add-apt-repository ppa:transmissionbt/ppa
sudo apt-get update
sudo apt-get install transmission transmission-daemon
2.2 修改配置文件
注意: 修改配置文件前必须先停止服务,否则修改不生效。
sudo service transmission-daemon stop
编辑配置文件:
sudo vi /var/lib/transmission-daemon/info/settings.json
# 或者(取决于安装位置)
sudo vi /etc/transmission-daemon/settings.json
关键配置项:
{
"download-dir": "/home/yys/share/download"
"incomplete-dir": "/home/yys/share/download"
"rpc-authentication-required": true
"rpc-bind-address": "0.0.0.0"
"rpc-enabled": true
"rpc-password": "123456"
"rpc-port": 9091
"rpc-url": "/transmission/"
"rpc-username": "yys"
"rpc-whitelist": "127.0.0.1"
"rpc-whitelist-enabled": false
}
主要是关闭 rpc-whitelist-enabled (取消白名单),并设置 用户名密码 以及 download-dir (下载路径)。
2.3 权限管理
因为修改了默认下载路径,默认安装的 transmission 用户组 (debian-transmission) 没有读写权限。
方法1:正规权限赋予 (推荐)
sudo usermod -a -G debian-transmission root
sudo chgrp -R debian-transmission ./transmission-daemon/
方法2:粗暴修改为 777 权限
sudo chmod -R 777 /etc/transmission-daemon
sudo chmod -R 777 /home/yys/share/download # 你的实际下载路径
2.4 启动和停止
- 启动:
sudo service transmission-daemon start - 停止:
sudo service transmission-daemon stop
美化 WEB UI
原版界面较简陋,建议安装加强版 UI:
wget https://gitee.com/culturist/transmission-web-control/raw/master/release/install-tr-control-gitee.sh
bash install-tr-control-gitee.sh
安装后访问 http://ip:9091/,输入用户名密码即可看到新 UI。
2.5 卸载
sudo apt-get install ppa-purge && sudo ppa-purge ppa:transmissionbt/ppa
3. Aria2 离线下载
3.1 安装
命令行安装:
sudo apt -y install aria2
sudo mkdir /etc/aria2
touch /etc/aria2/aria2.session
wget -P /etc/aria2 https://github.com/ToyoDAdoubi/doubi/blob/master/other/Aria2/dht.dat
Docker Compose 安装 (推荐):
使用 p3terx/aria2-pro 镜像,功能更强大。
version: Ɖ'
services:
aria2:
image: p3terx/aria2-pro
container_name: aria2
environment:
- PUID=0 # 建议填写实际用户的UID,如1000
- PGID=0 # 建议填写实际用户的GID
- RPC_SECRET=123456
- RPC_PORT=6800
- LISTEN_PORT=6888
- FILE_ALLOCATION=none
ports:
- "6800:6800"
- "6888:6888"
- "6888:6888/udp"
volumes:
- /mnt/nas_data/share/download:/downloads
- /home/yys/docker/aria2/config:/config
restart: unless-stopped
3.2 配置文件 (非 Docker 方式)
sudo vim /etc/aria2/aria2.conf
配置文件内容示例:
# 文件的保存路径
dir=/home/yys/share/download
disk-cache=32M
file-allocation=trunc
continue=true
## 下载连接相关 ##
max-concurrent-downloads=10
max-connection-per-server=16
min-split-size=10M
split=16
max-overall-upload-limit=80
disable-ipv6=false
check-certificate=false
## 进度保存 ##
input-file=/etc/aria2/aria2.session
save-session=/etc/aria2/aria2.session
enable-rpc=true
rpc-allow-origin-all=true
rpc-listen-all=true
rpc-listen-port=6800
rpc-secret=123456
## BT/PT 相关 ##
follow-torrent=true
enable-dht=true
enable-peer-exchange=true
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
seed-ratio=0.1
bt-seed-unverified=true
bt-save-metadata=true
# 建议定期更新 Tracker 列表
bt-tracker=udp://tracker.coppersurfer.tk:6969/announceudp://tracker.opentrackr.org:1337/announce...
3.3 新建系统服务 (systemd)
sudo vim /etc/systemd/system/aria2c.service
写入以下内容:
[Unit]
Description=Aria2c
[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/aria2c --conf-path=/etc/aria2/aria2.conf
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
3.4 启动与开机自启
systemctl enable aria2c.service
systemctl start aria2c.service
3.5 浏览器使用
推荐安装浏览器插件 Aria2 for Edge 或 AriaNg。
设置:扩展选项 -> Aria2-RPC-Server -> 更改 IP 为 http://192.168.31.84:6800/jsonrpc,并填入 rpc-secret (如 123456)。
3.6 常见问题
3.7 下载慢/无速度解决办法
方法1:完善 DHT 网络
- 开启 DHT:配置文件中确保
enable-dht=true。 - 端口映射:路由器放行配置的 BT 监听端口。
- 下载 DHT 文件:下载
dht.dat放入配置目录,帮助快速寻找节点。
方法2:添加 Trackers (关键)
BT 下载慢通常是因为 Tracker 服务器连接少。
- 推荐使用
trackers_best或trackers_all_udp。 - 获取地址:GitHub - trackerslist 或 tkser.tk。
- 将列表追加到
aria2.conf的bt-tracker=后面(用逗号分隔),重启 Aria2。
4. NextCloud 搭建私人网盘
4.1 基础设置
更新及安装 Snap 包管理器:
sudo apt-get update
sudo apt-get install snap snapd
4.2 安装 NextCloud (Snap方式)
sudo snap install nextcloud
安装成功会显示类似 nextcloud 22.2.3snap3 installed。
4.3 初始化设置
访问本机 IP (如 http://192.168.1.xxx) 进入安装页面,设置管理员账号密码。
4.4 解决“通过不被信任的域名访问”
编辑配置文件:
sudo vim /var/snap/nextcloud/current/nextcloud/config/config.php
在 trusted_domains 数组中添加你的域名或新 IP:
'trusted_domains' =>
array (
0 => 餘.168.1.100'
1 => 'example.com'
2 => 'ipv6-address'
)
保存后重启 Snap:sudo snap restart nextcloud。
4.5 使用 Python 上传文件 (WebDAV)
Nextcloud 支持 WebDAV 协议。
import requests
import os
# 配置信息
server_url = 'http://192.168.31.166'
username = 'root'
password = �' # 或使用应用专用密码
file_path = r"F:\新建文件夹\111.png"
file_name = os.path.basename(file_path)
session = requests.Session()
session.auth = (username password)
# 上传
with open(file_path 'rb') as file:
# 默认传到根目录,如需传到子目录: /remote.php/dav/files/{username}/Photos/{file_name}
url = f'{server_url}/remote.php/dav/files/{username}/{file_name}'
response = session.put(url data=file)
if response.status_code in [201 204]:
print('文件上传成功!')
else:
print(f('文件上传失败。状态码: {response.status_code}'))
4.6 查看日志
sudo cat /var/snap/nextcloud/current/logs/nextcloud.log
4.7 解决 External Storage 无法读写问题
Snap 版 Nextcloud 由于沙盒限制,无法直接读取 /mnt 或 /media 下的文件。
解决方案:
-
授予权限:
sudo chown -R root:root /mnt/nas/share/nextcloud sudo chmod -R 777 /mnt/nas/share/nextcloud(注意:777 权限仅为测试,建议根据实际用户组调整)
-
连接 Snap 接口 (关键):
snap connect nextcloud:removable-media执行此命令后,Nextcloud 才能访问
/mnt和/media目录。
如果是 Docker 版本:
需在docker run或 compose 中添加-v /mnt/data:/mnt/data映射,并确保容器内用户(通常是www-datauid 33)对该目录有写权限:
sudo chown -R 33:33 /mnt/nas/share/nextcloud
4.8 开启 IPv6 支持
编辑 config.php:
- 在
trusted_domains添加 IPv6 地址或域名。 - 修改或添加
'overwrite.cli.url' => 'http://[你的IPv6地址]'。
4.9 手动安装插件 & 4.10 命令行更新
如果后台提示“通过浏览器更新被禁用”,请使用命令行:
# 进入 Snap 环境执行命令
sudo nextcloud.occ upgrade
# 或者 Docker 环境
docker exec -it nextcloud su -s /bin/bash www-data -c "php occ upgrade"
如果需要手动关闭维护模式:
sudo nextcloud.occ maintenance:mode --off
4.11 性能优化
- Cron 任务:在 Nextcloud 设置 -> 基本设置 -> 背景任务,选择 Cron(推荐),不要用 AJAX。
- 缓存:建议配置 Redis 缓存以减少数据库压力。
5. Jellyfin 媒体服务器
Jellyfin 是 Emby/Plex 的免费开源替代品,支持硬件转码。
安装 (Docker 方式推荐):
参考 Docker Hub。
改善番剧识别 (刮削)
建议安装 AniList 和 AniDB 插件。
- 控制台 -> 插件 -> 安装 AniList/AniDB。
- 重启 Jellyfin 容器 (
docker restart jellyfin_id)。 - 编辑媒体库 -> 刮削器顺序:AniDB > AniList > TheMovieDb。
5.1 电视直播 (IPTV)
- 获取源:网上搜索 m3u8 直播源 (如
http://tonkiang.us/)。 - 制作 m3u 文件:使用 TeleList 等工具将
频道名链接格式转换为.m3u文件。

- Jellyfin 设置:
- 控制台 -> 电视直播 -> 添加调谐器 -> M3U Tuner。
- 填入 m3u 文件路径或 URL。
- (可选) 添加 XMLTV 格式的 EPG 指南地址(如
http://epg.51zmt.top:8000/e.xml)。
5.2 解决封面/元数据不刷新 (MetaShark)
国内网络环境下 TMDB 可能无法访问。
解决方法:安装 MetaShark 插件
- 添加存储库:控制台 -> 插件 -> 存储库 -> 添加:
- 国内加速:
https://ghfast.top/https://github.com/cxfksword/jellyfin-plugin-metashark/releases/download/manifest/manifest_cn.json
- 国内加速:
- 安装插件:在目录中找到 MetaShark 安装并重启。
- 配置:媒体库设置中勾选 MetaShark 并移至首位,取消 TheMovieDb。
树莓派 4B 硬件转码设置
树莓派 4B 支持 H.264 硬件编解码 (V4L2)。
Docker 配置:
需映射设备:
devices:
- /dev/vchiq:/dev/vchiq
- /dev/video10:/dev/video10
- /dev/video11:/dev/video11
- /dev/video12:/dev/video12
Jellyfin 内部设置 (控制台 -> 播放 -> 转码):
- 硬件加速:选择 Video4Linux2 (V4L2)。
- 启用硬件解码:仅勾选 H264 MPEG2 VC1。不要勾选 HEVC (H.265),树莓派硬解 HEVC 性能极差且不稳定。
- 启用硬件编码:仅勾选 H.264。
- 色调映射:取消勾选 (树莓派性能不足)。
- 转码线程:设置为 2 或 3。
其他常用服务一览
-
6. GitLab: 开源的 DevOps 平台,集代码托管CI/CD 于一体。
-
7. Home Assistant: 强大的开源家庭自动化中心,接入各种智能家居设备。
-
8. Jenkins: 自动化构建服务器,用于持续集成。
-
9. ONLYOFFICE: 在线文档办公套件,可与 Nextcloud 完美集成,实现多人协作编辑。
-
10. PhotoPrism: AI 驱动的智能照片库,支持人脸识别地点分类,适合替代 Google Photos。
-
11. Vaultwarden (原 Bitwarden_RS): 轻量级密码管理服务,自建密码库的首选,资源占用极低。
-
12. KasmVNC Web 桌面: 基于 Docker 的 Web 图形化桌面环境,浏览器直接访问 Linux 桌面。




评论区(0 条)
发表评论⏳ 加载编辑器…