Ubuntu 20.04 LTS:编辑 snap 包运行的服务的用户

Ubuntu 20.04 LTS:编辑 snap 包运行的服务的用户

我从 Ubuntu 应用程序中心安装了 Sonarr,据我所知,它是 snap 包的一部分。该服务无法访问我正在使用的硬盘驱动器挂载。我设置了驱动器,以便由我指定的用户和组拥有。Sonarr 似乎作为系统应用程序运行(根据我所读到的),并且无法查看此挂载上的目录,即使我确保在相关目录上运行了 chmod 777。我运行的其他服务在访问挂载或写入挂载时没有问题。只有 Sonarr。我进行了大量搜索,并得出结论,我需要更改服务运行的用户。

这就是谷歌搜索让我失望的地方。所有解决方案都是几年前的,我无法适应它们:

  1. 我在 /lib/systemd 中查找服务配置文件,但未能找到。
  2. Sonarr 现在作为 snap 包安装,似乎不使用 systemd 来提供服务。我不知道它使用什么。它也不需要用户先安装 mono。
  3. 我发现了一个 snap 文件,它似乎可以启动 sonarr 服务,但第一行写着“请勿编辑”。所以我放弃了。

因此,为了继续下去,我需要了解以下内容:

  1. 通过 snap 安装的服务是否由其他地方管理?
  2. 如何找到该服务的配置文件并将其更改为以特定用户身份运行(例如我)
  3. 如果我将其设置为以特定用户身份运行,是否意味着该用户必须登录才能使服务正常运行?

答案1

不确定这是否有帮助。

我在访问存储所有媒体的已安装 raid 设备时遇到了同样的问题。

我通过打开 Ubuntu 软件解决了这个问题,并且 Sonarr 被列在已安装的软件下。

单击该按钮,您将会看到一个权限按钮。

单击该按钮并启用“启用系统挂载信息和磁盘配额”和“在可移动存储设备上读取/写入文件”。

最后一个选项可能不需要,但我还是检查了一下。

答案2

您可以使用 snap 和 --devmode 将其用作常规系统包,它将具有完全访问权限并以您的用户身份运行。这是我昨天做的,我已经下载了大量内容。

'snap install --devmode sonarr' 并享受生活

来自--help

答案3

在访问用户主目录之外的位置时,Snap 有许多限制。如果您希望使用非常具体的配置设置运行 Sonarr,您可能需要使用非 Snap 版本

以下是基本安装说明:

  1. 打开终端(如果尚未打开)
  2. 删除现有的 Sonarr 快照:
    sudo snap remove sonarr
    
    笔记:如果 Sonarr 的名称与上面的不同,请使用snap list列出已安装的快照来查找其确切名称。
  3. 将 Sonarr 的存储库添加到您的软件源列表中:
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0xA236C58F409091A18ACA53CBEBFF6B99D9B78493
    echo "deb http://apt.sonarr.tv/ master main" | sudo tee /etc/apt/sources.list.d/sonarr.list
    
  4. 更新apt
    sudo apt update
    
  5. 安装 Sonarr,它被称为nzbdrone
    sudo apt install nzbdrone 
    
  6. 启动服务:
    mono --debug /opt/NzbDrone/NzbDrone.exe
    

请务必确认 UFW 配置为允许 Sonarr 访问专用安装位置。

来源:Sonarr 的安装 Wiki

答案4

  1. 一般来说是的。Snap 应该是独立的,因此很少提供系统其余部分可以使用的服务。

  2. Snap 是只读的。您无法更改 Snap 中的文件(如配置文件)。由于这是一个带有用于配置和帐户管理的 Web 界面的应用程序,因此似乎您应该在那里进行自定义。

    如果 Snap 作者提供的自定义选项不够充分,那么 Snap 可能不是您的最佳选择。请考虑其他安装选项。

  3. 如果是这样,请向 Snap 的作者提交错误报告。

嗯,单个 Snap 通常由该 Snap 的作者提供支持,而不是由我们提供支持。Snap 的错误和问题应报告给 Snap 作者,而不是我们。Snap 作者的配置选择问题实际上不是我们可以解决的问题。

相关内容