Ubuntu 下为 Jellyfin 添加外部存储的完整步骤
一 准备与识别外部存储
- 连接硬盘后查看设备名与分区:
- 查看块设备:lsblk
- 查看文件系统与 UUID:lsblk -f
- 常见路径示例:/dev/sdb1、/dev/sdc1。请记录目标分区的 UUID 与文件系统类型(如 ext4、ntfs、exfat),后续用于自动挂载与权限配置。
二 挂载外部硬盘到本地目录
- 创建挂载点(示例:/mnt/udisk0):
- sudo mkdir -p /mnt/udisk0
- 手动挂载示例(以 ext4 为例):
- sudo mount /dev/sdb1 /mnt/udisk0
- 图形界面方式(适合桌面版):
- 打开“文件”→“其他位置”,选择外接硬盘,点击“挂载”。
- 说明:
- 若分区为 NTFS/exFAT,请先安装相应工具(如 ntfs-3g),再执行挂载。
- 挂载成功后,外部存储即可在 /mnt/udisk0 访问。
三 配置自动挂载(推荐用 UUID)
- 获取分区 UUID:
- 编辑 /etc/fstab,在末尾添加(示例为 ext4):
- UUID=你的UUID /mnt/udisk0 ext4 defaults 0 2
- 若是 NTFS,可用:
- UUID=你的UUID /mnt/udisk0 ntfs defaults 0 0
- 测试并生效:
- sudo mount -a(无报错即成功;重启后自动挂载)
- 提示:
- 使用 UUID 可避免因设备名变化(如 /dev/sdb→**/dev/sdc**)导致挂载失败。
四 在 Jellyfin 中添加媒体库目录
- 本机安装版(APT)或二进制安装版:
- 访问 http://服务器IP:8096 → 完成初始化 →“添加媒体库”
- 在“文件夹”中选择已挂载的目录(如 /mnt/udisk0/Movies、/mnt/udisk0/TV),按电影/剧集分类添加,保存后触发刮削。
- Docker 部署(示例命令):
- 创建目录:sudo mkdir -p /mnt/udisk0/jellyfin/{config,cache}
- 启动容器(将媒体目录映射为 /media):
- docker run -d --name jellyfin -p 8096:8096
-v /mnt/udisk0/jellyfin/config:/config
-v /mnt/udisk0/jellyfin/cache:/cache
-v /mnt/udisk0:/media
jellyfin/jellyfin
- 在网页端“添加媒体库”时选择 /media 下的相应子目录(如 /media/Movies)。
- 说明:
- 若使用 Docker,务必将外部存储目录以 -v 宿主机路径:容器路径 的方式映射进容器,Jellyfin 才能读取。
五 权限与常见问题处理
- 权限不足(宿主机目录对 Jellyfin 不可读/写):
- 查看挂载点与权限:ls -ld /mnt/udisk0
- 调整属主(示例将挂载点属主设为当前用户,Jellyfin 容器内通常以 jellyfin 用户运行,可按需调整):
- sudo chown -R $USER:$USER /mnt/udisk0
- 或在宿主机将目录加入 jellyfin 组并设定合适权限(如 775/770),再重启 Jellyfin 服务。
- NTFS 挂载失败或异常:
- 安装工具:sudo apt install ntfs-3g
- 若提示“NTFS is inconsistent”,需在 Windows 对该盘执行:chkdsk /f X:,完成后重启再挂载。
- 网络共享作为外部存储(可选):
- NFS:安装客户端 sudo apt install nfs-common,挂载如:
- sudo mount -t nfs 192.168.1.10:/volume1/share /mnt/nfsvol
- 在 /etc/fstab 加入:192.168.1.10:/volume1/share /mnt/nfsvol nfs defaults,_netdev 0 0
- SMB/CIFS:安装 sudo apt install cifs-utils,在 /etc/fstab 加入:
- //192.168.1.20/media /mnt/nas cifs username=用户,password=密码,file_mode=0777,dir_mode=0777 0 0
- 然后在 Jellyfin 中添加 /mnt/nfsvol 或 /mnt/nas 下的媒体目录。