使用 Linux 教授 Unix 系统管理

作者:Joe Kaplenk
Using Linux to Teach Unix System Administration

杜佩奇学院

在学术环境中教授 Unix 管理课程存在一些固有的障碍。为了学习成为管理员,您需要实际管理系统——您必须完全控制该机器。在大多数学院和大学中,考虑到安全问题、此类设置的管理开销以及为每台工作站配备 Unix 操作系统,这几乎是不可能的。那些已经建立此类设置的学院发现效率低下——要么必须限制时间,要么机器在课外时间无人使用。

我通过使用 Yggdrasil Linux 缓解了上述担忧,并且增加了一个优势,即学生可以将操作系统带回家,进行操作,然后带回课堂用于实验或作业。Yggdrasil Linux 可以完全从 CD-ROM 和 RAM 运行,并且它使用单个软盘进行启动和数据存储。这种设置的开销与 PC 的正常维护成本相同;唯一额外的要求是 CD-ROM 驱动器,如果系统上尚未安装的话。

位于伊利诺伊州格伦埃林(美国第二大社区学院)的杜佩奇学院自 1985 年以来一直开设 Unix 管理课程,这归因于贝尔实验室和前西屋电气设施的临近。最初,学生在 8086 PC 上运行 Minux,实验室完全用于 Unix。

当学院获得 AIX 系统后,这个实验室被取消了,结果,学生们不再有地方练习管理 Unix 系统。随着时间的推移,越来越多的限制被加在访问管理文件或执行不需要 root 权限的管理类型功能上。起初,使用启动盘通过网络访问 AIX 系统,最近,使用 DOS 和 MS-Windows 中的菜单选择。班级中绝大多数学生都是计算机专业人士。这门课程的先决条件包括“Unix 导论”,而这门课程又需要编程语言知识。

大约六年前,当我开始教授 Unix 管理课程时,我们使用的是一本四年前的书,这本书没有涵盖 Unix 的许多当前功能。此外,没有简单的方法来进行有意义的实验。在寻找一本与学生相关的书籍的过程中,我在接下来的五年里换了三本教科书。大多数教科书涵盖了太多版本的 Unix,这让许多学生感到困惑。

我的教学选择是

  1. 继续使用现有系统,并无奈地接受学生无法练习管理的事实。

  2. 请求设置单独的工作站来运行 Unix。由于以前从未这样做过,因此这个选项将难以实施,而且成本高昂。

  3. 研究在不影响当前学术网络环境的情况下在 PC 上运行 Unix。

我觉得第三个选项是唯一可行的选项。有几家 Unix 或类 Unix 操作系统制造商用于 PC,包括 SCO Unix 和 Solaris x86。然而,它们都没有像 Linux 那样丰富的免费软件以及可用的源代码。此外,Linux 除了 GNU 类型的版权外,没有许可或分发限制。它受到许多 USENET 新闻组和互联网上许多乐于助人的人的支持。

去年,除了 AIX 之外,我决定给我的学生选择从 CD-ROM 运行 Linux——事实上,我鼓励这样做。在看到我的实验结果之前,我不愿意要求这样做。结果非常成功,大多数学生都欢迎在家运行 Linux,因为它让他们可以在家完成作业,而无需为了上课而来到校园。只有一个学生家里的 PC 没有 CD-ROM 驱动器,他能够来校园使用 PC。因此,这个解决方案并没有阻止任何学生完成他们的作业。

今年,我将运行 Linux 作为一项要求,并选择了 Timothy Parker 博士撰写、SAMS 出版的《Linux 系统管理员生存指南》作为教科书。我选择这本书而不是其他一些书,因为它涵盖了大多数课程主题,易于阅读,并且易于补充。我编写了一本《实验和项目》手册,其中包括 Linux、AIX 和通用 Unix 的作业。我计划在时间允许的情况下,根据学生的建议和我的经验,将其扩展成一本完整的教科书。

为什么选择 Yggdrasil Linux?

我对课堂 Linux 发行版的要求是易于运行,学生无需配置,并且开箱即用。我尝试了许多版本的 Linux。除了 Yggdrasil 之外,所有版本要么仅将 CD-ROM 用于安装,要么具有需要 Linux 知识和硬盘分区设置的实时文件系统。在我们的学术环境中,我们无法满足这两个要求。Yggdrasil 包括启动软盘,并且不需要学生配置启动软盘或根软盘。

基本的硬件组成部分是

  1. 内核和其他文件从启动软盘加载到 RAM 中。这被挂载为文件系统 /ramdisk。

  2. 启动软盘包含基本的 Linux 内核和基本的 Linux 系统文件。一旦软件加载到 RAM 中,就不再需要启动软盘。这释放了软盘驱动器,用于加载自定义文件或备份。

  3. CD-ROM 将更高级的文件加载到 /ramdisk 中,并包含实时文件系统的其余部分,该文件系统被挂载为 /。

您可能会认为缺少的组成部分是硬盘,但事实并非如此。我没有列出 HD,因为您不需要它。

