如何在Ubuntu上为Jellyfin添加外部存储
导读:在 Ubuntu 上为 Jellyfin 添加外部存储 一 准备与识别磁盘 连接外部存储(USB 硬盘、移动硬盘等),确认系统已识别: 查看块设备:lsblk 查看分区与文件系统:lsblk -f 查看详细信息(含 UUID):sudo...
在 Ubuntu 上为 Jellyfin 添加外部存储
一 准备与识别磁盘
- 连接外部存储(USB 硬盘、移动硬盘等),确认系统已识别:
- 查看块设备:lsblk
- 查看分区与文件系统:lsblk -f
- 查看详细信息(含 UUID):sudo blkid
- 记录目标分区,例如:/dev/sdb1。如为全新磁盘,先分区并格式化为 ext4:sudo mkfs.ext4 /dev/sdX1(会清空数据,谨慎操作)。
二 挂载到系统并配置自动挂载
- 创建挂载点:sudo mkdir -p /mnt/udisk0
- 手动挂载(示例为 ext4):sudo mount -t ext4 /dev/sdb1 /mnt/udisk0
- 配置开机自动挂载(推荐用 UUID,避免设备名变化):
- 获取 UUID:sudo blkid
- 编辑 /etc/fstab,在末尾添加一行(示例):
- ext4:UUID=你的UUID /mnt/udisk0 ext4 defaults,nofail 0 0
- NTFS(如为 Windows 盘):UUID=你的UUID /mnt/udisk0 ntfs-3g defaults,nofail,uid=1000,gid=1000,umask=022 0 0
- 说明:
- nofail 可在设备未连接时允许系统继续启动。
- NTFS 需安装 ntfs-3g:sudo apt install ntfs-3g。
- 验证:sudo mount -a(无报错即生效),或 df -h 查看挂载状态。
三 在 Jellyfin 中添加媒体库目录
- 宿主机安装方式:
- 访问 http://服务器IP:8096,完成向导后进入“控制台 > 媒体库”,添加你的媒体目录(如:/mnt/udisk0/Movies、/mnt/udisk0/TV),按向导完成刮削设置。
- Docker 方式(推荐将配置与缓存也放到外置盘):
- 创建目录:sudo mkdir -p /mnt/udisk0/jellyfin/{ config,cache}
- 启动容器(示例):
- 电影与剧集在同一盘:
docker run -d \ --name jellyfin \ -p 8096:8096 \ -v /mnt/udisk0/jellyfin/config:/config \ -v /mnt/udisk0/jellyfin/cache:/cache \ -v /mnt/udisk0:/media:ro \ --restart unless-stopped \ jellyfin/jellyfin:latest - 电影与剧集分目录:
docker run -d \ --name jellyfin \ -p 8096:8096 \ -v /mnt/udisk0/jellyfin/config:/config \ -v /mnt/udisk0/jellyfin/cache:/cache \ -v /mnt/udisk0/Movies:/media/movies:ro \ -v /mnt/udisk0/TV:/media/tv:ro \ --restart unless-stopped \ jellyfin/jellyfin:latest
- 电影与剧集在同一盘:
- 在控制台媒体库中添加 /media/movies、/media/tv(或 /media)。
四 使用网络存储作为外部存储
- SMB/CIFS(Windows 共享):
- 安装工具:sudo apt install cifs-utils
- 创建挂载点:sudo mkdir -p /mnt/nas
- 临时挂载:sudo mount -t cifs //192.168.1.100/Media /mnt/nas -o username=你的用户名,password=你的密码,file_mode=0777,dir_mode=0777
- 自动挂载(在 /etc/fstab 末尾添加,凭据写入文件更安全,见下节安全建议):
- 示例://192.168.1.100/Media /mnt/nas cifs auto,username=你的用户名,password=你的密码,file_mode=0777,dir_mode=0777 0 0
- NFS(NAS/群晖等):
- 安装客户端:sudo apt install nfs-common
- 创建挂载点:sudo mkdir -p /mnt/nfsvol
- 临时挂载:sudo mount -t nfs 192.168.1.200:/volume1/share /mnt/nfsvol
- 自动挂载(在 /etc/fstab 末尾添加):
- 示例:192.168.1.200:/volume1/share /mnt/nfsvol nfs defaults,_netdev 0 0
- 在 Jellyfin 中将上述挂载点(如 /mnt/nas、/mnt/nfsvol)添加为媒体库目录。
五 权限与常见问题处理
- 权限与所有权:
- 宿主机直跑:确保 Jellyfin 运行用户对媒体目录有读权限(如目录属主为 jellyfin:jellyfin,或放宽至 755/644)。
- Docker:示例已使用 :ro 只读挂载;如需写入(如字幕下载),改为 :rw 并正确设置目录权限。
- 中文乱码/方框(SMB 挂载常见):
- 在 /etc/fstab 的 CIFS 选项增加 iocharset=utf8(或挂载后检查系统 locale 为 zh_CN.UTF-8)。
- 自动挂载失败导致系统卡启动:
- 使用 nofail 选项;或改用 systemd 挂载单元(可选)。
- 避免设备名漂移:
- 始终优先使用 UUID 配置 /etc/fstab。
- 安全建议(凭据存放):
- 将 SMB 凭据写入文件(如 /etc/smb-credentials),权限 600,并在 /etc/fstab 使用 credentials=/etc/smb-credentials 替代明文密码。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Ubuntu上为Jellyfin添加外部存储
本文地址: https://pptw.com/jishu/755322.html
