为什么您应该将所有内容从Linux迁移到BSD

2021-01-28 22:08:54

过去,我一直是根据技术优点选择操作系统和工具的最爱。但是,在当今微软,苹果,谷歌和许多其他公司这样的公司世界中,损害用户隐私并开展有争议的活动,我不认为这是正确的选择。

诸如Microsoft Windows 10,Apple MacOS和Google Android之类的专有操作系统因其不良行为而闻名,甚至像Lenovo这样的公司也正在使用UEFI引导注入自定义Windows组件,以便该系统可以向Lenovo打电话。

由于所有这些,很长一段时间以来,我一直是诸如GNU / Linux和BSD之类的开源替代方案的支持者。不仅如此,我还相信开源替代品在许多技术领域要好得多。

我也一直非常反对关于BSD与Linux的典型讨论,正如我当时在文章中所写的那样,我始终相信不同的开源项目可以互相帮助并进行善意的合作,最终用户应该仅从技术角度而不是个人喜好辩论此类问题。

只要有可能,我都建议私人和行业人士将他们使用的操作系统更改为开放源替代品,并且当人们接受我的拥护时,我已经帮助他们从工作站上的Microsoft Windows迁移到Linux Mint,Xubuntu或Debian GNU / Linux之类的东西。在服务器端,我同时使用了BSD和GNU / Linux。这是一次成功的尝试,老实说,我从未经历过一个不满意的人。

但是,随着越来越多的公司希望控制项目的方向,GNU / Linux领域的情况开始发生变化。由于GNU / Linux作为操作系统的结构和组织,很不幸,它很容易受到这些影响,尽管它仍然是开源的,并且仍不接近专有替代方案所带来的不利影响,但有些人选择输出功能已慢慢引入内核和systemd中。

您仍然可以选择退出这些功能并以自己的方式去做,但是作为开源狂热者和拥护者以及与隐私相关的个人,也许更好的方法是将系统迁移到您不希望使用的系统上。必须与" creepware"联系。

作为系统管理员,我不想担心下次升级系统时是否会感到惊讶,并且我不想保留我必须记住要选择的事项清单:每当我运行这些系统之一时,就不会出现这种情况。

一些Linux发行版已经决定(不仅是由于隐私退出问题,而且还因为其他问题)决定实施除systemd以外的其他初始化解决方案,但是随着内核开发的发展,以及许多第三方应用程序越来越多。取决于systemd,问题正在蔓延到系统的其他部分,我相信这将成为一场艰巨的战斗。

我不相信GNU / Linux的未来看起来也和过去一样光明,作为一种可能的替代解决方案,我建议(如果可能)将所有内容迁移到更合理的地方,例如BSD项目。

