安装不属于发行版官方来源的软件的最佳和最安全的选择是什么?

安装不属于发行版官方来源的软件的最佳和最安全的选择是什么?

我过去常常在虚拟机中运行 Linux,并且对安装的内容相当粗心。但我最近安装了 Debian 作为我的第一个裸机 Linux 系统,并且我了解到,在安装官方来源之外的东西时,Debian 出色的稳定性可能会受到影响: https://wiki.debian.org/DontBreakDebian#Don.27t_make_a_FrankenDebian

我对此感到有点心碎,因为我想要安装的许多软件包都没有在官方来源中,即使有可用的 flatpak,它们似乎也不能完美运行,或者它们的功能受到沙盒技术的阻碍用过的。

具体来说,我计划安装 VS Code、Powershell 和 .NET,但它们似乎并不存在于官方存储库中(对于第三个版本,可能有 Mono 的替代方案,但我认为这不是最好的选择)相同的)。我尝试从 Flathub 安装 VS Code,但安装时出现警告:

此版本在容器内运行,因此无法访问主机系统上的 SDK!

此外,似乎不支持在沙箱外运行 flatpak,并且似乎没有任何适用于 powershell 或 .NET 的 flatpak 或 apt 包。

那么,哪个是我最好的选择?

  1. 我是否应该将此软件直接安装到操作系统中,尽管这可能会改变某些可能导致问题的库版本?
  2. 我是否应该尝试使用 Flatpak 进行工作,无论这看起来多么不可能?
  3. 也许我应该尝试一下 snap,它似乎允许在没有沙箱的情况下安装,尽管 Debian 社区/作者倾向于 flatpaks?
  4. 也许再次尝试一些虚拟化技术(例如,在 VirtualBox VM 中运行另一个 Linux 发行版,并且不关心它被破坏)?

还有一个问题:

为什么这个软件(.NET、PowerShell、VS Code 等)不属于官方存储库?据我所知,它们是开源的。是否存在一些许可不兼容的情况?

答案1

apt.NET 和 VS Code由 Microsoft在存储库中提供;看VS Code 的安装说明.NET 的。 PowerShell 可用于 Debian 9 和 10,但尚不支持 11;看相应的安装说明

与存储库相关的主要风险有两个:

  1. 非官方存储库可能提供与您的系统不匹配的软件包;这是 FrankenDebian 所描述的那种设置,在这里不是问题(Microsoft 提供了专门与不同 Debian 版本匹配的存储库)。

  2. 非官方存储库可能不值得信赖。在这种情况下,由于您已经通过运行 Microsoft 的软件来信任 Microsoft,因此即使您也使用他们的存储库,风险也不会更大。它们可能是与存储库被劫持的可能性相关的可信度风险,但在这种情况下,对我来说这似乎也很低。

您还可以使用apt固定来绝对确保只有您想要安装的软件包实际上是从第三方存储库安装的;看Debian 维基了解详情。

答案2

如果您担心 vscode 与 Debian 系统的交互,Snap 安装可能是正确的方法:

https://wiki.debian.org/VisualStudioCode

sudo snap install powershell --classic

https://docs.microsoft.com/fr-fr/dotnet/core/install/linux-snap

相关内容