过去八年来,我一直在使用 Linux 和 Windows,我觉得在安装软件时,Linux 的依赖性问题比 Windows 要多得多。我更喜欢 Linux,而不是 Windows,但由于这个问题,我经常被迫使用 Windows。
答案1
Linux 依靠社区主导的开发来保持最新状态,而 Windows 依靠微软的付费开发人员来推出补丁并测试、调试和修复专有代码。
以音频驱动程序为例。很少有音频设备制造商为 Linux 开发原生驱动程序,即使有,也只为一个或两个发行版开发。Linux 是一种开源操作系统,这意味着它周围的社区可以选择该音频驱动程序并将其移植到其他发行版(这种情况经常发生,也是 Linux 带来的主要优势之一),但结果是,该音频驱动程序端口可能依赖于其他库、引擎、框架版本等。与商业开发人员不同,开源开发人员没有在通用系统上进行测试的奢侈,因此依赖关系是环境的主要部分。
答案2
Linux 和 Windows 在支持依赖项的方式上通常有所不同。
例如,微软被指责为“过度膨胀的软件”,因为微软将几乎所有东西都打包成核心操作系统作为更新。
这意味着更多的事情可以顺利进行,而无需最终用户或安装 Windows 机器的企业进行任何干预。
Linux 因发行版而异,安装包也因软件包而异,但操作系统通常设计为仅使用“必需”软件和驱动程序来运行。一个发行版中的驱动程序可能不在另一个发行版中,例如无线 NIC 驱动程序或某些软件。
一个很好的例子就是比较 Ubuntu 和 Arch 的安装过程。
Ubuntu 或多或少采用了 Windows 的方法,Ubuntu 版本认为您可能需要的所有内容都在安装盘中,包括 Office 应用程序。而 Arch 只附带最基本的软件和驱动程序,需要用户自己寻找、打包和安装软件或驱动程序。