1983年,Richard Stallman宣布打算用Usenet消息开始对GNU项目进行编码。到1987年6月,该项目已经为汇编器,几乎完成的便携式优化C编译器(GCC),编辑器(GNU Emacs)和各种Unix实用程序(例如ls,grep,awk,制造和ld。

1991年,Linux内核出现了,由Linus Torvalds在GNU项目外部开发,并于1992年12月在GNU通用公共许可证的版本2中提供。结合由GNU项目已经开发的操作系统实用程序,它成为了GNU / Linux操作系统,更好地被称为" Linux"。

然后是Linux发行版。不同的项目采用Linux内核,GNU工具和库,附加的第三方软件,文档,X Window系统,窗口管理器和桌面环境,并将这些组件组合到发行版中。不同的发行版针对不同的目标,某些发行版针对台式机,而其他发行版主要针对服务器,还有一些发行版试图提供一种多功能操作系统。

过去,开放源代码爱好者开发的所有这些不同组件和项目以及对编程和开放源代码的热情是推动力。

Linus Torvalds多次明确表示他不关心Linux世界中发生的一切,他所关心的只是内核开发,而在2020年1月6日, "主持的讨论" Linus Torvalds在realworldtech.com的一个论坛上,用绝对令人jaw舌的评论回答了用户的问题,该问题涉及对ZFS on Linux项目产生重大影响的一年之久的内核维护争议。

在回答了用户的实际问题之后,Torvalds继续对ZFS文件系统提出非常错误且具有破坏性的声明。托瓦尔兹说:

通过这种说法,Linus Torvalds将世界上最强大,最流行的文件系统之一的开发工作缩减了15年以上,成为了一个“流行语”!

ZFS被描述为"文件系统中的最后一个词"。它是最初由Sun Microsystems设计的文件系统和逻辑卷管理器的组合。 ZFS是一个稳定,快速,安全和面向未来的文件系统。它具有可扩展性,并包括防止数据损坏的广泛保护,对高存储容量的支持,最大16艾字节的文件大小以及最大256个Quadrillion Zettabytes存储,而文件系统(数据集)或文件的数量不受限制,高效的数据压缩,快照复制和克隆复制,连续完整性检查和自动修复,RAID-Z,本机NFSv4 ACL,并且可以进行非常精确的配置。

Oracle和OpenZFS项目的两个主要实现极为相似,从而使ZFS在类Unix系统中广泛可用。

如Wikipedia文章所述,OpenZFS是一个伞形项目,旨在将使用ZFS文件系统的个人和公司召集在一起,并致力于其改进,并旨在以开放源代码方式更广泛地使用和开发ZFS。 OpenZFS汇集了来自illumos,Linux,FreeBSD和macOS平台的开发人员以及众多公司。该项目的高层目标包括提高对ZFS开源实现的质量,实用性和可用性的认识,鼓励就正在进行的改进ZFS开源变体的努力进行公开交流,并确保所有人的一致可靠性,功能和性能。 ZFS的发行版。

Linux上的OpenZFS是该项目的Linux部分,目前有345个活跃的贡献者,提供5.600多个提交,并且几乎每天都在进行提交!

一些世界上最大的CDN和数据存储服务在FreeBSD或Linux上运行ZFS!

在另一种情况下,Linus Torvalds接受了有关TFiR的采访:开放源代码和新兴技术YouTube频道,有关台式机上Linux的内容,他在其中发表了令人惊讶的声明,称Linux仍未准备好用于台式机,而Chrome OS可能是解决该问题的方法。

Linus Torvalds的这些以及其他许多陈述表明,Torvalds应该避免对自己不熟悉的项目进行权威性陈述,但是更重要的是,它们还表明Linux作为操作系统没有真正的方向,也没有明确的管理方法,因为内核开发是与其他Linux世界隔离进行。

莱纳斯·托瓦尔兹(Linus Torvalds)通常对公司利益的快速影响持开放态度,他对安全性的看法也令人担忧。

我们变得肿而庞大。是的,这是个问题。。。呃,我很想说我们有一个计划。。。我的意思是,有时候,我们绝对不是精简,细小,过度的人,这让人有些伤心。我在15年前设想的高效内核...内核庞大且ated肿,我们的icache占用空间令人恐惧。我的意思是,毫无疑问。每当我们添加新功能时,情况只会变得更糟。

在LinuxCon 2014上,他说他认为he肿的状况会更好,因为现代PC的速度要快得多!

在过去的20年中,我们一直在膨胀内核,但是硬件的增长速度更快。

当软件肿时,它不仅变得更加不安全且更容易出错,而且速度也变慢了很多。认为问题会因为硬件变得更快而消失,这是不成熟的态度。在当今时代,我们需要优化软件,以减少所需的电源,我们需要节省电源并限制污染。

如果内核开发和Linux有任何大问题,那就是开发过程与普通用户完全脱节了。您知道,这些人占Linux用户基础的99.9%。 Linux内核邮件列表是与内核开发人员进行通信的方式。简而言之,Linux内核邮件列表(lkml)与即将来临的交流论坛一样可怕。大多数人对邮寄清单绝对感到恐惧,以免因自己的经验不足,错误的错误报告,愚蠢或其他原因而被炒鱿鱼。 ……我认为内核开发人员总体上还没有最模糊的想法,那就是用户空间中的问题有多大。

除了上述问题之外,事实是Linux是由来自不同项目的许多彼此独立的应用程序组合而成的。如果您对此一无所知,应该看看如何从头开始构建Linux。

另一个证明这些问题的好书是Linux维护错误:不推荐使用Linux上的ifconfig的真正原因。

这与BSD的单独项目有很大不同,也就是说,FreeBSD,OpenBSD,NetBSD和DragonFly BSD都是独立的项目,可以将其系统“内部”组合在一起。内核,标准C库,用户登陆工具等都是操作系统基本系统的一部分,而不是由许多不同的外部来源组合而成的。

Linux发行版是由不同群体编写的工具的集合,通常具有不同的利益和优先级,并且由于GNU / Linux操作系统的这种零散的结构,整个项目在获得控制后迅速失控。由商业利益推动。

即使是仍然由开放源代码爱好者驱动的最佳GNU / Linux发行版(如Debian GNU / Linux和Arch Linux)也无法幸免,因为它们仍然严重依赖零散的工具。

在我的文章systemd背后的真正动机上,我曾写过关于开发systemd的主要原因是Red Hat对嵌入式设备的兴趣。最初systemd是作为新的init系统发布的,但后来逐渐发展为Poettering所描述的"套件,该套件为Linux操作系统提供了基本的构建基块。这是设计使然,而不是巧合。

我们与世界上最大的嵌入式供应商合作,尤其是在稳定性和可靠性是第一位的电信和汽车行业。他们很容易适应systemd。

我没有反对systemd作为管理工具,相反,我非常喜欢它,甚至我都喜欢它附带的几个工具,但是systemd的主要问题是它的持续开发是由公司推动的。的经济利益,而不是开源社区的利益。因此,在我的拙见中,主要的Linux发行版(例如Debian GNU / Linux和Arch Linux)采用systemd是一个很大的错误。他们已经严重依赖systemd。

谷歌是Linux世界上另一个重要的影响者。 Google已经开发了Android和Chrome OS,两者都是基于Linux内核的操作系统。 Chrome操作系统派生自Chromium操作系统,并使用Google Chrome浏览器作为其主要用户界面。

Chrome OS被视为Microsoft的竞争者,直接与Microsoft Windows竞争,也与Microsoft的文字处理和电子表格应用程序间接竞争,后者是通过Chrome OS对云计算的依赖而获得的。这是Chrome操作系统的核心问题之一,它是在很大程度上依赖于Google的云基础架构而构建的。

Google已成为最具争议的公司之一。实质上,谷歌是一家广告公司,它以对搜索结果的处理和出色的用户跟踪功能而闻名,这主要归功于网络开发人员愚蠢地将Google Analytics(分析)添加到其网站中。

在Linus Tech Tips于2019年8月发布的YouTube视频中,Linus Sebastian演示了互联网跟踪的工作原理以及它如何影响您在搜索产品时所提供的价格。请注意:该视频是由Private Internet Access赞助的,该公司后来被Kape Technologies收购,该公司以通过其软件发送恶意软件而闻名,并且总体上看起来很傻。不要使用私人互联网访问!

Cloudflare是另一家美国Web基础设施和网站公司,正在影响Linux的发展。该公司提供的服务实际上位于网站的访问者和Cloudflare用户的托管提供商之间,充当网站的反向代理。因此,Cloudflare已成为Internet上最大的癌症之一。

systemd和Mozilla都设法将Cloudflare集成到其产品的核心中。 systemd已在systemd-resolved中选择退出,集成了Cloudflare和Google的DNS服务器,并且Mozilla在Firefox中通过HTTPS将其DNS默认为Cloudflare。

即使Mozilla Firefox不是Linux项目,它仍然是不同Linux发行版上使用最广泛的浏览器之一,并且当Mozilla犯了在Firefox中通过HTTPS集成DNS的重大错误时,更不用说使用Cloudflare了,他们正在设置一个非常糟糕的优先级。通过HTTPS进行的DNS本身已经足够糟糕,并且有充分的理由受到高度批评,但是通过将其与有争议的公司如Cloudflare结合起来,情况就更糟了。由于使用了Cloudflare服务,因此OpenBSD在其Firefox版本中默认禁用了HTTPS上的DNS。

劫持这个词可能太强了,但是在Red Hat通过systemd的影响下,他们设法将GNU / Linux作为操作系统的方向引向了与许多系统管理员和用户想要看到的方向相矛盾的方向。

首先,我要说的不是字面上的意思。从系统管理和编码的角度来看,我在这里谈论的是设计和开发决策。

与Linux发行版相反,伯克利软件发行版(BSD)并不是一个零散的项目。 BSD项目维护整个操作系统,而不仅仅是内核。

BSD是基于Research Unix的操作系统,由加利福尼亚大学伯克利分校的计算机系统研究小组(CSRG)开发和分发。今天," BSD"指其后代,例如FreeBSD,OpenBSD,NetBSD和DragonFly BSD。这些项目是真正的操作系统,不仅是内核,而且不是" distributions"。

Linux发行版(例如Debian GNU / Linux和Arch Linux)必须将创建完整Linux操作系统所需的所有软件整合在一起。他们需要Linux内核,GNU工具和库,一个init系统以及一些第三方应用程序才能最终运行正常的操作系统。

相反,如前所述,BSD既是内核又是完整的操作系统。例如,FreeBSD提供了FreeBSD内核和FreeBSD操作系统。它作为单个项目维护。

没有人或公司拥有BSD。它是由遍布全球的技术和奉献精神的社区创建和分发的。

公司还使用BSD并为BSD做出贡献,但是与Linux相反,公司不能“劫持”。 BSD。公司可以制作自己的BSD版本,例如Sony Computer Entertainment已为其PlayStation 3,PlayStation 4和PlayStation Vita游戏机制作了BSD,但是由于BSD是完整的操作系统,并且每个Open BSD项目都是由Open维护和开发的,因此BSD项目是真正的,真正的独立的发烧友,而不是像Red Hat这样的公司。

由于这种组织结构,无论您选择哪种BSD项目,您通常都不会在基本安装中发现疯狂的退出设置,也找不到集成到操作系统组件中的损害隐私的解决方案。 。相反,由于这些项目是由非常关心操作系统设计,安全性和隐私的熟练和热情的人开发和驱动的,因此您常常会发现,即使可以使用程序包管理器安装的第三方软件也已获得补丁。这样就不存在这些问题,例如如上所述,OpenBSD通过HTTPS禁用DNS。

所有这一切的另一个巨大好处是,围绕BSD项目的社区由经验丰富,乐于助人且(大多)善良的人组成。 FreeBSD社区特别友善且乐于助人。

Linux GPL许可证对开发人员更加严格,它是一种开源反模式,因为它强制发布所有已修改的源代码并阻止其他开源项目的集成,例如,GPLv2阻止了DTrace和Linux中的ZFS。

另一方面,BSD开发人员没有这样的限制。制造商在创建新设备而不是Linux时可能会选择BSD作为他们选择的操作系统。这将允许他们保留自己的代码修改。使用Linux,许可证强制将源代码发布给公众。

GPL许可听起来可能更好,因为为什么我们应该允许公司简单地“窃取”我们的开放源代码,并在此基础上生产封闭源产品而没有任何回报。但这不是那么简单。通过强迫公司向公众发布源代码,原始开发人员可能会拒绝此类代码,这又使公司更具操纵性。

红帽随systemd发行而部署的策略是试图获得尽可能多的“重要”信息。第三方计划与systemd紧密合作,甚至依赖systemd。这样,由于这些第三方项目的轻松集成,其他Linux发行版更容易被说服采用systemd。系统的开发人员处理了多个第三方项目,并试图说服他们使他们的项目依赖于系统,例如Lennart Poettering在Gnome邮件列表上所做的尝试,以及Red Hat开发人员" keszybz&# 34;在tmux项目上。这些尝试大多数都是“伪装”的。作为技术问题,但是,当您在Gnome邮件列表和其他地方阅读较长的电子邮件时,真正的意图就变得很清楚。

在BSD中不需要这种操作。公司可以自由地使用BSD做任何他们想做的事情,因此,他们不需要尝试影响事情的发展方式。如果不是这种情况,我们可能会看到例如索尼

......