热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

为什么linux中有两个系统软件,为什么应该将Linux系统“一分为二”

过去几十年来,微软一直针对桌面与服务器两类工作负载发布完全独立的操作系统方案。诚然,二者共享一部分代码内容,但用户绝不可能单纯通过安装一部

过去几十年来,微软一直针对桌面与服务器两类工作负载发布完全独立的操作系统方案。诚然,二者共享一部分代码内容,但用户绝不可能单纯通过安装一部分软件包并摒弃另一部分软件包的方式直接将Windows 7系统转化为Windows Server 2008 R2系统。桌面与服务器本身就完全不同,整个技术业界也一直秉持着与微软相同的打理方式。

当然,这种状况并没能阻止一部分开发人员将服务器工作负载交由Windows XP系统加以处理的尝试与怀疑性态度,但从宏观角度来看、桌面系统与服务器系统之间的差异是显著而且真实存在的。然而在Linux领域,这种界线则一直非常模糊。

b587f47f56c5bfa2f9de7596aeb5c588.png

大家可以选择任何一套Linux发行版并在安装后将其作为服务器操作系统,也能够随时根据需要安装并卸载其中部分软件包再将其转化为适用于工作站设备的桌面版本。整体而言,操作系统内核依然如故、而可靠性与性能表现也几乎没有区别—当然,前提是大家能够以正确的方式对系统进行调整。虽然看起来没有什么问题,但这两类工作负载实在区别明显,而且随着计算能力的不断提升、两类工作负载的具体状况也在朝着不同方向进一步偏离。

也许现在是时候将Linux拆分为二了。

我们看到很多类似于嵌合体般的操作系统费尽心力在充当服务器系统的同时,又得准备好让那些突发奇想的用户将其作为桌面系统使用。此类情况出现得越多,我们就越是希望能把这两类使用方式区分开来。大家可以在自己的笔记本或者64路服务器上运行同一套Debian Jessie系统—这样做到底有何必要?集中所有精力顾好一方面难道不是更有意义吗?

如果大家利用systemd将所有Linux系统发行版统一起来,那么它们彼此之间的区别将变得非常细微—仅存的差异可能只体现在软件包管理器以及文件系统布局等方面。姑且不论将Linux桌面系统作为独立业务线所带来的巨大风险,如果能让一部分Linux发行版专注于解决桌面类型负载、再让另一部分重点打理服务器类型负载,这样的结果难道不是更好?当然,Ubuntu及其它少数发行版已经开始提供“服务器”与“桌面系统”两类版本,或者在安装时准备更多方案供用户选择,但事实上二者之间的惟一区别就是所安装软件包的不同。在目前的大多数发行版当中,两类方案的内核甚至完全一致;没错,二者被硬性合而为一。

随着大人气游戏框架Steam发布Linux版本,我们开始感受到一部分对计算机游戏及计算机通用技术抱有浓厚兴趣的家伙在努力把桌面Linux系统独立出来。他们至少开始尝试对Linux的桌面特性以前所未有的方式加以强调,并且在一定程度上取得了成功。

然而他们同时也要求这些以桌面系统为核心的工作负载拥有更为出色的性能表现、特别是在图形处理方面,而且希望每款独立应用程序的处理负载对磁盘及网络I/O的要求得到缩减—这种处理思路与在服务器上一味追求高I/O与多线程处理效果的业务负载完全不同。如果想让Linux在桌面领域实现市场份额方面的突破,那么此类需求必须得到满足、而且内核也需要与服务器系统版本划分出更为明确的界线。

要实现以上提及的全部目标,新的系统版本需要在硬件支持能力、外部设备支持能力、电源管理以及其它各大桌面系统考量重点当中有所建树,而这又会使桌面与服务器两类发行版走向更为相背的两条发展道路。此外,我敢打赌,运行在虚拟机环境下的Linux服务器系统数量与运行在桌面系统中的数量相比,前者规模可达后者的数十倍乃至上百倍。在对发行版进行开发与调整时,这也应当被视为一种完全不同的使用场景并加以考量。

话说回来,Linux真的有能力实现这一切吗?答案是肯定的。那我们又能否让每一套Linux发行版都拥有开箱即用的各类支持能力?可能,非常有可能。目前以Mint为代表的、专注于桌面方向的发行版已经出现,而以Gentoo与Debian(特指某一部分Debian版本,至少是在systemd出现之前)为代表的部分发行版也开始将重点转移到服务器方向。虽然它们还没有完全迈出单一指向这决定性的步伐,但至少已经在两类关键性工作负载类型中作出了自己的选择或者说倾向性。没错,我们很难将RHEL 7视为一套真正的以服务器为核心的发行版,因为其中仍然掺杂有systemd以及面向桌面环境的软件包,但至少能够肯定的是它并不属于真正的桌面系统。从许多方面来看,RHEL 7走的仍是一条两手抓、两手都要硬的中间道路。

