在安装过程中,我可以勾选安装用于图形和 Wi-Fi 硬件以及其他媒体格式的第三方软件。[...] 有些是专有的。我认为可能有一些驱动程序是专有的。此外,如果我手动安装应用程序,可能会有一些不是开源的。
但是,Ubuntu 20.04 的哪些其他部分默认是专有的?
答案1
常见 Linux 发行版的内核不可避免地包含一些用于硬件驱动程序的专有二进制“blob”。如果没有这些“blob”,Linux 对硬件的支持将比现在更加受限。
除此之外,大多数 Linux 发行版中的专有软件非常有限。Ubuntu 默认不安装专有应用程序。但是,它通过软件中心或 Snap Store 提供专有软件,并且可以提供安装显卡或调制解调器的其他专有驱动程序。因此,如果您担心这一点,您需要在安装其他软件之前了解软件许可证。
答案2
Ubuntu 软件包分为四类成分基于两个属性:核心“完全支持”与其他“按原样”提供的软件包;免费与专有软件。“主”是完全支持和免费的,“受限”是完全支持和专有的,“宇宙”是按原样和免费的,“多元宇宙”是按原样和专有的。默认情况下,Ubuntu 仅启用“主”组件中的软件包。如果勾选此复选框,“受限”组件也会启用。您可以在安装后启用“宇宙”和“多元宇宙”。安装过程中会询问您有关“受限”的信息,因为您的硬件可能需要专有驱动程序,如果没有专有驱动程序,安装将无法进行。
以下是查找组件中的包列表的几种方法。
在 Ubuntu 网站上,每个版本和部分都有软件包列表,例如20.04 管理实用程序。如果组件不是“主要”,则会用括号括起来,因此您可以搜索例如[restricted]
。
您还可以阅读完整的软件包列表(例如20.04),如果不是“main”,则再次用括号括住组件。还有一个包含更多信息的软件包列表,包括软件包描述(这实际上是软件包管理器用来了解哪些软件包可用、它们的依赖关系等的列表),并且这个列表按组件排序,例如20.04 仅限 64 位 PC。
当然,并非所有这些软件包都是默认安装的。我找不到方便的列表默认安装的软件包. 清单(例如20.04 桌面版) 列出的内容远多于默认安装的内容,但似乎不包括受限制的软件。我认为最终安装的内容取决于您的硬件。
在您自己的 Ubuntu 机器上,如果您启用了某个组件,则可以在 eg 上阅读软件包列表/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_focal_restricted_binary-amd64_Packages
(根据您的下载镜像站点、版本、组件和处理器架构进行调整)。使用 aptitude,您可以使用 eg 列出某个组件中已安装的软件包
aptitude search '~srestricted ~i'
要列出可用的包而不仅仅是已安装的包,请删除~i
。
答案3
Ubuntu 所基于的内核将包含固件 blob。这些是硬件运行所必需的。
但是,Ubuntu 20.04 的哪些其他部分默认是专有的?
没有,因为 Canonical 不会“付费”将软件包含在默认存储库中。此类软件必须包含在与“主”存储库不同的存储库中。
在安装 Ubuntu 期间,您需要自己确认所有专有选项,并且这些选项都是附加的。自 20.04 起,安装盘上就有 nVidia 驱动程序的固件 blob,但正如您自己提到的那样,默认情况下不会安装这些固件 blob。此外,这些是专有的,除了为了赚钱之外还有另一个原因:它们实际上是为了防止人们复制代码。
稍微扩展一下:Canonical 需要为安装程序上的任何专有软件付费。要么支付许可费,要么签署限制使用的法律协议,以换取不被起诉。nVidia blob 位于安装程序上,因为 nVidia 同意不起诉 Linux(一般情况下)。内核中的所有 blob 也是如此。
如果默认安装任何专有软件且没有支付许可证或没有相关协议,Canonical 将被起诉。