Linux 通过将启动软盘和 Linux CD-ROM 放入计算机,然后打开电源或重启 PC 来启动。PC 加载基本的 Linux 内核,并通过探测基地址和评估响应来检查各种硬件设备。这种探测过程可能会导致 PC 挂起,因此有必要修改启动参数。

我发现,在许多 PC 上,有必要或建议使用额外的启动参数。当系统显示 boot: 提示符时,会给出修改启动参数的机会。如果您希望继续而不进行任何更改,请按 Enter 键。

在基于 SCSI 的系统上运行 Linux 时,您通常不需要额外的启动参数。然而,我曾在使用 IDE/ATAPI CD-ROM 而不是 SCSI 设备的 PCS 的学院任教。使用 IDE 或 EIDE 硬盘和 CD-ROM 提出了一些配置挑战。大多数当前的 EIDE 控制器卡允许主 IDE 控制器和辅助 IDE 控制器。此外,两个设备(称为主驱动器和从驱动器)可以连接到每个通道。IDE CD-ROM 遵循与硬盘驱动器相同的约定。

重要的是,学生要理解这一点,以便设置他们自己的 PC 并使用学院的设备。我一半以上的学生遇到了问题,一旦他们理解了 IDE 配置问题,这些问题就消除了。我的经验是,最好使用具有集成 IDE 控制器而不是独立 IDE 控制器的主板。独立的 IDE 控制器往往会与某些主板出现时序问题。

Linux 启动参数

我需要几个常见的启动参数,以便使 Linux 在学校的系统和学生的家庭系统上都能工作。

图 1. Linux 中的 IDE 磁盘布局

如图 1 所示,您可以通过输入 “hd” 设备来指定 IDE/ATAPI CD-ROM 设备,如下所示

linux hdc=cdrom

hdc 指的是 /dev 设备,实际上可以是以下值之一

  • hda——主 IDE 控制器上的主驱动器

  • hdb——主 IDE 控制器上的从驱动器

  • hdc——辅助 IDE 控制器上的主驱动器

  • hdd——辅助 IDE 控制器上的从驱动器

有些主板将单个 IDE 控制器视为主控制器,无论主板是否包含主控制器和辅助控制器。

由于大多数文件系统都存储在 RAM 中,因此您需要增加 RAM 磁盘的大小。在具有 16MB RAM 的系统上,8MB 的 RAM 磁盘足以满足课堂作业,为操作系统留下 8MB。您可以随着内存大小的增加向上调整大小。即使您将所有 RAM 指定为 RAM 磁盘,Linux 也足够智能,可以减小 RAM 磁盘的大小,为操作系统腾出空间。您可以使用以下命令设置 RAM 磁盘大小

linux ramdisk=8000

其中 8000 指的是每个 1024 字节的 8000 个块。

另一个有用的选项是 hda=serialize,这是一个强制 Linux 一次处理一个控制器的参数。启动提示符下的完整命令行可能如下所示

linux ramdisk=8000 hda=serialize hdc=cdrom

其他选项可以加快速度,例如禁用对 Sound Blaster Pro CD-ROM 控制器的检查。

进入登录

当您完成输入 linux 命令行选项后,按 Enter 键。在所有详细说明各种硬件设备检查失败的消息之后,系统会给出登录提示符。屏幕上显示以下四个选项

  1. demo——提供一个 X-windows 演示程序,该程序在首次使用时从 CD-ROM 运行非常缓慢,但一旦进入内存后,运行速度会快得多。

  2. guest——设置具有正常用户权限的访客登录。这对于教授学生需要通过以访客身份访问某些文件和目录来确定访问权限的实验非常有用。

  3. install——允许您安装 Linux 并提供屏幕上的几个菜单。

  4. root——为您提供对所有文件和命令的权限。

文件系统结构

为了本文讨论的目的,假设为 root 登录。当您在不带参数的情况下键入 mount 命令时,屏幕输出将类似于以下内容

/dev/hdd on  / type iso9660

/dev/ramdisk on /ramdisk type ext2 (rw) /proc on on type /proc (type)

/dev/hdd 指的是挂载为 root 的 CD-ROM。/dev/ramdisk 指的是名为 /ramdisk 的文件系统,该文件系统使用内部 RAM 并且可以更改。/proc 是设备的标准 Unix 指针位置。

图 2. Linux 文件系统的初始布局

我让我的学生输入以下命令

mkdir /ramdisk/mnt  /ramdisk/dos

此命令在 /ramdisk 上创建两个目录,用途如下

  1. /ramdisk/mnt 用于挂载 Unix 格式的软盘。

  2. /ramdisk/dos 用于挂载 DOS 格式的软盘。

在软盘上创建 Linux 文件系统

您可以通过键入以下命令来格式化 1.44MB 软盘

fdformat /dev/fd0h1440

以下输出将出现在屏幕上

Double sided, 80 tracks, 19s sec/track. Total capacity is 1440
KB 格式化...完成 验证... 完成

请注意,格式化将销毁您插入的软盘上已有的任何文件。

