Billix:系统管理员的瑞士军刀
有人还记得 Linuxcare 吗?Linuxcare 成立于 1998 年,是一家为企业环境中的 Linux 用户提供支持服务的公司。我记得在圣何塞举行的首届 LinuxWorld 大会上看到了 Linuxcare,我对那次 LinuxWorld 大会印象最深的是 Linuxcare 可引导商务名片 (BBC)。BBC 是一个 50MB 的精简版 Linux 发行版,可以放在名片大小的光盘上。我使用该发行版恢复和修复了相当多的机器,直到 Knoppix 的出现。我一直很喜欢那个小 CD 的便携性,直到有一天我偶然发现了 Damn Small Linux (DSL),我才再次感受到它的魅力。
在浏览 DSL 网站后,我发现可以从可引导 USB 密钥运行 DSL,我对可引导商务名片的旧爱以一种新的方式重新燃起。直到我和系统管理员同事 Kyle Rankin 讨论了他实现的 PXE 引导环境后,我才意识到有可能将 USB 密钥设置为不仅仅引导恢复环境。不久之后,我将 CentOS 和 Ubuntu 网络安装添加到了我的小 USB 密钥中。在那之后不久,我在我最喜欢的 IRC 频道中提到了这一点,其中一位伙伴建议我将代码放在 SourceForge 上并将其命名为 Billix。那时我已经喝了几杯啤酒,觉得这听起来是个好主意。就在那一刻,Billix 诞生了。
Billix 是许多不同工具的集合,这些工具对系统管理员很有用,所有工具都被压缩到 256MB 可引导 USB 拇指驱动器中。选择 256MB 大小不是任意的数字;相反,选择它是由于该大小的 USB 拇指驱动器非常便宜(现在许多公司都将其作为广告噱头赠送)。这使我可以拥有许多 Billix 密钥,随时可以使用。由于密钥便宜或免费,因此我不会为将一个密钥留在服务器中一两天而感到难过。如果您的 USB 驱动器大于 256MB,您仍然可以将其用于其设计用途 - 存储文件。Billix 不会以任何方式妨碍 USB 驱动器的正常使用。如果您想刻录 CD,也有 Billix 的 ISO 发行版,但我认为它不如在 USB 密钥上方便。
当前的 Billix 发行版(撰写本文时为 0.21)包括以下工具
Damn Small Linux 4.2.5
Ubuntu 8.04 LTS 网络安装
Ubuntu 7.10 网络安装
Ubuntu 6.06 LTS 网络安装
Fedora 8 网络安装
CentOS 5.1 网络安装
CentOS 4.6 网络安装
Debian Etch 网络安装
Debian Sarge 网络安装
Memtest86 内存检查实用程序
Ntpwd Windows 密码更改实用程序
DBAN 磁盘擦除实用程序
因此,借助一个 USB 密钥,系统管理员可以恢复或修复机器,安装八种不同的 Linux 发行版之一,测试系统中的内存,进入密码丢失的 Windows 机器,或在重新利用或处置之前擦除机器的磁盘。为了安装任何基于网络安装的 Linux 发行版,需要具有 DHCP 的工作 Internet 连接,因为网络安装会从基于 Internet 的镜像动态下载每个发行版的安装位。
希望您很高兴查看 Billix。您可以简单地下载 ISO 版本并将其刻录到 CD 以开始使用,但是当您将其安装在 USB 磁盘上时,Billix 的完整实用程序才真正发挥作用。在将其安装在 USB 磁盘上之前,您需要满足以下先决条件
256MB 或更大的 USB 驱动器,带有基于 FAT 或 FAT32 的文件系统。
带有 DHCP 的 Internet 连接(仅适用于网络安装,DSL、Windows 密码删除或使用 DBAN 擦除磁盘不需要)。
install-mbr(Ubuntu 或 Debian 上 mbr 软件包的一部分,某些 USB 驱动器需要)。
syslinux(来自 Ubuntu 或 Debian 上的 syslinux 软件包,创建 USB 驱动器上的引导扇区所需)。
您的系统必须能够从 USB 设备启动(如果是在 2005 年之后制造的,则大多数都具有此功能)。
要安装基于 USB 的 Billix 版本,首先检查您的驱动器。如果该驱动器上有 U3 Windows 软件,您可能需要将其删除以解锁驱动器的所有容量(有关 U3 删除实用程序,请参见“资源”部分,这些实用程序通常基于 Windows)。接下来,如果您的 USB 驱动器上有数据,请备份数据。我再怎么强调也不为过。您将对 USB 驱动器的分区表进行调整,因此备份密钥上已有的任何数据至关重要。从 Sourceforge.net 项目页面将最新版本的 Billix 下载到您的计算机。下载完成后,将 tarball 的内容解压到 USB 驱动器的根目录。
现在 tarball 的内容已在您的 USB 驱动器上,您需要在驱动器上安装主引导记录 (MBR) 并在驱动器上设置引导扇区。首先需要在 USB 驱动器上设置主引导记录。发出install-mbr -p1 <device>(其中<device>是您的 USB 驱动器,例如 /dev/sdb)。警告:确保您获得 USB 驱动器的设备正确,否则您可能会弄乱系统引导设备上的 MBR。-p1 选项告诉 install-mbr 将第一个分区设置为活动分区(这是将包含引导扇区的分区)。
接下来,需要在第一个分区中安装引导扇区。运行syslinux -s <device/partition>(其中<device/partition>是 USB 驱动器的设备和分区,例如 /dev/sdb1)。警告:与安装 MBR 非常相似,如果在错误的设备上运行,安装引导扇区可能是一项危险的操作,因此请小心并在按下 Enter 键之前仔细检查命令行。
此时,可以安全地卸载 USB 驱动器,您可以从 USB 驱动器启动来对其进行测试。一旦您的系统成功从 USB 驱动器启动,您应该会看到类似于图 1 所示的菜单。只需选择您要启动、运行或安装的编号,该发行版就会立即启动。如果您未选择编号,Damn Small Linux 将在 30 秒后自动启动。
Billix 故障排除
将 USB 密钥转换为运行 Billix(或任何基于 USB 的发行版)时,可能会出现一些问题。最常见的问题是 USB 驱动器无法启动系统。这可能是由于多种原因造成的。较旧的系统通常将 USB 磁盘支持分为 USB 软盘仿真和 USB-HDD 仿真。为了使 Billix 在这些系统上工作,需要启用 USB-HDD。如果您的驱动器带有 U3 基于 Windows 的软件库,则通常需要在安装 Billix 之前禁用或删除它。
如果您在左上角看到“MBR123”或类似内容,但系统卡住,则说明您的 MBR 配置错误。尝试install-mbr再次,并确保使用 -p1 开关。运行 install-mbr 后,您需要再次运行 syslinux。如果仍然失败,您可能需要擦除 USB 驱动器并重新开始。备份 USB 驱动器上的数据,然后使用 fdisk 构建新的分区表(确保将其设置为 FAT 或 FAT32)。使用 mkfs.vfat(如果是 FAT32 文件系统,则使用 -F 32 开关)构建新的空白文件系统,再次解压 tarball,并在新定义的文件系统上运行 install-mbr 和 syslinux。
Damn Small Linux 是 Knoppix 的微型版本(它实际上具有 Knoppix 的大部分自动硬件检测例程)。因此,它是一个出色的救援环境,或者可以在您需要“借用”朋友的计算机来做某事时用作快速“受信任桌面”。过去,我曾使用 DSL 在网吧临时征用系统,以便我可以登录工作并修复生病的服务器。我甚至使用 DSL 启动并挂载损坏的 Windows 文件系统,并且能够保存一些数据。DSL 的功能对于其大小来说相当齐全,并且带有两个窗口管理器(JWM 或 Fluxbox)。可以将其配置为以持久方式将其数据保存回 USB 磁盘,因此您可以始终确保拥有关键文件并且可以轻松访问。
所有 Linux 发行版安装都有一个共同点:它们都是基于网络的安装。虽然这对 Billix 来说是一件好事,因为它们占用的空间非常小(每个发行版大约 10MB),但在安装过程中可能会成为一件坏事,因为安装时间会因您的 Internet 连接速度而异。基于网络的安装还有另一个好处。在许多情况下,安装后无需更新新安装的操作系统,因为下载的操作系统位通常是最新的。请注意,当使用基于 Red Hat 的安装程序(CentOS 4.6、CentOS 5.1 和 Fedora 8)时,系统在下载名为 minstg2.img 的文件期间可能会显示卡住。系统可能没有卡住;它只是在下载该文件,该文件相当大(约 40MB),因此可能需要一段时间,具体取决于镜像的速度和连接速度。注意不要在尝试安装的发行版的安装目标中意外指定 USB 磁盘。
memtest86 实用程序已经存在很多年了,但当系统管理员面对不稳定的计算机时,它仍然是一个关键工具。它只做一件事,但它做得非常好:它非常彻底地测试系统的 RAM。只需从 USB 驱动器启动,从菜单中选择 memtest,然后按 Enter,memtest86 将加载并立即开始测试系统的 RAM。此时,您可以从计算机上移除 USB 驱动器。不再需要它,因为 memtest86 非常小,并且在启动时完全加载到内存中。
ntpwd Windows 密码“破解”工具可能是一个有争议的工具,但它包含在 Billix 发行版中,因为作为系统管理员,我被无数次要求进入密码丢失或忘记的 Windows 系统(或 Windows 系统上的帐户)。ntpwd 实用程序可能有点令人生畏,因为 UI 是基于文本的并且几乎不存在,但它在挂载基于 FAT32 或 NTFS 的分区、编辑 SAM 帐户数据库和保存这些更改方面做得很好。请务必阅读 ntpwd 显示的所有消息,并注意选择要编辑的正确磁盘分区。此外,请采纳该程序的建议,使密码无效,而不是尝试从界面中更改密码 - 将密码归零的工作方式更加可靠。
DBAN(也称为 Darik's Boot and Nuke)是一个非常好的“从轨道上核弹”硬盘擦除器。它提供各种级别的擦除,从基本的“用零覆盖磁盘”到完整的 DoD 认证的多遍擦除。与 memtest86 一样,DBAN 很小并且完全加载到内存中,因此您可以启动该实用程序,移除 USB 驱动器,开始擦除并继续处理另一个系统。我曾经使用它来擦除系统上的干净磁盘,然后再将它们交给回收商或出售系统之前。
扩展 Billix
扩展 Billix 以支持其他 Linux 发行版(例如 Knoppix 或 Ubuntu Live CD)相对容易。将 Billix USB tarball 的内容复制到硬盘驱动器上的目录中,然后下载您想要的发行版。将必要的内核和 initrd 复制到放置 USB tarball 内容的目录中,注意重命名任何文件(如果该目录中有同名文件)。将新发行版可能使用的任何压缩文件系统复制到 USB 驱动器(例如,Knoppix 具有 KNOPPIX 目录,Puppy Linux 使用 PUP_XXX.SFS)。然后,查看该发行版的引导配置(应位于 isolinux.cfg 中)。从该文件中取出必要的行,并将它们放入 Billix syslinux.cfg 文件中,根据需要更改文件名。可选地,您可以向 boot.msg 文件添加菜单项。最后,运行syslinux -s <device>,然后重新启动系统以测试新扩展的 Billix。
我有一个 2GB USB 驱动器,其中安装了“超级 Billix”,其中包括 Knoppix 和 Ubuntu 8.04。在口袋里拥有完整的 Ubuntu Live CD 的另一个好处是,由于 USB 2.0 的速度,您可以在不到十分钟的时间内安装 Ubuntu,这在安装节上非常有用。Pendrive Linux 网站上提供了有关创建 Ubuntu 可引导 USB 驱动器的良好信息。
或者,一个非常好的做法(但远远超出本文的范围)是将 Billix 转换为网络引导(通过预启动执行环境或 PXE)环境。我实际上有一个 VMware 虚拟机正在运行 Billix 作为 PXE 引导服务器。
总而言之,Billix 可能不会在早上为您煮咖啡或从地球表面消除 Windows,但是口袋里有一个 USB 密钥,它可以为您提供快速轻松地完成所有这些任务的功能,这可以使系统管理员(或任何面向 Linux 的人员)的生活更加轻松。
资源
Billix 项目页面:sourceforge.net/projects/billix
Damn Small Linux:www.damnsmalllinux.org
DBAN 项目页面:dban.sourceforge.net
Knoppix:www.knoppix.net
Pendrive Linux:www.pendrivelinux.com
Syslinux:syslinux.zytor.com/index.php
Pxelinux:syslinux.zytor.com/pxe.php
U3 删除软件:www.u3.com/uninstall
Bill Childers 是硅谷的一位 IT 经理,与妻子和两个孩子住在一起。他非常喜欢 Linux,可能应该时不时地多晒晒太阳。在业余时间,他为吉尔罗伊大蒜节工作,但他身上没有大蒜味。