级别: 初级 John H. Terpstra (jht@samba.org), 总裁, PrimaStasys, Inc.
2002 年 11 月 26 日 UnitedLinux 是由 SuSE、Turbolinux、Conectiva 和 SCO 这四家 Linux 供应商组成的联盟创建的,这四家供应商汇聚了各自的专长,联手推出了这个单一的、基于标准的核心 Linux 操作系统。由于主要将该操作系统设计为服务器操作系统,所以它将具有极佳的可靠性和稳定性;而且,由于构建在基于制定良好的标准上,所以它将有助于确保较高程度的软硬件兼容性,这一点一定会受到软件开发人员、集成商、硬件供应商以及客户的青睐。它实现其承诺了吗?随着本月该新 OS 投放市场,现在我们有机会更进一步地研究它。
今年年初有关方面宣布了一个大胆承诺,即将在 11 月正式发布 UnitedLinux。那么,现在是 11 月了,好消息就是承诺正在实现 — UnitedLinux 1.0 已经发布了。现在的主要问题是,它会获得接纳吗?
在 UnitedLinux 1.0 产品即将推出的前四周,我撰写了本文,那时有关该最终产品的大量外部工作已趋成熟,并逐渐成形。尽管本文是有关 UnitedLinux 的,但它采用的商业形式在四个合作伙伴 Conectiva、SCO、SuSE 和 Turbolinux 间会有相当大的差别。在 Beta 测试版和发行候选版期间,UnitedLinux 组件 CD(包含操作系统的基本组件)都是可引导的,并可控制该产品的安装。此后,由于各种事件、发放许可证的限制以及其它法律条款和安排等方面的因素,从安装程序上得到已获得许可证的确认就变成必不可少的了。所以我们决定,至少对于 SCO Linux 4.0(基于 UnitedLinux 1.0)而言,只有供应商的 CD 才能控制产品安装。因此本文基于 SCO Linux 4.0 这一产品。
每个供应商都会合并其自身“附加价值”以创建商业产品。例如,SuSE 将其产品作为 SuSE Enterprise Linux Server 8.0(基于 UnitedLinux)发布。但请记住,UnitedLinux 各个分发版上的核心组件都相同 — 这些包物理上是相同的,并且已安装的产品将被认证为 UnitedLinux 1.0。有点疑惑?如果您注意到消息“certified consistency(被证明是一致的)”的本质的话,就不会真正存在疑惑。
一点历史
完成 UnitedLinux 的整个过程要花很长时间,且充满艰辛。1999 年 11 月在拉斯维加斯举行的 Comdex 贸易展上,对统一 Linux 各个分发版做了最初的一些工作。该项目一开始就存在千头万绪,由于缺少重要组成部分,这其中的每一方面都曾使该项目一度中止,但始终存在着共同认可的一点:统一商业 Linux 平台是有意义的。2000 年年初确定了影响这次成功冒险的关键因素。随后真正困难的工作是说服每家公司参与该统一倡议,使他们相信这会给所有参与者带来净利润。
每当公司启动类似的项目时,需要让许多人信服这个项目是可行的。当行政管理层最终达成共识,认为该项目有可能成功,则说服其它相关各方的工作才刚刚开始。就 UnitedLinux 而言,必需获得每个合作伙伴公司的股东/投资方的承诺(例如,要经历困难的所有权转移)。同时,一定要获得所有主要业务伙伴的承诺和支持,这些业务伙伴包括诸如 IBM、HP、Compaq、Oracle、Intel、AMD、Borland、Progress Software、Computer Associates、Linux International、The Free Standards Group 以及其它一些公司和组织。国际金融市场出现了不断紧缩,这又使 UnitedLinux 成为成功的产品和支持组合增加了难度。
然而,最重要的是需要不断赢得全世界软件开发组织的欣赏和取得向客户交付他们想购买的应用程序的承诺。UnitedLinux 最终的成败与否将不仅取决于 UnitedLinux 合作伙伴的工作能力(这本身就是一个极其严峻的挑战),还尤其取决于开发人员如何全身心并快速地进入开发状态以及准备将应用程序部署到客户手中。
规范
在 2002 年 3 月和 4 月间,UnitedLinux 董事会任命了一个技术团队进行有关 UnitedLinux 规范集的工作。通过制作了一份特性和功能的“购买”清单,该团队满足了要求,其中分成了三类:“基本的”、“必需的”和“愿意要的”。组成联盟的四家 Linux 供应商填写了这份清单,然后每个合作伙伴依次要求主要业务伙伴、OEM、ISV 等对该产品的特性和功能提供反馈信息。
基本规范集是必需的,因为这定义了所有其它规范的入手点。其中详细讨论了每个基本组成部分,以确保第一代 UnitedLinux 从发布之日起至少可以持续两年的时间。这是由于考虑到版本 1.0 的开发和发布周期要六到八个月,而且就产品本身而言,从交付第一批产品之日起还要经过 12 个月才能流行,另外在版本 2.0 发布之后的 12 个月中还要对它提供支持。UnitedLinux 董事会就以下列表内容达成了共识:
- 内核 2.4.18 或更高版本
- glibc 2.2.5
- GCC 3.1
- XFree86 4.2
- KDE 3.0
- 符合 LSB
- 符合 OpenI18N(前身是 Li18nux)
- 符合 GB18030
另外还确定了在现实世界中其它一些企业类型的功能规范,并且还增加了一份所希望的其它特性的列表。
目前为止的情况就是这样。自 9 月中以来,UnitedLinux 一直在进行 beta 测试,这是我们的“试车”阶段。它看上去如何?SCO Linux 4.0 本身由四张 CD 组成:一张 SCO 引导/安装 CD、两张二进制 UnitedLinux CD 以及一张源代码 CD。两张二进制 CD 包含以 UnitedLinux 为品牌的各个组件,一直密切参与 UnitedLinux 项目的原始设备供应商已对这些组件在其硬件和软件上进行了认证。每个 UnitedLinux 合作伙伴都将交付包含 UnitedLinux 基本 CD 的产品,还将交付提供合作伙伴特定的特性和功能的额外 CD。每个合作伙伴的商业服务器产品都以“基于 UnitedLinux”为特色。
安装
那么,如何安装这个产品呢?
首先,我们要从该供应商的引导/安装 CD 来引导安装过程。
本文中所使用的硬件将是一台运行在另一 Linux 平台的 VMWare 3.2 上的虚拟机。通常我们首先正确记录硬件配置。特别要记录下诸如显卡(制造商、芯片集以及内存配置)、网卡(制造商和型号)之类有些复杂的配置,如果是“白机箱(杂牌机)”,则还要记录其主板(尤其是芯片集)。
接着,启动系统,并将 UnitedLinux 1.0 CD2 插入到 CD 驱动器中。应用必要的诀窍从 CD-ROM 引导系统。安装经过一系列的启动处理最终出现“Language”屏幕。这里我选择“English”。下一屏要求您选择所需的安装方式,其选项有“New installation”、“Update an existing installation”或“Boot installed system”。
引导现有的已安装系统的选项是一个很好的措施。我不知道要隔多长时间来使用这个选项,尤其是在由于粗心或尝试安装与 Linux 不兼容的另一个 OS 而产生问题之后。本例中我选择“New installation”。
随后会显示“Installation Settings”屏幕(参见
图 1)。这个屏幕的目的是允许对安装方式、键盘布局、鼠标、磁盘分区、软件选择、定制引导管理器安装、时钟和时区配置以及语言选择等进行基本配置。
图 1. 安装设置
我接受对“Keyboard layout”、“Mouse”、“Custom boot manager installation”和“Language selection”的缺省设置。当选择分区选项时,会向您显示一个推荐的分区布局和三个选项:“Accept proposal as-is”、“Base partition on this proposal”以及“Create custom partition setup”(参见
图 2)。
您可以选择定制如下所示的分区布局:
表 1. 样本定制分区布局
|
磁盘分区
|
文件系统
|
大小(MB)
| | /dev/hda1 | / | 4096 | | /dev/hda2 | swap | 512 | | /dev/hda3 | /var | 512 | | /dev/hda4 | extended partition | | | /dev/hda5 | /home | 16382 | | /dev/hda6 | /export | balance |
为了在该示例安装期间有机会练习选择更佳的选项,我忽略了这一建议,而是创建了 251MB 交换分区和 3.6GB 根文件系统。
图 2. 创建定制分区设置
现在到了比较棘手的“Software selection”部分。SCO/UnitedLinux 基本系统
不安装 C/C++ 编译器和工具。在这次安装中,我选择了所有选项。
您当然可以将时区设置成您本地的时区,就象我做的那样。在对这几项进行调整以满足您的设计之后,可以单击“ Accept”按钮且使安装运行。
首先,安装程序将准备每个驱动器和分区,接着它开始安装每个包。所有进度条都合理的、非常真实地显示了安装进度,正在安装的包的名字以及离安装完每张 CD 所需的时间。对所需时间进行了合理准确的估计,与实际安装时间的误差在两分钟之内。
安装完所有包之后,在重新引导到新系统之前,系统会进行提示。引导过程非常巧妙,屏幕报告了所有活动。这毫无疑问会告诉用户,至此的安装进展顺利,或者智能地显示出错信息。我第一次安装 UnitedLinux 的系统的硬盘有缺陷,在第一次重新引导期间,清楚地显示了这一点。在系统引导时能看到所发生的一切,真的很不错。当前的趋势是对用户隐瞒一些细节。安装到现在为止,UnitedLinux 显示足够的、但不多余的详细信息,运转正常(参见
图 3)。
图 3. 监控安装进度
当系统重新引导后,系统会提示插入 CD2 和 CD3(SCO Linux CD),随后完成包的安装。整个过程十分顺利。
下一屏“Password for "root", the system administrator”让安装者有机会在两个框中输入 root 用户密码。这能够验证输入的密码确实是安装者心中记下的密码。这里还有一个“Expert Options”按钮,它可以让您设置整个系统中使用的密码加密方法。有以下三种选择:
我感到一定要使用 MD5;您也可以选择更为安全的 Blowfish 方法。接着,我有机会将用户帐户添加到系统。出于责任心,我添加了一个帐户,以便系统可以为其他非 root 身份的用户所使用(参见
图 4)。
图 4. 添加新用户
此时,新系统安装已逐步成形。另一个配置图形桌面环境的屏幕展现在我们面前。这个屏幕“非常周到”地添加了“Text mode only - no graphical desktop”选项。如果您正在安装一个服务器,而且知道它的负载很繁重,并且永远没有用户需要使用图形界面,那么为什么还要消耗不必要的 X Windows 开销呢?从另一方面来说,无论需要与否,大多数人还是都会安装它。我们知道人类本性会需要它;毕竟 X Windows 看上去很酷,不是吗?
接着出现的屏幕显示了将所有服务器组件配置文件写入磁盘的进度,这些配置文件为后面安装过程中进行的详细配置作准备。
在配置文件准备接收进一步的设置信息时,第一阶段会涉及自动识别所有物理上连接的打印机。可以十分肯定地讲,这一步
不会探测网络上可以使用的打印机。不管怎样,下一屏“Installation Settings”将允许我们修改网络接口、打印机、调制解调器以及 ISDN 适配器(参见
图 5)。
图 5. 安装设置
要注意的一点是 SCO Linux 4.0(UnitedLinux 1.0)将只自动配置第一个网络接口。缺省配置为 DHCP 客户机。这意味着如果第一个接口应该配置为固定的 IP 地址,或者如果机器有不止一个网络接口,那么需要单击该选项以配置“Network Interfaces”。
当需要安装任何网络打印机时,最好现在单击“Printers”标签。跳过自动检测步骤,然后单击“Configure”按钮。由于正尝试安装网络打印机,所以单击“Show more connection types”单选按钮。选择适当的单选按钮,继续“谨慎”前进。这里将出现一个选择打印机驱动程序的选项,它还给出网络打印机的本地名称。最终,将返回到“Installation Settings”屏幕。按下“Next”按钮以继续。系统现在将保存网络配置设置,随后进入多用户模式。现在屏幕上可能会出现引导屏幕。如果所有步骤都顺利结束,那么很快就会出现一个登录屏幕(参见
图 6)。
图 6. 登录屏幕
祝贺您,可以准备登录了。玩得开心一点!
包复查
由于 UnitedLinux 的主旨是推出一个最终适合于企业服务器部署的平台,这说明将局限于服务器类型组件软件。由于我已经提到过这个问题,那么您可能想问,“UnitedLinux 交付了吗?”
所以,这里是主要的服务器组件包列表。注:我特别指出了 SCO 专有的 SCO Linux 4.0 组件。任何着眼于在 UnitedLinux 上进行可移植部署的开发人员都想避免也许在其它基于 UnitedLinux 的产品中不存在的任何相关性。
系统环境工具
- backhand-1.2.1:用于 Apache 服务器的负载均衡工具;如果您需要的话,它会很不错
- jakarta-tomcat-4.0.4:Java servlet 容器
- medusa-0.5.1:索引文件搜索工具箱
- PAM(可插入的认证模块):扩展套件,包括一次性密码(One Time Password)支持、ldap、SMB_auth、krb5 以及 radius
- pth-1.3.7:GNU 可移植线程
(SCO 附件)
系统管理工具
- apcupsd-3.9.8:用于 APC UPS 的 UPS 守护程序和工具
(SCO 附件)
- amanda-2.4.2p2:高级 Maryland 网络磁盘归档程序(Advanced Maryland Network Disk Archiver),这是一个网络范围内的备份和归档工具
(SCO 附件)
- apt-0.5.4cnc7:Debian 的带 RPM 支持的高级打包工具;这是个非常流行的附件
(SCO 附件)
- argus-2.0.5:网络监控工具
- etherape-0.8.2:图形化网络监控工具
(SCO 附件)
- ethereal-0.9.6:图形化网络流量嗅探器和信息包解码器
- evlog-1.4.1:企业事件日志记录(Enterprise Event Logging)工具集(POSIX)
- gq-0.6.0:用 GTK 编写的 LDAP 客户机
- heartbeat-0.4.9e:用于 Linux-HA 配置的心跳系统
- jfsutils-1.0.24:用于在 Linux 下管理 IBM 的 JFS(日志文件系统)的实用程序
- lsb-1.2:Linux 标准库工具和运行时参考环境
- mdadm-1.0.1:多磁盘配置实用程序
- mon-0.99.2:网络监控系统
- nagios-1.0b4:nagios 网络监控程序
- webmin-1.024:基于 Web 的系统管理和配置工具
(SCO 附件)
安全性工具
- aide-0.9:入侵检测工具
- arpwatch-2.1.a11:监控和跟踪以太网/IP 地址的工具;通过电子邮件报告重要的更改
- avmailgate-2.0.1:允许几种病毒扫描程序让 MTA(邮件传输代理)扫描到来的电子邮件的工具
- bastille-1.3.0:系统安全性加固工具箱
- freeswan-1.98_0.9.14:基于内核的 IPsec 支持;用于设置 VPN(虚拟专用网)
- ippl-1.4.14:可配置的 IP 协议日志记录工具
- portsentry-1.1:端口监控和报告岗哨
(SCO 附件)
- saint-3.4.2:安全性管理员集成化网络工具
- seccheck-2.0:安全性检查脚本
- stunnel-3.14:通用 SSL 隧道工具箱
- tcpd-7.6:Wietse Venema 的 TCP 封装器工具集
- tripwire-1.2:监控文件系统的工具(属于入侵检测机制)
- vlan-1.6:802.1q vlan 实现设施
开发工具
开发工具的范围极其适用于基本开发环境,但用户必须实际地选择安装它们,因为缺省情况下不会安装编译器。GNU 工具集已更新到最新状态。
- autoconf-2.53:创建自动配置软件构建环境的工具
- automake-1.6.3:由 autoconf 使用的自动创建 Makefile.in 文件的工具
- bison-1.35:是在 YACC(另一个编译程序的编译程序,Yet Another Compiler Compiler)之后曾流行的解析器生成器工具,它仍可以为许多长期在 UNIX 下进行编程的程序员所使用
- ctags-2002.7.18:使用 vi 和 Emacs 时生成标记文件的工具
- cvs-1.11.1p1:CVS 前端,用于版本控制系统(Revision Control System)
- emacs-21.2:GNU Emacs 编辑器/开发环境
- expat-1.95.4:XML 解析器和工具
- flex-2.5.4a:类似于 GNU lex,它可用于生成模式解析程序
- gcc-3.2:GNU 编译器套件;包括 C、C++、Pascal、Fortran(g77)等
- gettext-0.11.5:用于多语言目录支持的 NLS 工具集过滤器
- groff-1.17.2:AT&T 文档工作台(AT&T Documenters Work Bench )工具集的 GNU 变体
- guile-1.4.1:用于扩展的 GNU 普遍存在的智能语言(用 C 编写的可嵌入的方案实现)。
- itcl-3.3:用于 Tcl 的面向对象扩展
- java2-1.3.1:完整的 Java 2 SDK 和 JRE 环境
- lsof/ltrace/strace:调试工具
- perl-5.8.0:Perl,包括一个由大量 Perl 模块组成的集合
- python-2.2.1:Python 编程语言和运行时支持
- sablot-0.82:XSL 处理器
- tcl/tk-8.4:Tcl 脚本编制语言和 Tk 工具箱
开发库
由于存在许多开发库,但篇幅有限,本文无法一一列出。下面只列出了其中的一部分:
- cyrus-sasl-1.5.27:用于客户机端/服务器端认证的 SASL 的库和工具
- fltk-1.1.0rc5:用于 X11 和 OpenGL 应用程序开发的免费 C++ GUI 库
- glibc-2.2.5:标准 C 库
- libidl-0.8.0:IDL 解析库
- libiodbc-3.0.6:iodbc 驱动程序管理器库
- openmotif-2.2.2:Open Motif 库
网络服务
- apache-1.3.26:Apache web 服务器;我们期望用它。很明显,UnitedLinux 选择了大家都已知道的稳定发行版 1.3.x,没有选择最新的 2.x 版本,如果企业网站的所有者的性格比较保守,那么这很可能是非常好的一步
- bind9-9.1.3:伯克利网络互联名称守护程序或 DNS 服务器,恰好是最新版本(为了安全性目的,这很重要)
- dhcp-3.0.1rc9:ISC DHCP 服务器和工具
- freeradius-0.5:免费的 RADIUS(远程拨入用户服务,Remote Dial-In User Service)认证服务器
- heimdal-0.4e:Kerberos5/Kerberos4 认证服务的可自由出口的、独立实现
- hylafax-4.1.3:传真服务器包
(SCO 附件)
- imap-2001a:华盛顿大学 IMAP4/POP2/3 邮件服务器
- inn-2.3.2:InterNetNews 新闻服务器
- jabber-1.4.2:Jabber 消息传递服务器
(SCO 附件)
- jserv-1.1.2:用于 Apache 的纯 Java servlet 引擎
- mailman-2.0.13:GNU 邮件列表管理器
- marsnwe-0.99.pl20:Martin Stover 的 NetWare 仿真器(NetWare 2.x 服务器)
- Apache 模块扩展:Perl、php4、Python、SSL
- mysql-3.23.52:MySQL SQL 服务器
- nas-1.5:网络音频系统(Network Audio System)(客户机/服务器音频服务器)
- netatalk-1.5.3.1:用于 Linux 的 Appletalk 服务器
- openldap2-2.1.4:LDAP 服务器和客户机工具
- openslp-1.0.9:服务定位协议 v2
- openssh-3.4p1:安全 Shell 服务器和客户机
- openssl-0.9.6g:安全套接字(v1/2)和传输层安全性(v1)
- postgresql-7.2.2:Postgressql SQL 服务器,带有 ODBC 和 JDBC 扩展
- ppp-2.4.1 + pptpd-1.1.2:PPP/PPTPD 服务器
- proftpd-1.2.6:ProFTP 服务器
(SCO 附件)
- samba-2.2.5:MS Windows 文件和打印服务器以及客户机软件
- rsync-2.5.5:远程同步守护程序/客户机
- squid-2.4.STABLE7:SQUID Web/FTP 代理服务器
- squidGuard-1.2.0:SQUID 的过滤器插件,它是用于基于规则的访问控制
- squirm-1.23:SQUID Web 高速缓存重定向器
(SCO 附件)
- vnc-3.3.3r2:虚拟网络客户机服务器/查看器,它用于与 MS Windows 和 X Windows 互操作性以及用于远程管理支持
- vsftpd-1.1.0:非常安全的 FTP 守护程序
Linux 内核
该内核基于带有支持企业特性的 linux-2.4.19。内核的设施和能力包括:
- 文件系统:Ext2、Ext3、JFS、Reiserfs、逻辑卷管理器(Logical Volume Manager,LVM);注:内核以前支持 POSIX ACL 以及扩展属性
- I/O:原始 I/O 和异步 I/O
- 执行:下一代 POSIX 线程(Next Generation POSIX Threading,NGPT 是 pThreads 派生的),HyperThreading
- 内存:NUMA、内存扩展技术(Memory Extension Technology,MXT)、大内存支持(Large Memory Support,64GB 物理 RAM)
- SAN 支持:iSCSI
- 最新的硬件支持:ACPI
- SNMP/CIM 支持
- 协议:IPv6
UnitedLinux 基本系统包括对高度可用性(High Availability,HA)的支持。
人们常会问有关系统限制方面的问题。请查看以下事实:
表 2. 系统限制
|
文件系统类型
|
最大文件大小
|
最大文件系统大小
| | Ext2 | 1TB | 4TB | | Ext3 | 1TB | 4TB | | ReiserFS | 1TB | 1TB | | JFS | 无限制 | 最小 16MB,最大受分区大小限制 | | LVM | 无限制 | 最大 LVM 256GB(使用 4MB 扩展块),1 PB(使用更大的扩展块) |
针对 UnitedLinux 的开发
一直有这样的说法:“不能开始比赛比不能完成比赛好”。软件开发是一项充满风险的业务,因为在令人满意地完成项目时,其实际的复杂情况常常只有当工作开展以后才会显现出来。软件开发人员总是面临一项挑战:在对即将开始项目的整个生命周期分析时,其任务的规模很庞大。许多因素影响了软件项目的整个生命周期。有些关键的风险因素可以预料到,并使之降到最低,但还存在着大量未知的其它因素。以下是每个软件开发人员在开始编码前,应先尝试回答的几个关键问题:
- 正在考虑交付的应用程序如何向用户提供独特的好处?
- 为什么用户(客户)要购买这个应用程序?
- 在购买这个应用程序时,客户如何确定此费用是否合理,以及如何权衡察觉到的任何风险?
- 客户愿意花多少钱来支付完整的业务解决方案?
- 是否存在足够多的潜在用户愿意购买这类应用程序?
- 生产这个软件应用程序的最终成本是多少?
- 在获得最早的收入之前,我们如何将开发时间减到最少?
- 是否存在任何必须要遵守的编码/开发/协议标准?
- 部署的费用将是多少?
- 如何维护应用程序?
- 可能影响这项工作的法律/道德约束有哪些?
- 要花多长时间才能收回最初的开发投资?
这些只是开发人员应当询问的一系列复杂问题的最初的一小部分。在许多情况下,这些答案会限制如何开发应用程序,以及如何部署它。在现实世界中,经常有一些强制性的约束。例如,针对拥有 5-10 名雇员的公司和针对可能拥有 1,000 名用户的公司,请比较一下选择应用程序的开发和/或部署平台时的约束。在开发过程中,必须考虑在如何部署应用程序方面的非常广泛的可伸缩性。那么,基于 UnitedLinux 的平台如何帮助解决这些问题呢?
Java 语言是首选的开发语言,因为它提供了部署平台的广泛选择,其范围可以从单一用户台式 PC 一直到大型机。尽管如此,但实际上很难避免每个应用程序中某种程度的部署平台相关性。Windows 平台、UNIX 系统、Linux 实现以及大型机 OS 都有不同的打印子系统,而且访问特定于应用程序的硬件(诸如收银机、标签打印机、条形码扫描仪等等)的方式都各不相同。这些考虑事项对最终的部署平台都有某种程度的限制,这样也限制了应用程序的可伸缩性。
在整个可伸缩性范围上能提供完全一致性的唯一部署平台是 Linux。Linux 可以运行在从 Intel 80386 一直到 IBM 大型机在内的任何硬件上,它具有完全的一致性,因而减少了构建在特定硬件平台相关性的需要。但谁能肯定所有的 Linux 操作系统分发版生来都是等同的呢?
Linux 标准库(Linux Standards Base,LSB)规范旨在消除各 Linux 分发版之间的许多区别(请参阅
参考资料,以获得有关 LSB 的更多信息的链接),但它没有将这些差异统一汇总成一点,即软件公司不能在任何一个分发版上进行开发,尽管他们知道可以将最终的应用程序部署到任何其它 Linux 分发版。同样,尽管 OpenI18N(前身是 Li18nux;请参阅
参考资料,以获得有关 OpenI18N 的更多信息的链接)有助于标准化带有完整的国际化支持的软件开发的许多方面,但在跨各 Linux 分发版之间,仍存在着一些主要的平台差异。通过建立全球统一的基本开发和部署平台,UnitedLinux 倡议开始攻克这些障碍。UnitedLinux 产品是其所有合作伙伴的分发版的基础,它在各个分发版中都是相同的。现在对于 SuSE、Conectiva、Turbolinux 和 SCO Linux 产品而言,启动过程、核心库、缺省工具和实用程序等等都完全相同。
因为基本产品是符合 LSB、OpenI18N 和 GB18030 的,所以选择基于 UnitedLinux 的平台的开发人员将拥有定义良好的统一开发平台,而且还有适用于他们客户的确实可靠的部署解决方案。尽管一开始 UnitedLinux 倡议关注 Intel 处理器体系结构,但 UnitedLinux 最终将发布适用于 Intel IA32 和 IA64、AMD x86-64、PowerPC 和 IBM S/390 处理器的完全可伸缩的统一产品。
因此,对在 UnitedLinux 上进行开发的任何开发人员的最佳建议是避免专有相关性并坚持 LSB/OpenI18n/GB18030 指定的功能;您就可以获得一个完全可伸缩的并能全球部署的应用程序,这是可以证实的。如果您准备在拉丁美洲、中美洲、北美洲、欧洲、英国或在诸如中国和日本这样使用宽字符集的国家或地区部署,那么您可以选择 UnitedLinux 平台。不管选择用 Java 开发还是遵循某些其它应用程序编程和部署环境,UnitedLinux 都将为您提供十分必要的一致性。
UnitedLinux 1.0 上的部署
UnitedLinux 1.0 将支持很广范围的硬件。在准备本文时,我在许多硬件上测试了 UnitedLinux 的安装,这些硬件包括:
- 赛扬 800MHz PC 系统,带有 384MB RAM 和 40GB IDE 硬盘
- 基于 AMD XP1700+ 的 PC 系统,带有 1GB RAM 和 80GB IDE 硬盘
- 双处理器 AMD XP1600+ 服务器系统,带有 64 位 PCI-X 插槽、1GB DDR2100 RAM、带有三个 60GB IDE 硬盘的 3Ware 7500-4 IDE RAID 控制器、1Gb 以太网以及附加的两个 40GB 硬盘
- 拥有四个处理器的基于 Intel Xeon 的 IBM 系统,带 IBM ServerRAID 存储系统
在上述所有情况中,安装都很顺利,系统运行良好。就我的观点而言,UnitedLinux 1.0 基本产品展示了其具有极佳的硬件可伸缩性,而且其每种能力都满足了范围很广的部署方案的需要。对硬件 RAID 设备、软件 raid、逻辑卷管理、高性能和高带宽以太网以及其它设备,它都提供了丰富的支持。看到与 OEM 捆绑的平台适用于这个新平台会产生什么样的效果,是一件有趣的事。基于 UnitedLinux 的系统能在任意价格点的平台上实现,从低成本/高性能的平台一直到执行效率最高的 Intel 处理器的平台。
技术机会和能力
UnitedLinux 1.0 拥有一组让人印象深刻的设施,它们包括用于以下各项情况的解决方案:
认证和权限
包含 Kerberos5 和 LDAP 支持,这些支持提供了一种方法来实现真正的基于目录体系结构的认证解决方案,该解决方案可以替代 Microsoft Active Directory、Sun One、iPlanet、Novell NDS 以及其它这样的解决方案。当与使用 PAM(可插入认证模块)结合起来时,提供了大量的灵活性。Samba 的 Winbind 技术加上 PAM 使得组织可以利用其在现有的 MS Windows NT4 或 Active Directory 上的投资来创建跨多个供应商的 OS 产品上的高质量的互操作性,而这在以前是无法做到的。
安全特性
过去,保护服务器环境未引起人们多少关注。使用 UnitedLinux,您就可以选择实现一个完整的虚拟专用网(VPN),它可以与基于 MS Windows 2000 IPsec 的 VPN 或基于 Ipsec 的 VPN 路由器互操作。另一方面,您可以选择只使用 IP 隧道或甚至只使用用户空间的虚拟局域网(VLAN)。
可以使用防火墙选项,并且应考虑使用供应商附件(因为每一个附件均提供了有趣的解决方案)。另外还有用于验证文件完整性、入侵检测、审计所有系统访问和文件修改的工具,以及在以前的 Linux 产品中未提供的更高级别的全面的潜在控制的工具。
应用程序支持
UnitedLinux 1.0 本身提供了令人注目的用于办公室自动化解决方案的替代选择,它们可以替代或增强现有 MS Windows 文件和打印服务器、Web 代理服务器、SQL 数据服务器以及电子邮件服务器。所包含的 VNC 支持为远程跨平台管理提供了有效的解决方案。VNC 还可用于 MS Windows 平台,并为大型站点,特别是那些已熟悉诸如 Carbon Copy 和 PC Anywhere 之类产品的站点提供了便利的远程管理和互操作性解决方案。
结束语
那么,通过我们了解的 SCO Linux 4.0,UnitedLinux 实现其诺言了吗?是的,我认为是这样。不管怎样,当我们看到四位竞争对手根据同一基本 OS 提供解决方案时,这无疑令人感到欢欣鼓舞。同样,如果能看到 UnitedLinux 从其他 Linux 竞争对手(还未加入到这一二进制统一和认证运动)获得承诺,那么一定会令人感兴趣。
参考资料
- 您可以参阅本文在 developerWorks 全球站点上的
英文原文.
- 本
白皮书提供了已经合并到 UnitedLinux 中的各种特性和标准的完整列表。
- 要了解有关正在进行的 UnitedLinux 开发方面的信息,请加入
UnitedLinux 邮件列表。
- 查阅
Linux 标准库网站获得有关 LSB 的背景。
- 有关编写和测试符合 LSB 标准的应用程序的循序渐进的指南,请阅读“
开发 LSB 认证的应用程序”(
developerWorks,2002 年 10 月)。
- 那些对国际化感兴趣的读者应该到
OpenI18N 网站(OpenI18N 的前身是 Li18nux Initiative)。
-
Free Standards Group是一个支持 Linux 标准库和 OpenI18N 的组织。
- 可以从以下任一个合作伙伴处获得有关 UnitedLinux 和特定的单独分发版的信息:
- 这里列出了本文中提到的一些主要应用程序和技术的链接:
- 想入门吗?请查阅这些 UnitedLinux 开发工具:
- 在
developerWorksLinux 专区查找您需要的
Linux 参考资料。
关于作者  | 
|  | John H. Terpstra 是 PrimaStasys, Inc. 的 CEO 兼总裁,该公司的软件开发人员和经销人员通过部署开放源码软件使公司利润达到最大化。John 常常在开放源码以及其它业界活动上发表演讲。他是一名拥有 18 年以上行业经验的 IT 专家,他加入了开放源码软件学院顾问委员会(Open Source Software Institute Advisory Board),也是形成成为 UnitedLinux 倡议这一概念的共同发起者之一,Samba 团队的共同创建人之一,他从事多年有关 Linux 标准库工作,并共同创立了 Li18nux Initiative。可以通过
jht@samba.org与 John 联系。
|
对本文的评价
|