gra*_*d01 32 mediaserver hard-drive external-hdd plex
我正在尝试使用 Plex Media Server 将一台较旧的 PC 变成带有 Ubuntu 12.04 的家庭媒体服务器。我有一个较新的 WD 2 TB 外置 USB 硬盘,上面有我的所有媒体。
我一生都无法弄清楚为什么 Plex 无法识别此硬盘驱动器上的文件。它显示外部,Ubuntu 显示文件并允许我播放它们,查看它们等。Plex 显示名称“外部”。
但是当我点击它时,它是 100% 空的,并且没有显示任何要添加的内容。我可以通过文件共享访问外部文件,在我的 Windows 计算机上很好,但希望能够使用 Plex 与我们的 Roku 进行流式传输。
我对 Ubuntu 相当陌生,我在 Windows 上使用了具有相同 HD 的 Plex,它运行良好。我已经阅读了多篇关于此的文章,但似乎没有任何效果。
我该如何解决这个问题?
Sam*_*mWN 37
您必须确保用户plex不仅可以访问驱动器,还可以访问驱动器所在的文件夹。 经过大量修补后,我最终选择了这条路线:
编辑挂载选项(磁盘 -> “更多操作”(“卷”图下的两个齿轮) -> 编辑挂载选项),例如:
nosuid,nodev,nofail
Run Code Online (Sandbox Code Playgroud)
位于 /etc/fstab 文件中存储选项的区域(“符号图标名称”下的文本框)
并将挂载点设置为:
/media/<user>/<HDD Name>
Run Code Online (Sandbox Code Playgroud)
并重新安装您的硬盘,使其出现在指定位置。
接下来,plex通过转到终端并输入将自己添加到用户组:
sudo adduser "$USER" plex
Run Code Online (Sandbox Code Playgroud)
现在,您可以修改相关文件和目录的所有权,以便它们归${USER}:plex. 您可以通过转到终端并输入来授予对驱动器的 plex 读取访问权限:
sudo chgrp plex "/media/${USER}/"
sudo chmod g+rX "/media/${USER}/"
sudo chgrp plex "/media/${USER}"/<HDD Name>/
sudo chmod g+rX "/media/${USER}"/<HDD Name>/
Run Code Online (Sandbox Code Playgroud)
可能还需要确保正确配置ACL权限,因此可能还需要以下内容:
sudo setfacl -m g:plex:rx /media/<user>/
Run Code Online (Sandbox Code Playgroud)
仅供参考:如果文件/目录显示一个
+符号作为其权限的一部分(例如drwxr-xr-x+),则意味着该文件/目录的 ACL 控制处于活动状态。
现在 Plex 可以访问驱动器,您需要确保它可以访问相关目录中的所有文件。这可以通过对所有媒体库文件夹重复以下操作来完成:
chmod -R g+rX /media/<user>/<HDD Name>/<Library Folder>
Run Code Online (Sandbox Code Playgroud)
这解决了我添加到 HTPC 的两个额外驱动器的问题。希望能帮助到你。
PS:正如@douggro 提到的,Plex 有一篇关于这个主题的好文章,但他们改变了他们网站的结构,所以我花了一段时间才从他的链接中找到它,所以这里有一个更新的页面链接:Plex Linux 权限指南
dnl*_*rky 21
正如一些人所提到的,问题很可能是由于plex用户没有正确的权限。我遇到了类似的问题,并且能够使用几个简单的步骤修复它。
打开这个配置文件:
sudo nano /etc/default/plexmediaserver
Run Code Online (Sandbox Code Playgroud)
找到这一行:
PLEX_MEDIA_SERVER_USER = plex
Run Code Online (Sandbox Code Playgroud)
替换plex为您的用户名,然后保存文件。重新启动计算机后,Plex 就可以访问外部驱动器上的文件夹。
您可以运行sudo mount -a和/或sudo service plexmediaserver restart代替重新启动。
jan*_*not 11
我不知道发生了什么,但唯一能帮助我使用 ext4 驱动器的是在“磁盘”应用程序中设置“自动挂载选项”-“关闭”并设置“挂载点”“/mnt/foobar”而不是“ /media/用户名/foobar”。
尝试将 Plex 添加到 plugdev 组。
打开终端(按ControlAltT)并输入
sudo gpasswd -a plex plugdev
通过输入以下内容来验证 plex 是否已添加到 plugdev 组:
groups plex
这也应该显示 plex 所属的组。接下来,重新启动计算机并启动 plex 以验证这是否纠正了问题。
您需要配置 fstab 以设置适当的权限。
Plex 站点上有一整页关于如何执行此操作,请参阅:https : //support.plex.tv/hc/en-us/articles/200288606-Mounting-NTFS-Drives-on-Linux
简而言之:
查找驱动器的 UUID:
须藤blkid | grep ntfs
创建一个目录,您将在其中安装驱动器:
须藤 mkdir /media/ext_NTFS_USB_Drive
使用命令编辑文件 /etc/fstab:
gksu gedit /etc/fstab
在此文件中添加一行并保存。
UUID=485CBF485CBF3014 /media/ext_NTFS_USB_Drive ntfs-3g 权限,自动 0 0
其中 UUID 是您的驱动器,安装点是您创建的文件夹。
现在挂载驱动器:
须藤挂载 /media/ext_NTFS_USB_Drive
(您可能会收到错误消息,说驱动器已安装,例如在 Nautilus 中。只需卸载它 - 安全删除驱动器,或单击 Nautilus 中的弹出图标)
现在在 Plex 中,您需要更改您尝试添加到内部某处的媒体文件夹的位置:/media/ext_NTFS_USB_Drive
小智 5
这是你的外部硬盘的文件夹挂载点造成了麻烦。
它没有正确的权限,除了以 root 身份打开 nautilus 之外,无需终端命令即可更改此设置的最简单方法如下:
使用 sudo 打开 nautilus:
sudo nautilus(或任何其他用 root 打开的系统浏览器)
用鼠标箭头将鼠标悬停在 extern hd 上以查看 hd 的完整路径,或单击它然后按 Ctrl+l 以查看地址栏中的完整路径。
示例:/media/nick/extern_hdd1
extern_hdd1 挂载到文件夹 nick,转到 media 更改文件夹 nick 的权限,为此按 ctrl+l 并在地址栏中粘贴 /media/ 或手动浏览到媒体。
右键单击文件夹昵称转到属性并更改以下内容:
所有者:nick(在您自己的情况下是您自己的用户名)文件夹访问:创建和删除文件文件访问:---
组:plugdev 文件夹访问:访问文件文件访问:---
其他文件夹访问:访问文件文件访问:---
就是这样!