帮助我理解“在多个安装中发现远程‘flathub’ 1) 系统 2) 用户”

帮助我理解“在多个安装中发现远程‘flathub’ 1) 系统 2) 用户”

当我尝试从 Flathub 网站安装 Flatpak 时,收到如下消息:

$ flatpak install flathub app.organicmaps.desktop
Looking for matches…
Remote ‘flathub’ found in multiple installations:

   1) system
   2) user

Which do you want to use (0 to abort)? [0-2]: 

我对此有几个疑问:

  • user选择意味着什么system?我对安全性和可用性都很感兴趣。
  • 其中一个或两个是否都需要使用sudo或管理员权限?
  • 如何最大程度地减少磁盘空间使用量?我应该始终选择其中之一吗?
  • 同样,我的回答会影响下载大小吗?
  • 如何列出安装在 下的 flatpakssystem和 下的 flatpaks user? 我可以在它们之间迁移已安装的软件包吗?
  • 我应该了解哪些 Ubuntu 特有的事情会影响我的选择?
  • 我可以配置flatpak以便以后不再问我这个问题吗?

答案1

我不是 flatpak 专家,但我曾用它安装过一些应用程序。我会尽力回答您的所有问题。


  • 选择用户而不是系统意味着什么?我对安全性和可用性都很感兴趣。

    用户安装

    应用程序安装在用户的主文件夹中。例如:

    /home/flimm/.local/share/flatpak/app/app.organicmaps.desktop/
    

    这意味着其他任何人都无法访问该应用程序。例如,如果您的家人(比如您的配偶和孩子)都使用此计算机,并且您将其安装为user,那么只有您才能启动和使用此应用程序。其他任何人都无权访问它。

    在安全性方面,在用户空间中安装意味着安装时不使用任何管理权限。例如,如果坏人以某种方式修改了应用程序的安装过程,那么当您安装应用程序时,它会进行一些不必要的系统更改。然后,如果您使用userinstall,则不会进行这些系统更改,因为安装过程无需sudo

    另一方面,如果应用程序需要一些特殊的系统级权限才能正常运行,那么以用户身份安装可能不起作用。

    系统安装

    该应用程序安装在系统文件夹中:

    /var/lib/flatpak/app/app.organicmaps.desktop/
    

    这意味着此计算机的所有用户都可以访问此应用程序。例如,如果您的配偶和孩子是此计算机的用户,那么他们所有人都可以启动和使用此应用程序。

    适用一般规则“如果您不信任来源,请不要安装任何东西”。与 Ubuntu 中的情况一样,安装已完成sudo,并且安装过程本身可能会对系统造成更改。

  • 其中一个或两个是否都需要使用 sudo 或管理员权限?

    只有“系统”安装才需要sudo

  • 如何最大程度地减少磁盘空间的使用量?

    如果您有三个用户,您自己、您的配偶和您的孩子,您可能不想使用三个用户的帐户安装同一个应用程序三次。这将占用三倍的磁盘空间,因为应用程序将在三个不同的主文件夹中安装三次。

    /home/flimm/.local/share/flatpak/app/app.organicmaps.desktop/
    /home/glimm/.local/share/flatpak/app/app.organicmaps.desktop/
    /home/zlamm/.local/share/flatpak/app/app.organicmaps.desktop/
    

    如果您的主文件夹位于单独的分区中,则“用户”与“系统”的选择将决定应用程序安装在哪个分区中。如果您的主分区已满,而系统分区/相对空,请使用系统选项,反之亦然。

  • 我应该始终选择其中一个吗?

    这取决于应用程序。例如,如果您要安装的应用程序是 Web 服务器,则可能需要读取和写入名为 的系统文件夹的权限/var/www/。“用户”安装可能不提供该访问权限。在这种情况下,您必须执行“系统”安装。

    这取决于您计算机的用户数量。如果您是唯一的用户,您可能希望使用“用户”安装。如果您有多个用户并且希望他们都能访问该应用程序,则使用“系统”安装。

  • 同样,我的回答会影响下载大小吗?

    可能不会。但是,它会影响安装位置。只有当您有单独的“home”分区时,这才会起作用。

  • 如何列出在系统下安装的 Flatpaks 和在用户下安装的 Flatpaks?

    通过运行flatpak list,您可以查看目录下安装的软件包user以及system。请参阅最后一栏“安装”:

    $ flatpak list
    Name           Application ID            Version       Branch      Origin       Installation
    Organic Maps   app.organicmaps.desktop   2024.02.06-11 stable      flathub      system
    LocalSend      ….localsend.localsend_app 1.13.1        stable      flathub      user
    

    如果您运行sudo flatpak list,则system只会显示安装。

  • 我可以在它们之间迁移已安装的包吗?

    我不知道。可能不是。

  • 我应该了解哪些 Ubuntu 特有的事情会影响我的选择?

    我不知道任何有关 Ubuntu 的具体事情。

  • 我可以配置 flatpak 以便将来不再问我这个问题吗?

    您可以使用以下命令:

    flatpak install --user flathub <name>
    

    当您想将应用程序安装在主文件夹中时。对于系统范围的安装,请使用:

    sudo flatpak install flathub <name>
    

用户安装与系统安装文档。

希望这可以帮助

相关内容