在上个千年的最后一个十年里,我搬出了父母家,和我女朋友住进了一间小公寓。我不仅离开了神奇的自动续满冰箱的舒适生活,还留下了一个计算机网络,它突然要经受我妈妈、爸爸和妹妹每天甚至富有创造性的使用,并且在我不在的情况下持续数月。经过一番温和的劝说,我的女朋友不仅从 Windows 切换到了 Linux,还成为了我的未婚妻。我离开了研究生院,找到了一份真正的工作,这让我更没有时间去摆弄我的——呃,我们的——网络,更不用说我父母的电脑了。我的未婚妻成为了我的妻子,我们离开了公寓,搬进了一栋小房子,然后我发现自己花在换尿布上的时间比摆弄软盘的时间还多。
换句话说,在某个时候,我变成了大人。
据说,最好的事情也会发生在我们身上,而且好处不仅仅是事实上无限量的冰淇淋预算。然而,拥有世界上所有的时间来保持计算机运行并不是其中之一。我需要为我负责的系统建立某种设置,这种设置需要
易于管理。 我没有时间在三台不同的机器上做同样的事情,或者弄清楚哪台机器需要哪个补丁。理想情况下,我只需要照顾每个网络中的一台计算机,而且频率很低。有些计算机应该在数月内根本不需要任何维护。
经济实惠。 我的硬件预算现在要与房屋贷款、食品账单以及女儿似乎比我们购买衣服的速度还要快的衣服费用竞争。以更少的资源完成更多的工作不仅仅是一项智力挑战,而是一种迫切的需要。
易于安全。 网络的结构本身应该使外部人员更难作恶,而且,更重要的是,让我能够轻松创建一个安全的“锁定”状态,在这种状态下,威胁会降到最低,直到我找到时间来修补漏洞。
经过几年的试验和错误,以及在半夜摇晃尖叫的婴儿时花费大量时间思考如何设置计算机,我创建了一个“标准”设置。这不是一个非常聪明或巧妙的做法,而且可能已经有成千上万的系统以完全相同的方式组织起来。本文的目的是以连贯的形式呈现这种设置,以便其他人在面临同样的问题时不必重新发明轮子。
如今,大多数台式计算机对于它们大部分时间所做的事情来说都过于强大:电子邮件、上网和文本处理,或许还听听音乐。除非您仍然在使用 66 MHz 的 486DX,否则即使您的处理器同时执行所有这些操作,它也可能无聊到极点。检查任何显示系统负载的程序——例如xload, top,或者uptime——您就会看到您昂贵的硬件有多少在忙着无所事事。
有了所有这些剩余资源,从技术上讲,没有理由不能让多人同时使用计算机。对于今天的绝大多数家庭用户来说,这个概念似乎很奇怪甚至完全陌生,这在很大程度上要归功于微软“每台桌子上都有一台计算机”的理念以及硬件公司广告宣传活动的暗示,即如果您没有自己超强的电脑放在桌子下,您在性方面就不足,等等。
硬件和软件公司不喜欢多用户设置是有充分的商业理由的。即使您必须升级中央机器,您也需要比每个人都拥有自己的计算机更少的高质量硬件;如果四个人可以同时使用一台 Windows 机器,那么微软就会少赚三份拷贝的钱。如果您只是在一台机器上而不是在四台机器上安装 Linux,您显然不会省钱,但您的硬件成本和管理时间会下降。
当然,除了大公司广告的压力之外,很少有人拥有多用户设置还有其他原因。其中之一是电脑游戏:许多游戏消耗大量硬件,以至于多用户系统通常不是最好的主意。而且,直到不久之前,实际上还没有简单的方法让多个人登录,因为大多数台式电脑只配备一个键盘、一个鼠标和一个显示器。这种情况已经改变:您现在可以轻松且经济地创建廉价且可靠的图形终端(也称为瘦客户端)。这使我们能够用一台大型机器和几台小型机器来解决问题。最后但并非最不重要的一点是,共享一台机器意味着您必须表现得体并与其他用户相处。
简而言之,本文是关于集中小型计算机系统以节省时间和金钱。大型机供应商 IBM 希望我们相信,这正是大型企业也在做的事情。他们说,既然服务器狂热的时代已经结束,公司正在将东西搬回那些大型机上。由于越来越多的大型机运行的 Linux 与您在家中使用的 Linux 大致相同,因此真正的服务器与您的计算机之间的唯一区别只是一些硬件。至少几十万美元的硬件,这是肯定的,但这并不意味着您不能使用相同的设计原则并享受“小型”大型机——如果您愿意,可以称之为“模拟”大型机——的好处。
基本设置有三个部分
模拟大型机。唯一的核心机器。所有用户都可以访问这台计算机,无论是坐在它前面还是(更可能)通过终端,他们可以同时这样做。在最简单的设置中,这台机器是所有用户的家,保存所有文件,并运行所有程序。
终端。 用户实际接触的东西。廉价、易于维护且可消耗,它们可以是双启动机器、Linux 终端、瘦客户端,甚至用于其他操作系统的 X Window 服务器程序。
支持机器。 可选的计算机,执行特殊的任务,由于安全或性能原因,您宁愿不在模拟大型机上执行这些任务。最常见的支持机器是处理互联网连接的“守护者”。
本文的某些部分将涉及安装软件,这些软件在其他 Linux HOWTO 中有更详细的介绍。在仅仅参考这些文本和复制所有内容这两种极端之间,我决定简要描述一下标准系统上的安装过程。您将大致了解需要做什么,但对于细节,您将需要专门的文本。这确实意味着有很多大量的参考文献,但这只是表明我在这里站在巨人的肩膀上。
(许多好心人建议了各种将基本思想与 VNC 结合使用的方法。在阅读了他们的解释并研究了文档后,我意识到我对此过于外行,无法给出明智的建议。这将是本文档的下一任维护者的第一个项目。)
模拟大型机设置并非适合所有人。它基于以下假设
一小群用户。 虽然它应该可以很好地从家庭设置扩展到至少一个教室的人(取决于硬件和使用的程序),但这不适合用于运营大学或财富 500 强公司。如果您是孤身一人,它也没有多大意义。去找个人同住,然后继续阅读。
合理的系统负载。 除非您真的、真的可以为严肃的硬件花很多钱(在这种情况下,您可能不应该寻找模拟大型机),否则这不是一个您应该让您的孩子玩 Quake 3,而您同时编码 Ogg Vorbis 文件,而您的伴侣正在观看 DVD 的设置。它主要为电子邮件、浏览、聊天和文本处理等普通工作负载而设计。
一定的停机时间容忍度。 我们将使用标准的、现成的、家庭用户级的硬件。这些部件不是为企业级强度工作而制造的,迟早会发生故障或失效。如果您所做的任何事情紧急需要接近 24/7 的正常运行时间,您将不得不出去购买工业级强度的硬件——并记住让某人以书面形式保证该正常运行时间。
以下是一些模拟大型机可能适用的示例
您有一个电子邮件、上网和聊天狂热的家庭,他们都想同时在线,但在在线时不会使用大量资源。
您有一个小型的、封闭的教学系统,该系统不能昂贵或花费太多时间来管理。
您和您的宿舍伙伴每个人都有那些高性能计算机,可以互相用电脑游戏击败对方,但不想为了做一些像实际课程作业这样琐碎的事情而费力地在每台计算机上安装严肃的 Linux 系统。
您的组织绝对没有钱,您能获得的唯一硬件是如此老旧的东西,它甚至不再具有废品价值,但您仍然必须为您的员工提供计算机访问权限。
(如果您发现了其他此设置适用的情况,请告诉我。)