如果你在技术社区里问“现在还有人在用 Slackware 吗?”,大概率会得到两种截然不同的反应:一种是“这是什么上古系统?”,另一种则是“这才是真正的 Linux”。作为现存最古老的 Linux 发行版之一,Slackware 以其极简、稳定和“不做任何多余修改”的哲学,至今仍吸引着一批追求纯粹和可控的开发者与系统管理员。然而,它的安装过程,尤其是分区和引导配置,对于习惯了图形化安装向导的现代用户来说,确实像一次“考古发掘”。
最近,我因为一个特定的兼容性测试需求,需要在 VMware Workstation 上部署 Slackware 15。整个过程,与其说是一次安装,不如说是一次对 Linux 系统底层理解的复习。你会发现,那些在 Ubuntu 或 CentOS 中被自动化工具隐藏起来的细节——比如fdisk、mkfs、lilo或elilo——在这里都需要你亲手去触碰。这恰恰是 Slackware 的价值所在:它不帮你做决定,而是把系统的控制权完全交还给你。
这篇文章,我不会把它写成一份流水账式的“下一步”点击指南。相反,我想和你分享的是:在虚拟化环境中安装一个“非主流”的经典 Linux 发行版,真正的难点从来不是点击哪个按钮,而是理解每一步操作背后的意图,并构建一个清晰、可复现且易于维护的虚拟系统环境。我们将从为什么选择 VMware 和 Slackware 这个组合开始,一步步拆解从虚拟机创建、自定义分区(特别是 LVM 模式)、系统安装到后期关键配置(如网络、VMware Tools)的完整闭环。更重要的是,我会指出那些官方文档可能一笔带过,但实际部署中极易导致失败的“暗坑”,比如引导加载器的选择、磁盘标识符的依赖、以及共享文件夹的权限迷宫。
1. 为什么是 VMware + Slackware?理解组合背后的意图
在开始动手之前,我们先明确一下这个技术组合的适用场景。这决定了我们后续所有配置的侧重点。
Slackware 的定位:它不是一个追求“开箱即用”的桌面系统,而是一个高度纯净、稳定的服务器或开发基础平台。它的包管理工具pkgtool和slackpkg简单直接,没有自动依赖解决,这要求使用者清楚地知道自己在安装什么。这种特性使得它非常适合用于:
- 学习 Linux 内部机制:你能看到最接近原始的 System V init 脚本和文件系统布局。
- 构建定制化基础镜像:从零开始,只安装必需的组件,打造一个极度精简且可控的系统。
- 老硬件兼容或特定软件环境:某些传统工业软件或学术工具对特定库版本有严格要求,Slackware 的稳定性是优势。
VMware Workstation Pro 的定位:它是一个功能强大的本地虚拟化平台,相比 VirtualBox,它在性能(特别是磁盘 I/O 和网络)、快照管理、与宿主机集成(如拖放、共享文件夹)方面通常更胜一筹。选择它来运行 Slackware,主要是为了:
- 获得接近物理机的性能,方便进行真实的编译、测试。
- 利用其成熟的快照功能,在配置复杂的服务或尝试危险操作前保存状态,这对学习过程至关重要。
- 方便与宿主机交换文件,通过共享文件夹或网络。
因此,这个组合的核心意图是:在一个性能良好、易于管理的隔离环境中,搭建一个完全由你掌控的、纯净的 Linux 系统,用于深度实践或特定任务。如果你的目标只是快速体验一个 Linux 桌面,那么 Ubuntu 或 Fedora 的现成虚拟机镜像会是更高效的选择。
2. 创建虚拟机:为 Slackware 准备一个“空白房间”
安装的第一步不是插入 ISO,而是设计好虚拟机的“硬件规格”。这一步的配置会影响后续安装的便捷性和系统的最终性能。
2.1 版本选择与获取
- VMware Workstation Pro:建议使用较新的版本(如 17.x)。新版本对现代硬件支持更好,并且解决了旧版本中一些已知的兼容性问题。注意,从 Workstation 16 开始,对某些旧客户机操作系统(OS)的 VMware Tools 支持方式有变化,我们后面会专门处理。
- Slackware 15 ISO:务必从 Slackware 官方网站 下载完整的安装 ISO。不要使用任何“精简版”或“定制版”,以确保安装过程的纯粹性和可预测性。
2.2 关键虚拟机配置参数
创建新虚拟机时,选择“自定义(高级)”,这能让我们控制所有细节。
- 客户机操作系统:选择“Linux”,版本选择“其他 Linux 5.x 内核 64 位”或“其他 Linux 4.x 内核 64 位”。Slackware 15 内核较新,选 5.x 更合适。
- 处理器与内存:
- 处理器:至少分配 2 个核心。如果宿主机性能充足,分配 4 个核心能显著提升编译软件等操作的体验。
- 内存:对于仅命令行界面的服务器模式,1GB 是底线,2GB 可以很流畅。如果打算安装图形界面(如 XFCE),建议分配至少 4GB。
- 网络连接:初期建议选择“桥接模式(Bridged)”。这样虚拟机会从你的局域网路由器获取一个独立 IP,就像一台真实设备,极大简化后续的网络调试和 SSH 连接(如使用 Xshell、FinalShell)。
注意:如果桥接模式遇到问题(如无法获取IP),可以后续在虚拟机设置中改为“NAT 模式”。但桥接模式在成功配置后,网络行为最直观。
- I/O 控制器类型:保持默认的 LSI Logic 即可,兼容性最好。
- 虚拟磁盘类型:这是重点。选择“创建新虚拟磁盘”。
- 磁盘大小:建议 20GB 以上。虽然最小安装可能只需 2-3GB,但预留空间用于存放源代码、编译中间文件等非常必要。不用担心,虚拟磁盘文件不会立刻占用宿主机 20GB 物理空间,它是“稀疏文件”,随实际使用增长。
- 将虚拟磁盘拆分成多个文件:这个选项影响宿主机上的磁盘文件管理。选择“单个文件”性能稍好,选择“拆分文件”便于移动和备份(例如复制到 FAT32 格式的U盘)。对于本地开发环境,选“单个文件”即可。
- 虚拟磁盘类型:务必选择“SCSI”。Slackware 安装程序对 SCSI(在虚拟机中表现为
sda,sdb)的支持比 IDE(hda,hdb)更稳定和现代。
完成创建后,先别急着启动。在虚拟机设置中,将下载好的 Slackware ISO 文件挂载到 CD/DVD 驱动器,并确保设置为“启动时连接”。
3. 安装 Slackware:在命令行中构建你的系统
启动虚拟机,你将进入 Slackware 的引导界面。选择默认选项启动安装程序。接下来的过程,是本次体验的核心。
3.1 键盘映射与登录
启动后,首先会提示配置键盘映射,一般直接按回车选择默认的us映射即可。随后,你会以root用户身份登录到一个简单的终端界面。记住,整个安装过程都在这个命令行下完成。
3.2 磁盘分区:理解fdisk与 LVM 的抉择
运行setup命令开始安装。第一个重大决策点就是分区。
Slackware 提供了fdisk或cfdisk工具。对于新手,cfdisk的伪图形界面更友好。这里我们讨论两种主流方案:
方案A:简单分区(推荐初学者)适合快速上手,逻辑清晰。例如为一个 20GB 磁盘规划:
/dev/sda1: 1GB, 类型Linux swap, 作为交换分区。/dev/sda2: 剩余空间,类型Linux, 挂载点为/(根目录)。
方案B:使用 LVM(逻辑卷管理)这正是你摘要描述中提到的“自己分区、使用 LVM 模式安装”。LVM 提供了巨大的灵活性,允许你在安装后动态调整分区大小(如增加/home的空间而无需重装系统)。这是向生产环境迈进的一步。
LVM 安装流程概要:
- 在
cfdisk中,先创建一个较小的/boot分区(如 500MB,类型Linux),这是引导所必需的。 - 将剩余所有空间创建为一个类型为
Linux LVM的分区(例如/dev/sda2)。 - 退出分区工具后,在
setup菜单中选择ADDSWAP和TARGET时,安装程序会识别到 LVM 物理卷,并引导你创建卷组(VG)和逻辑卷(LV)。 - 你可以创建多个 LV,例如:
swap_lv: 2GB, 用于交换空间。root_lv: 15GB, 挂载为/。home_lv: 剩余空间,挂载为/home。
核心建议:如果你是第一次安装 Slackware,强烈建议先采用方案A(简单分区)成功安装一次。在理解了整个安装流程和系统启动过程后,再在第二次安装中尝试 LVM。LVM 在配置引导加载器时需要额外注意,容易因为
/boot分区设置不当导致系统无法启动。
3.3 选择软件包与安装
分区格式化后,会进入软件包选择。Slackware 的软件系列以字母标识:
A(基础系统)、AP(各种应用)、D(开发工具)、F(FAQ文档)、K(内核源码)、L(库文件) 等。 对于最小化服务器或学习环境,可以只选择A、AP、L系列。如果想拥有一个完整的桌面环境(包括 X Window 和 XFCE),则需要额外选择X、XAP系列。
选择方式是按空格键标记/取消标记[*]。选择好后,安装程序会开始复制文件,这个过程需要一些时间。
3.4 配置引导加载器:系统启动的“钥匙”
安装完软件包后,会进入系统配置阶段。最关键的一步是配置引导加载器。Slackware 15 默认提供两种:
- LILO:Slackware 传统的引导程序,简单可靠,但配置相对静态。
- ELILO:用于 EFI 系统的引导程序。由于我们在 VMware 中创建的是传统 BIOS 启动的虚拟机,通常应该选择 LILO。
在安装程序的引导加载器配置界面,选择LILO,然后选择Simple安装模式,通常它会自动找到正确的根分区(如/dev/sda2)并写入主引导记录(MBR)。请务必确认它识别的设备是正确的。
3.5 最后配置与重启
之后,按提示配置控制台字体、系统主机名、网络(可以先跳过,进入系统后再配)、系统服务(如sshd建议开启以支持远程登录)、时区,最后为root用户设置一个强密码。
全部完成后,取出 ISO 镜像(在 VMware 菜单中“断开连接”或修改虚拟机设置),重启虚拟机。如果一切顺利,你将看到 LILO 的引导提示符,按回车即可启动全新的 Slackware 系统。
4. 安装后的关键配置:让虚拟机“好用”起来
系统启动成功,只是完成了“从无到有”。接下来,我们需要让它成为一个便于开发和管理的环境。
4.1 网络配置:实现与宿主机及外网的通信
启动后,首先检查网络。运行ifconfig查看网卡(通常是eth0)是否获得了 IP 地址(如果你之前选择了桥接模式)。
- 如果未获取IP:Slackware 使用
/etc/rc.d/rc.inet1.conf文件配置静态 IP。你可以编辑它,但更简单的方式是使用 DHCP。确保/etc/rc.d/rc.inet1.conf中关于eth0的配置类似:
然后重启网络服务:IPADDR[0]="" NETMASK[0]="" USE_DHCP[0]="yes"/etc/rc.d/rc.inet1 restart - 配置 SSH 服务:安装时如果开启了
sshd服务,它默认已运行。你可以使用netstat -tlnp查看 22 端口是否在监听。现在,你就可以从宿主机使用 Xshell、FinalShell 或 OpenSSH 客户端通过 IP 地址连接了,这比在 VMware 控制台里操作要方便得多。
4.2 安装 VMware Tools:提升集成体验的“桥梁”
VMware Tools 是一组驱动和实用程序,能显著提升虚拟机的性能和使用体验,包括:
- 同步宿主机与虚拟机时间。
- 启用共享文件夹(在宿主机和虚拟机间直接共享目录)。
- 改善鼠标移动和图形性能(在图形界面下)。
- 支持自适应分辨率调整。
安装步骤(在 Slackware 15 中):
- 在 VMware 菜单中,选择
虚拟机->安装 VMware Tools。这会在虚拟机中挂载一个包含安装程序的虚拟光盘。 - 在 Slackware 虚拟机中,挂载这个光盘:
mkdir /mnt/cdrom mount /dev/cdrom /mnt/cdrom - 将安装包复制到本地并解压:
cp /mnt/cdrom/VMwareTools-*.tar.gz /tmp/ cd /tmp tar zxvf VMwareTools-*.tar.gz - 运行安装脚本。这里有一个关键点:Slackware 15 内核较新,而 VMware 自带的 Tools 可能不完全兼容。脚本会编译内核模块。你需要确保系统已安装内核头文件和编译工具链(
gcc,make等)。如果你在安装时选择了D系列包,这些应该已经存在。cd vmware-tools-distrib/ ./vmware-install.pl - 安装脚本会交互式地提问,大部分问题可以直接按回车使用默认值。重点关注:
- 当询问是否运行
vmware-config-tools.pl时,选择yes。 - 在配置过程中,如果遇到内核模块编译失败,可能是内核版本不匹配。可以尝试搜索社区方案,或考虑使用开源替代方案
open-vm-tools(在某些场景下是更好的选择)。
- 当询问是否运行
- 安装完成后,重启虚拟机:
shutdown -r now
4.3 配置共享文件夹(如果已安装 VMware Tools)
- 在 VMware 虚拟机设置中,添加一个共享文件夹,指向宿主机上的某个目录(例如
D:\VM_Share)。 - 在 Slackware 中,共享文件夹通常被挂载在
/mnt/hgfs/目录下。如果该目录为空,可能需要手动挂载或检查 VMware Tools 的hgfs模块是否加载。 - 你可以将共享文件夹挂载到更方便的位置,例如
/home/share:
(mkdir /home/share mount -t vmhgfs .host:/VM_Share /home/share.host:/VM_Share中的VM_Share是你在 VMware 中设置的共享名称)。 - 为了方便,可以将挂载命令添加到
/etc/rc.d/rc.local文件中,实现开机自动挂载。
5. 避坑指南与进阶思考
回顾整个过程,以下几个点是新手最容易“翻车”的地方,也是从“安装成功”到“系统可用”的关键跨越。
5.1 引导失败:LILO 与磁盘标识符
系统重启后如果黑屏或提示LI后停止,很可能是引导加载器问题。
- 检查
/etc/lilo.conf:确认root=参数指向的是正确的根分区,例如root=/dev/sda2(对于简单分区)或root=/dev/mapper/vgname-root_lv(对于 LVM)。 - 重装 LILO:进入 Slackware 安装光盘的救援模式,挂载你的根分区,
chroot进去,然后运行lilo -v重新安装。 - 考虑使用 GRUB:虽然 Slackware 默认是 LILO,但你也可以手动安装 GRUB2,它对复杂分区(如 LVM)的支持和配置灵活性更好,社区资料也更丰富。
5.2 网络连接问题:桥接 vs NAT
- 桥接模式失败:检查宿主机防火墙、路由器 DHCP 服务是否正常。可以暂时切换到 NAT 模式测试虚拟机本身能否上网(
ping 8.8.8.8)。 - FinalShell/Xshell 连不上:首先确认虚拟机 IP(
ifconfig),其次确认 SSH 服务正在运行(ps aux | grep sshd),最后检查宿主机防火墙是否阻止了连接。
5.3 VMware Tools 安装失败
- 编译内核模块错误:这是最常见的问题。确保安装了
kernel-headers和完整的开发工具包。可以尝试从 Slackware 官方镜像站下载对应内核版本的源码,并建立正确的符号链接。 - 使用 open-vm-tools:对于新版本的 Linux 客户机,VMware 官方推荐使用发行版仓库中的
open-vm-tools。你可以通过 Slackware 的slackpkg工具搜索并安装它,这通常比编译闭源的 VMware Tools 更顺畅。
5.4 从“能用”到“好用”:下一步是什么?
成功安装并完成基础配置后,你的 Slackware 虚拟机已经是一个坚实的起点。接下来,你可以根据你的目标深化它:
- 搭建开发环境:使用
slackpkg安装gcc、git、python等,配置你的代码工作区。 - 部署服务:安装配置
nginx、postgresql或docker(需自行编译或找第三方包),将其作为一个服务器环境来学习。 - 探索包管理:深入理解
slackpkg的更新机制,学习如何从slackbuilds.org编译安装第三方软件,这是掌握 Slackware 的必修课。 - 制作模板镜像:利用 VMware 的快照和克隆功能,将这个配置好的纯净系统保存为模板。以后任何新实验都可以从模板快速克隆,保持宿主机的整洁。
最终,在 VMware 中运行 Slackware 的价值,远不止于让一个系统启动起来。它更像是一个可控的实验室,让你在一个现代、便捷的虚拟化平台上,亲手实践那些构成 Linux 基石的概念和操作。每一次分区、每一次编译驱动、每一次解决引导问题,都是对“系统如何工作”这一根本问题的一次深入回答。这种理解,是任何图形化安装工具都无法直接给予的。