现在,要在软盘上创建 Unix 文件系统,请键入以下命令

mkfs /dev/fd0H1440

然后,您可以通过键入以下命令来挂载软盘

mount /dev/fd0H1440 /ramdisk/mnt
现在,当您单独键入 mount 时,屏幕上会出现以下输出
/dev/hdd on / type iso9660 (ro)
/dev/ramdisk on /ramdisk type ext2 (rw) /proc on on type /proc (type) /dev/fd0u1440 on /ramdisk/mnt type ext2 (rw)

Linux 文件现在可以保存到 /ramdisk/mnt。要卸载软盘,请使用命令

umount /ramdisk/mnt

umount /dev/fd0H1440

图 3. 带有 UNIX 软盘的 Linux 文件系统布局

使用基于 MSDOS 的软盘和文件

有时需要将学生作业从 Linux 机器传输到 AIX 机器。由于联网未在 Linux 下完成,因此必须使用软盘作为传输介质。传输是使用 FTP 从 DOS/Windows PC 到 AIX 机器完成的。

您需要在 DOS 下格式化软盘。(请确保您从上面的练习中卸载了所有软盘。)DOS 格式化在 Linux 中使用以下命令完成

mformat a:

使用以下命令挂载 DOS 软盘

mount -t msdos /dev/fd0H1440 /ramdisk/dos
单独键入 mount 会产生以下输出
/dev/hdd on / type iso9660 (ro)
/dev/ramdisk on /ramdisk type ext2 (rw) /proc on on type /proc (type) /dev/fd0u1440 on /ramdisk/dos type msdos (rw)

您现在可以将 DOS 格式的文件保存到 /ramdisk/dos。请注意,您必须使用标准的 DOS 文件命名约定,即前缀最多 8 个字符,然后是句点,然后是扩展名最多 3 个字符。您可以使用以下命令卸载软盘

umount /ramdisk/dos

图 4. 带有 DOS 软盘的 Linux 文件系统布局

从 Linux 打印

打印是我处理过的最大问题之一。由于设置打印假脱机程序需要修改配置文件和运行守护程序,因此我选择了“快速而肮脏”的方法,直到学生们更有经验为止。通常,Yggdrasil Linux 将 PC 打印机端口设置为 /dev/lp1。由于某些我不知道的原因,它有时会将 /dev/lp0 建立为打印机端口。在以下讨论中请记住这一点。

可以使用以下命令打印文件

cat filename > /dev/lp1

这会将原始文件发送到设备端口。

echo ^v^l > /dev/lp1
使用序列 ctrl-vctrl-l。这将向打印机发送换页符并弹出打印输出的最后一页。第二步是必要的,因为没有它,第一步将无法完全打印文件。如果您以访客身份登录,请确保您具有读/写权限,方法是键入:chmod 666 /dev/lp1chmod 666 /dev/lp0

某些打印机,例如 IBM Proprinter,在使用上述方法打印 Unix 文件时会遇到问题,因为它们在仅接收到行尾的换行符时不会插入回车符。结果,输出将跨页步进。在这种情况下,您可以使用 Unix 到 DOS 的程序(例如 to-dos)在打印前转换文件格式。修改打印命令如下

cat filename | todos > /dev/lp1 echo ^v^l > \

/dev/lp1

当然,打印问题的最终解决方案是运行打印假脱机程序。但是,如果配置没有完全正确完成,假脱机程序将无法工作;因此,使用“快速而肮脏”的方法可以让学生入门。它还有助于学生理解打印过程并学习如何调试打印机问题。

修改系统文件

/etc 目录符号链接到 /ramdisk/var/etc 目录;因此,学生可以写入管理系统所需的大多数文件。这些文件以 Linux 格式保存在软盘上,并且学生下次重新启动系统时,更改后的文件将被加载。甚至可以修改启动软盘;只需确保先备份它。

图 5. 显示 /etc 链接的 Linux 文件系统布局

在学生完成并理解上述步骤后,他们可以完全控制 Linux 系统。无需联网,也无需使用本地硬盘。我希望在我的课程进展中加入联网和相关技能。

Yggdrasil Linux 可以非常有效地设置为教授 Unix 管理。它价格低廉,相对安全,学生可以在家中使用它而无需修改他们的 PC。它有助于解决我作为 Unix 讲师所经历的最大问题。一旦硬件到位并且网络安全问题得到解决,我期待使用 Linux 来教授网络知识。

Joe Kaplenk 在伊利诺伊州格伦埃林的杜佩奇学院担任兼职讲师已有 13 年。他教授过计算机入门和编程语言以及 Unix 课程。他在伊利诺伊州橡溪露台的 IBM CS Systems 全职工作。本文基于他正在编写的用于教授 Unix 管理的教科书的摘录。Joe 喜欢各种形式的滑冰、写作、演唱乡村音乐歌曲和乡村舞蹈。他还喜欢与他的妻子 Ramona 和女儿 Anisa 共度时光。可以通过 jkaplenk@aol.com 联系到他。

加载 Disqus 评论