目前业界对于systemd的抗拒情绪非常强烈,适时推出一套主流Linux发行版的fork将systemd与GNOME依赖性彻底清理出去、并在忽略桌面支持能力的同时为用户提供一套更为传统且稳定的服务器平台已经成为当务之急。在Linux发行版的树状开发图形当中,我们真的不应该把时间浪费在为偏向服务器环境的版本提供数百上千桌面软件包的管理与支持能力,也没必要把数不胜数的外部设备及显卡驱动程序纳入考量范围(举例来说,RHEL 6.3就提供57款xorg开源DirectX驱动程序)。

安全问题同样值得关注。在桌面系统与服务器系统当中,对于安全问题的考量方式及权重存在巨大差别—事实上,不同类型的服务器之间对于安全事务的要求也有所区别,具体情况取决于每台服务器所负载的业务内容。不过我们几乎可以肯定地说,对于Memcached服务器而言、针对点击恶意网页实施恶意软件防护绝对不可能在安全威胁优先列表中占据一席之地。

相信大家跟我一样、都已经意识到用户对于桌面Linux版本在改善使用体验方面所提出的要求,其中包括引入更多外部硬件支持能力、改进图形处理性能、强化声音表现、缩短启动时间以及降低维护与管理的难度等等。这些对于桌面层级的关注只适用于桌面发行版,如果吸取意见并加以实施能够确切实现上述目标,那么我们没有理由对此加以抗拒。然而,同样的关注重点在服务器级别的系统当中显然没有立足之地或者说加以考量的理由。这种朝令夕改的频繁变动只会给系统本身带来短视与危险等弊端。

打造专有以及经过针对性调整的服务器发行版显然是个很好的主意—无论是否将systemd引入其中。而如果技术业界能够以此为前导,创建出一套足以迈入主流行列且仅适用于服务器环境的Linux发行版、并继续像过去四十五年那样坚持承继源自Unix的各项优良传统作为固有基因,那么我们无疑会为这样的成就和魄力拍手叫好。换言之,能有这样的成果,也代表着我们对于systemd的热烈讨论并不是在浪费唇舌。

0b1331709591d260c1c78e86d0c51c18.png



推荐阅读
  • SecureCRT是一款功能强大的终端仿真软件,支持SSH1和SSH2协议,适用于在Windows环境下高效连接和管理Linux服务器。该工具不仅提供了稳定的连接性能,还具备丰富的配置选项,能够满足不同用户的需求。通过SecureCRT,用户可以轻松实现对远程Linux系统的安全访问和操作。 ... [详细]
  • HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送www方式的数据。HTTP协议采用了请求响应模型。客服端向服务器发送一 ... [详细]
  • 技术日志:Ansible的安装及模块管理详解 ... [详细]
  • 在将Web服务器和MySQL服务器分离的情况下,是否需要在Web服务器上安装MySQL?如果安装了MySQL,如何解决PHP连接MySQL服务器时出现的连接失败问题? ... [详细]
  • Linux下MySQL 8.0.28安装指南
    本文详细介绍了在Linux系统上安装MySQL 8.0.28的步骤,包括下载数据库、解压数据包、安装必要组件和启动MySQL服务。 ... [详细]
  • 本文介绍了 Linux 系统中用于定期执行任务的 cron 服务及其配置方法。通过 crond 和 crontab 命令,用户可以轻松地安排系统和用户级别的周期性任务。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 性能测试中的关键监控指标与深入分析
    在软件性能测试中,关键监控指标的选取至关重要。主要目的包括:1. 评估系统的当前性能,确保其符合预期的性能标准;2. 发现软件性能瓶颈,定位潜在问题;3. 优化系统性能,提高用户体验。通过综合分析这些指标,可以全面了解系统的运行状态,为后续的性能改进提供科学依据。 ... [详细]
  • 帝国CMS中的信息归档功能详解及其重要性
    本文详细解析了帝国CMS中的信息归档功能,并探讨了其在内容管理中的重要性。通过归档功能,用户可以有效地管理和组织大量内容,提高网站的运行效率和用户体验。此外,文章还介绍了如何利用该功能进行数据备份和恢复,确保网站数据的安全性和完整性。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 如何将PHP文件上传至服务器及正确配置服务器地址 ... [详细]
  • RancherOS 是由 Rancher Labs 开发的一款专为 Docker 设计的轻量级 Linux 发行版,提供了一个全面的 Docker 运行环境。其引导镜像仅 20MB,非常适合在资源受限的环境中部署。本文将详细介绍如何在 ESXi 虚拟化平台上安装和配置 RancherOS,帮助用户快速搭建高效、稳定的容器化应用环境。 ... [详细]
author-avatar
哥这么好的人你去哪找
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有