在本系列的最后一篇文章中,我在HP PA-RISC工作站上设置了NextStep。今天,我将开始工作:配置网络,安装系统补丁,为其配备开发工具,并安装一些有用的软件!
和上一篇文章一样,我也制作了一段YouTube视频,内容大致相同!如果视频是你的速度,我很乐意让你去看看!
我的目标是最终拥有一台功能强大的机器,我可以像使用新机器一样使用它,并从经验中学习。
虽然可以从SCSI驱动器(甚至软盘!)传输文件,但在我的家庭网络上安装Pizzabox使软件加载变得容易得多。几年前,我第一次在这个工作站上尝试NextStep。操作系统安装正常,但我在联网方面遇到了麻烦。起初,我乐观地认为我会弄清楚这一点:
我想我今天的工作已经做完了,但是如果我能与NFS和NetInfo(Lololol)抗争,我很快就能拿到它的屏幕截图和软件。
-cron mam(@outaskins)2018年2月10日。
稍等片刻:NextStep是80-90年代推出的以工作站为中心的Unix操作系统--要把它安装到网络上怎么会有困难呢?答案是一种叫做NetInfo的东西。
出乎所有人意料的是,NextStep来自一家由史蒂夫·乔布斯(Steve Jobs)创立的公司,它拥有自己的NEXT唯一的工具生态系统,这些工具完美地结合在一起,令人惊叹。NextStep网络的基石是NetInfo。如果您在网络上有一组NeXT计算机,NetInfo会为您提供一个系统来执行以下操作:
也就是说:NetInfo是一个“目录服务”系统。这一切都很好-在20世纪90年代初,太空有很多竞争对手,还没有建立一条“正确的道路”,但…。我不想让我的机器成为目录的一部分,**我只想让它在我现有的TCP/IP网络上。
选择我们将如何与现有的NetInfo网络集成(因为我根本不打算与之交互,所以我必须选择“提供下面指定的服务”,这是一种包罗万象的方式)。
指定我的主机名和IP地址-如果我连接到现有的NetInfo网络,我可能不必这样做。“网络选项”允许我设置更精细的IP设置,如网络掩码和网关;“NetInfo选项”允许我选择如何与现有域集成(如果相关)。
设置网络服务:在我的设置中,我并不真正需要这些东西,但是作为一个独立的NextStep系统,我确实必须“维护网络管理数据的主副本”(也就是NetInfo数据库)。
到目前为止,这感觉真的是一个很好的开始,但是它会让我从NFS共享获取文件吗?
我立即尝试通过NFS连接到我的NAS-毕竟,设置网络的主要目的是让文件传输更容易。不幸的是,它不起作用-我可以使用NFSMananger设置NFS挂载(稍后将详细介绍如何操作),但挂载点始终为空。在这里,您可以看到我正在尝试通过IP地址访问它:
所以我遇到了一些问题。为了缩小潜在问题的范围,我运行了几个测试:
尝试从工作站ping我的NAS-这被证明不起作用,因为NextStep似乎没有任何ping命令。可能有一些方法可以用它所拥有的工具来完成一些等价的事情,但我只是继续前进
正在尝试从网络上的其他位置ping工作站。这起作用了-我可以从我的笔记本电脑上ping它!
尝试使用FTP连接到我的NAS-NextStep似乎拥有的为数不多的网络工具之一就是FTP,所以我试了试。令我惊讶的是,这起作用了!
然而,它不能通过主机名工作,这至少表明DNS有一些问题。深入阅读“混合网络中的下一步计算机”中的“下一步3.3网络和系统管理手册”部分(我可能早些时候就应该这样做),发现我需要手动配置DNS。它没有GUI选项,您只需写出一个/etc/Resolution v.conf:
但是仍然不能使用NFS。什么给予?我有两个方向的网络连接,DNS现在也在工作!我相信这就是我几年前取得的最大成就,天哪,我很沮丧。
无法获取…。我的地址?计算机不知道自己的地址吗?虽然我不知道它为什么要这么做(Google已经为我提供了几个提到它的快速旁白,但没有太多细节),但是挂载NFS服务器需要对您的IP执行反向DNS。
我的家庭网络确实有一个真实的DNS服务器,它根据DHCP租约和IP预留进行填充。不过,这个工作站只使用了一个IP,这是我习惯性地为Pizzaboxes(192.168.1.200)硬编码的。我仔细检查了DHCP服务器配置,确实为该IP设置了不同的主机,并且根本没有为该主机名设置。我将该条目替换为192.168.1.200处的hp712条目,作为我工作站的MAC地址,并祈祷。
在所有这些繁琐的工作之后,配置远程NFS挂载的正确方法是通过NFSManager.app。而NFSManager允许您配置“导出”(我与他人共享的本地目录)和“导入”(我希望本地挂载的远程目录)。
我所要做的就是点击“添加”并填写我的NAS的详细信息:
就这样?。我费了很大劲才走到这一步,但我终于可以传输文件了。
第一要务是运行系统更新。NextStep 3.3于1995年年中发布,它有三次补丁更新:第一次是在1995年底,第二次和第三次是在1999年底。自从1997年NeXT被苹果收购以来,这个补丁是由苹果为解决千年虫和其他长期存在的问题而开发的。谢谢你,苹果!塔普尔。
第三个补丁是累积更新,所以这应该就是我需要的全部。org慷慨地托管该补丁以供下载。因为我使用的是HP PA-RISC机器,所以我需要NS33RISCUserPatch3.tar。需要以root用户身份安装系统更新,如果您以我(默认用户)身份运行系统更新,NextStep不会提示提升权限,它只会给出一个错误。因此,我需要以root用户身份直接登录。为此,我需要给me用户一个密码,这样系统就会在引导时停止自动登录(让我有机会以root身份登录)。要设置密码,请转到Preference ences.app并导航到锁图标。
下次重新启动后,我会看到登录屏幕(而不是自动转到桌面):
默认情况下,root密码为空(您当然可以在登录后修复此问题,方法与为me帐户设置密码相同)。我导航到NAS上放置补丁压缩文件的位置,将其复制到惠普712,然后将其解压。
单击“安装”会提示我确保选择了正确的体系结构(在我的例子中是PA-RISC),运行一个程序来确定兼容性,然后运行更新。
重启后,我正在使用PA-RISC的最新版本的NextStep,并为2000年做好了准备!
制造一个可用的系统的下一步是什么?开发人员工具!NextStep有两套光盘--主操作系统的“用户”光盘,以及带有编译器、GUI构建工具、库和文档的可选的“开发人员”光盘。虽然针对CISC(m68k和i386)和RISC(PA-RISC和SPARC)平台的NextStep User有不同的版本,但开发人员光盘是“四胖”的-它包含所有四个平台的二进制文件。我从互联网档案馆抓取了显影光盘映像。
如果这是一个实际的ISO映像,我可能会将其挂载到我的笔记本电脑上,并将文件复制到我的NAS以使安装程序可供工作站使用;不幸的是,事实并非如此。它是什么格式的?磁盘映像的前几个字节通常可以帮助解决这一问题:
head-c 16 nextstepdeveloper3.3.iso|十六进制p0000000 64 6c 56 33 00 00 00 4e 45 58 540000010。
当试图找到这样的“魔术数字”时,我通常会查看NetBSD来源。由于NetBSD侧重于与尽可能广泛的硬件集兼容,因此它们通常对遥远的事物具有兼容性。幸运的是,这些字节确实出现在sys/sys/bootblock中。h:0x646c5633 is NEXT68K_LABEL_CD_V3。因此,这是特定于NEXT的非标准格式。有一些代码展示了如何与这种类型的光盘标签交互-也许将来我可以像为SGI EFS做的那样编写一些代码来读取CD?不过,现在我将尝试将磁盘映像加载到我的SCSI2SD“假”CD-ROM驱动器中。
您可能会想,为什么我没有从那时开始-将安装程序复制到网络存储不是有点太复杂了吗?在这种情况下,没有。将新的光盘映像复制到SCSI2SD需要:
使用配置的CD部分的正确偏移量编写dd命令(希望我写下来了!)。
这一次,我别无选择!所以现在是整个繁琐的时间了:
现在是安装开发工具的时候了,对吗?我也是这么想的!虽然NEXT不适合在CD的根目录中包含任何类型的“自述”或“安装”文档,但是/NextCD/Packages子目录中的一些.pkg文件看起来很有希望:
我以超级用户身份登录,开始使用DeveloperTools.pkg,中途使用了…。收到错误:
如果使用计算机教会了我什么,那就是“有时如果你再试一次,事情就会奏效”,所以我尝试了几次这个安装过程,都以类似的错误告终。起初,我以为每次安装过程都会更深入,但最终我意识到情况并非如此。上一次运行成功的文件将是下一次运行CAT:WRITE ERROR:BAD ADDRESS的来源。我试图消除错误的潜在原因:
换用内存棒(假设“错误地址”意味着它是RAM问题)。
尝试不同的SD卡(假设这意味着写入错误或其他原因)。
但似乎没有一个能起到作用。怎么办呢?我决定尝试将CD的内容复制到我的NAS,然后从那里运行安装。
这在复制少数文件时也有失败,但我能够记下哪些文件,然后再试一次-成功了!
在NextLibrary目录(开发人员文档所在的目录)或在线目录中,我似乎也找不到任何这样的东西!在为专业人士制作工具时,“用户友好性”不一定是下一个人首先想到的。我确实相信它与这样的文档打包在一起(在纸面上),但是我们可以凑合使用我们的批判性思维技能-在/NextCD/Packages子目录中有可安装的软件包。所有东西被分成四个包:
我以root身份登录,从DeveloperTools.pkg开始,然后继续执行所有其他操作。安装每个软件包的过程与我之前做的操作系统更新的安装过程是相同的-似乎是合理的,因为它们都使用标准的Insteller.app过程。
说到补丁,还有一个适用于开发人员工具的补丁。最新的是NextStep3.3开发者补丁2(VS NextStep用户软件的补丁3),苹果在1999年收购了Next之后,再次推出了NextStep3.3开发者补丁2(VS NextStep用户软件的补丁3)。nextcomputer s.org网站上有该补丁程序的副本。
在努力安装NextStep Developer之后,我们得到了什么?文件系统根目录NextDeveloper中的一个新目录,其中包含一些应用程序、演示、示例、各种GPL要求的源代码、系统库的头文件和文档。其结构(不出所料)与OSX开发人员工具的旧版本/Developer目录非常相似。不过,相似之处还不止于此-有几个工具,如Interface Builder,对现代苹果生态系统开发人员(如Interface Builder)将相当熟悉:
ProjectBuilder,用于管理源文件和依赖项的工具。它后来发展成为IDE,并最终被重命名为XCode。
我特别喜欢演示应用程序-它们是预先构建的,可以在Demos目录中运行,但是它们的源代码也可以作为如何为NextStep开发的示例。国际象棋游戏已经在现代OSX中幸存下来:一些让我印象深刻的演示是:
BoinkOut是经典雅达利街机游戏Breakout的一个版本,史蒂夫·乔布斯参与了这款游戏的意义令人怀疑。
FileMerge,一个可视化的“diff”工具,作为苹果开发工具的一部分一直存在到今天。
作为一名开发人员,我真的很欣赏这里包含的文档和工具的深度-在1995年,互联网上几乎没有可用的参考和教程信息的深度,所以将其与工具捆绑在一起是至关重要的。话又说回来,对于成本溢价(根据Computerworld的数据,NextStep开发人员为4999美元,而NextStep用户为799美元),最好是尽可能深!我很兴奋能潜入其中,并尝试在未来做出一些应用程序,以了解它在当时的使用情况。
要制造一台可用的机器,我还需要什么?办公工具怎么样?灯塔设计公司(LighTower Design)是NextStep专注于这一领域的一家软件公司。他们的广泛软件在当时似乎很受欢迎,当他们在1996年被Sun Microsystems收购时,他们在网上免费发布了所有下一个软件的安装程序和产品密钥。再说一次,nextcomputer s.org站点维护着所有软件的镜像,所以我下载了它来安装在HP712上!
有些重要的是,他们似乎以“四胖”的形式发布了他们的软件--包含NextStep可能运行的所有四个平台的代码。由于PA-RISC平台只受NextStep版本3.3支持,我怀疑NextStep的很多软件从未发布过。不过,不是LightStep的!
Parasheet,用于电子表格(与其功能更强大的Quantrix软件相比,LighTower称其为“传统的”电子表格)。
Concurrence,一个演示程序(根据其文档,设计用于制作屏幕演示和打印到35 mm幻灯片)。
OmniWeb是由Omni Group编写的网络浏览器,当时由灯塔出版。更新的OSX版本仍然可用。
EquationBuilder,用于排版更复杂的数学表达式。NextStep在操作系统中包含TeX,但EquationBuilder肯定更加用户友好。
正如你所看到的,这是一个相当广泛的范围-灯塔的应用程序很好地填写了我的NextStep HP712。
我花了很长时间才完成这篇文章(和视频),我不想做出任何保证,这个系列的下一篇会更快。这个设置的下一个目标是用开发人员工具编写应用程序。不过,与此同时,我可能会用其他机器做一些项目来注入一些变化。
一如既往,我很乐意听听您关于使用这些工具的故事!您是否使用NeXT的开发工具构建应用程序?或者用灯塔的生产力应用程序做生意?我很想听听这件事!请随时给我发电子邮件,地址是:[email protected]!