VMware Workstation 中安装配置 Slackware 15 完整指南
最近在尝试搭建一个轻量级的开发环境,想找一个稳定、简洁且高度可定制的 Linux 发行版,最终选择了 Slackware 15。作为最古老的 Linux 发行版之一,Slackware 以其“KISS”(Keep It Simple, Stupid)哲学著称,不依赖复杂的图形化安装器或自动化配置工具,非常适合想深入了解 Linux 系统底层和网络配置的开发者。然而,直接在物理机上安装可能会遇到驱动兼容性问题,因此,在 VMware Workstation 虚拟机中运行 Slackware 成为了一个理想的折中方案。
本文将手把手带你完成在 VMware Workstation 中安装和配置 Slackware 15 的全过程。无论你是想体验 Slackware 的纯粹性,还是需要一个稳定的服务器环境进行学习,这篇文章都将提供从虚拟机创建、系统安装、网络配置到 VMware Tools 集成的完整闭环指南。我们会详细解释每个步骤背后的原理,并提供可复现的命令和配置,帮助你避开常见的“坑”。
1. 背景与核心概念
在开始动手之前,我们先了解一下两个核心组件:VMware Workstation 和 Slackware Linux。
1.1 VMware Workstation 是什么?
VMware Workstation 是一款功能强大的桌面虚拟化软件。它允许你在单一的物理计算机(称为“主机”)上,同时运行多个独立的操作系统(称为“客户机”或“虚拟机”)。对于开发者而言,它的价值在于:
- 环境隔离:可以在虚拟机中测试新软件、配置服务,而不会污染或影响主机的稳定环境。
- 快照与克隆:可以随时保存虚拟机的某个状态(快照),并在出现问题时一键恢复。克隆功能可以快速复制出多个相同的测试环境。
- 硬件模拟:为虚拟机提供标准化的虚拟硬件(如网卡、磁盘控制器),极大提高了不同操作系统在 VMware 上的兼容性。
- 工具集成:通过安装 VMware Tools,可以实现主机与虚拟机之间的文件拖拽、剪贴板共享、屏幕自适应调整等便捷功能。
1.2 Slackware Linux 是什么?
Slackware Linux 由 Patrick Volkerding 创建于 1993 年,是现存历史最悠久的 Linux 发行版。它的设计哲学是稳定、简洁和 UNIX 风格。
- KISS 原则:系统配置主要通过编辑纯文本文件完成,不提供复杂的图形化配置向导。这要求用户对 Linux 系统有更深入的理解,但同时也带来了极高的透明度和可控性。
- 软件包管理:使用
pkgtool和installpkg/removepkg等工具管理.tgz或.txz格式的软件包。它不像apt或yum那样自动解决依赖关系,需要用户手动处理,这既是挑战也是学习系统组成的好机会。 - 稳定与纯净:Slackware 追求稳定性,软件版本更新相对保守。其默认安装不包含 systemd,而是使用传统的 SysV init 脚本,系统服务管理方式清晰直接。
为什么选择在 VMware 中运行 Slackware?
- 降低入门门槛:避免了硬件兼容性问题,如无线网卡、显卡驱动等。
- 安全实验:可以大胆尝试分区、配置网络、安装/卸载软件,而无需担心物理机系统崩溃。
- 便捷共享:虚拟机文件可以轻松拷贝到其他电脑上运行,环境一致。
- 集成开发:对于需要在特定 Linux 环境下编译或测试代码的开发者,一个配置好的 Slackware 虚拟机是完美的沙盒。
2. 环境准备与版本说明
在开始安装前,请确保你的主机环境已就绪。版本信息仅供参考,核心步骤在不同小版本间通常通用。
- 主机操作系统:Windows 10/11 或 Linux 发行版(如 Ubuntu)。本文以 Windows 11 主机为例。
- 虚拟化软件:VMware Workstation Pro 17。你也可以使用免费的 VMware Workstation Player,大部分功能相同。请确保已从官网下载并完成安装。
- 重要提示:如果主机启用了 Hyper-V(常见于 Windows 10/11 家庭版以上版本用于 WSL2),VMware 会报错不兼容。你需要以管理员身份运行命令提示符,输入
bcdedit /set hypervisorlaunchtype off并重启电脑来禁用 Hyper-V。
- 重要提示:如果主机启用了 Hyper-V(常见于 Windows 10/11 家庭版以上版本用于 WSL2),VMware 会报错不兼容。你需要以管理员身份运行命令提示符,输入
- 客户机操作系统镜像:Slackware 15.0 安装 ISO 文件。你可以从 Slackware 官网或可靠的镜像站下载
slackware64-15.0-install-dvd.iso(64位版本)。 - 硬件资源建议(为虚拟机分配):
- CPU:2 核或以上。
- 内存:至少 2GB,建议 4GB 以获得更流畅的体验。
- 硬盘:至少 20GB,建议 30-40GB 以备安装更多软件。
- 网络:使用 NAT 模式即可,便于虚拟机访问外网。
3. 创建与配置 VMware 虚拟机
这是搭建环境的第一步,正确的虚拟机配置能为后续安装铺平道路。
3.1 新建虚拟机
- 打开 VMware Workstation,点击“创建新的虚拟机”。
- 选择“典型(推荐)”配置,点击下一步。
- 在“安装客户机操作系统”页面,选择“安装程序光盘映像文件(iso)(M):”,然后点击“浏览”按钮,找到并选中你下载的
slackware64-15.0-install-dvd.iso文件。VMware 通常能自动识别出这是“Slackware Linux 15”。 - 点击下一步。
3.2 命名与指定位置
- 为你的虚拟机取一个易于识别的名字,例如
Slackware15-Dev。 - 选择虚拟机文件的存储位置。建议放在一个有足够剩余空间的磁盘分区。
- 点击下一步。
3.3 指定磁盘容量
- “最大磁盘大小”建议设置为 40.0 GB。
- 选择“将虚拟磁盘存储为单个文件”。这对于大多数场景性能更好,管理也更简单。
- 点击下一步。
3.4 自定义硬件(关键步骤)
在“已准备好创建虚拟机”页面,不要直接点完成。点击“自定义硬件...”按钮,进行重要调整。
- 内存:在左侧选择“内存”,根据你的主机内存大小,为虚拟机分配 4096 MB(4GB)。
- 处理器:选择“处理器”,将“内核数量”设置为 2。
- 网络适配器:选择“网络适配器”,确保“网络连接”模式为NAT。这是最方便的模式,虚拟机可以借助主机的网络连接访问互联网,同时主机和虚拟机之间也能互相通信。
- USB控制器:建议移除或保持默认,Slackware 安装通常不需要。
- 打印机:可以移除,除非你确定需要在虚拟机中使用。
- 声卡:可以移除以节省资源。
- 完成后点击“关闭”,然后点击“完成”。
至此,一个为 Slackware 15 准备好的空白虚拟机就创建好了。
4. 安装 Slackware 15 操作系统
现在启动虚拟机,开始正式的 Slackware 安装之旅。这个过程是理解 Slackware 哲学的第一课。
4.1 启动与登录安装程序
- 在 VMware 左侧库中选中你新建的虚拟机,点击“开启此虚拟机”。
- 虚拟机会从 ISO 镜像启动,你会看到 Slackware 的引导菜单。直接按Enter键,从默认的“Huge kernel”启动。
- 系统加载完毕后,你会看到一个命令行登录界面。Slackware 安装程序就运行在这个终端里。
- 使用默认的
root用户登录,密码为空,直接按 Enter。
4.2 准备磁盘分区
Slackware 使用fdisk或cfdisk进行分区。cfdisk有简单的文本界面,对新手更友好。
- 首先,查看磁盘设备名。通常新虚拟机的磁盘是
/dev/sda。fdisk -l - 使用
cfdisk对/dev/sda进行分区。cfdisk /dev/sda - 在
cfdisk界面中:- 使用键盘方向键选择
[New]创建新分区。 - 选择
[Primary]类型。 - 输入分区大小。一个典型的最小化分区方案如下:
- 交换分区 (swap):大小为内存的 1-2 倍(例如 4GB)。类型需要手动设置为
Linux swap / Solaris(在cfdisk中选择[Type],然后输入82的代码)。 - 根分区 (root):剩余的所有空间。类型保持为
Linux filesystem。
- 交换分区 (swap):大小为内存的 1-2 倍(例如 4GB)。类型需要手动设置为
- 分区创建好后,选择
[Write]将分区表写入磁盘,输入yes确认。然后选择[Quit]退出。
- 使用键盘方向键选择
4.3 格式化分区并选择安装源
- 格式化刚才创建的分区:
# 格式化交换分区,假设是 /dev/sda1 mkswap /dev/sda1 # 启用交换分区 swapon /dev/sda1 # 格式化根分区为 ext4 文件系统,假设是 /dev/sda2 mkfs.ext4 /dev/sda2 - 挂载根分区到
/mnt:mount /dev/sda2 /mnt - 现在运行 Slackware 的安装主程序:
setup - 在
setup菜单中:- 选择
ADDSWAP:它会自动检测并激活/dev/sda1交换分区。 - 选择
TARGET:选择根分区/dev/sda2,并选择将其格式化为ext4。当询问是否安装到/mnt时,选择Yes。 - 选择
SOURCE:因为我们是直接从安装 ISO 启动,所以选择Install from a Slackware CD or DVD。安装程序会自动挂载 ISO 文件。
- 选择
4.4 选择软件包系列
这是 Slackware 安装的特色环节。系统将软件分为多个系列(A, AP, D, E, F, K, L, N, T, TCL, X, XAP, Y 等),你可以选择全部安装(约 10GB),或自定义选择。
- 在
SELECT PROMPTING MODE界面,对于新手,建议选择full进行完全安装,以避免后续手动查找依赖的麻烦。选择OK。 - 接下来会进入
PACKAGE SERIES SELECTION。如果你想完全安装,直接按Enter选择所有系列即可。如果你想精简安装,可以取消一些不需要的系列,例如:X和XAP:X Window 图形界面及相关应用。如果你确定只使用命令行,可以不选。K和KDE:KDE 桌面环境。Y:游戏合集。- 对于开发和学习,建议至少保留 A, AP, D, L, N这几个核心系列。
- 选择好系列后,进入
INSTALLATION PROGRESS。安装程序会开始解压并安装所有选中的软件包,这个过程需要一些时间,请耐心等待。
4.5 系统配置
软件包安装完成后,setup程序会引导你进行最后的配置。
- 配置调制解调器:通常选择
No。 - 启动热插拔:选择
Yes。 - 安装 LILO(引导加载器):
- 选择
Simple安装方式。 - 安装位置选择
/dev/sda(MBR,主引导记录),这是最常见的选择。 - 在配置 LILO 启动参数时,可以保持默认,直接按
OK。 - 最后选择
Install安装 LILO。
- 选择
- 配置鼠标:选择
ps/2(VMware 虚拟鼠标通常模拟为此类型)或usb。如果不需要在控制台使用鼠标,也可以选None。 - 配置网络:
- 为你的机器设置一个主机名,例如
slackware-vm。 - 接下来配置网络接口。通常虚拟网卡是
eth0。 - 选择
Static IP(静态IP)或DHCP(动态获取)。在 VMware NAT 模式下,选择DHCP是最简单的,虚拟机会自动从 VMware 的虚拟 DHCP 服务器获取 IP 地址。 - 后续的域名、DNS 等如果使用 DHCP,可以留空或使用默认值。
- 为你的机器设置一个主机名,例如
- 选择服务:这里会列出许多可以开机自启的服务(如 sshd, httpd)。你可以用空格键选择/取消选择。强烈建议启用
sshd(OpenSSH 服务器),这样以后可以通过 SSH 工具(如 Xshell, FinalShell)远程连接虚拟机,比在 VMware 控制台里操作更方便。其他服务如httpd(Apache) 可以根据需要选择。 - 配置控制台字体和时区:按照提示选择你所在的时区(例如 Asia/Shanghai)。
- 选择默认窗口管理器:如果你安装了 X 系列,这里会让你选择默认的桌面环境。Slackware 15 默认提供
KDE和XFCE。你可以选择其中一个,例如startkde(KDE Plasma)。 - 设置 root 密码:这是最关键的一步!为 root 用户设置一个强密码,并牢记它。
- 退出安装:最后,安装程序会询问是否创建安装盘或重启。选择
No跳过创建安装盘,然后选择Yes, reboot the machine重启系统。
重要:重启前,你需要让虚拟机从硬盘启动,而不是继续从 ISO 启动。在虚拟机重启的过程中,快速点击 VMware 窗口,然后按F2进入虚拟机的 BIOS 设置(如果错过,可以关闭虚拟机电源,在设置里将“启动时进入固件”勾选上再启动)。在 BIOS 中将硬盘调整为第一启动项。更简单的方法是:在虚拟机重启时,在 VMware 菜单栏选择虚拟机->电源->打开电源时进入固件,然后在启动顺序里确保硬盘在最上面。
重启后,你应该能看到 LILO 的引导菜单,选择Linux启动,然后使用root和你设置的密码登录系统。恭喜,Slackware 15 基本系统安装完成!
5. 安装后的基础配置与 VMware Tools
系统安装好后,还需要进行一些基础配置并安装 VMware Tools 来获得更好的集成体验。
5.1 更新软件包源并安装基础工具
首先,确保虚拟机可以访问网络(如果你在安装时配置了 DHCP,通常已经可以)。
# 测试网络连通性 ping -c 4 www.baidu.com如果无法 ping 通,检查网络接口是否启动:
# 查看网络接口状态 ifconfig # 如果 eth0 没有 IP,尝试重启网络服务(Slackware 使用 rc.inet1) /etc/rc.d/rc.inet1 restartSlackware 官方不提供在线仓库,但我们可以使用第三方仓库,如 Slackware 社区的slackpkg+或 Alien Bob 的仓库。这里以配置slackpkg(官方工具)的镜像源为例,虽然它主要用于安全更新,但也可以获取一些基础更新。
- 编辑
/etc/slackpkg/mirrors文件,取消注释一个离你近的镜像源(例如中国的镜像):
找到类似nano /etc/slackpkg/mirrors# http://mirrors.ustc.edu.cn/slackware/slackware64-15.0/的行,删除行首的#号以启用它。按Ctrl+O保存,Ctrl+X退出。 - 更新软件包列表:
slackpkg update - 升级所有已安装的包:
slackpkg upgrade-all
5.2 安装 VMware Tools(增强功能)
VMware Tools 对于改善虚拟机体验至关重要,它提供了更好的显示驱动、鼠标集成、时间同步和共享文件夹等功能。
重要提示:根据网络热词中提到的信息,VMware 已不再为旧版客户机操作系统自动提供 VMware Tools ISO。对于 Slackware 这样的 Linux 发行版,我们需要使用开源替代品open-vm-tools。
- 首先,我们需要安装编译
open-vm-tools可能需要的开发工具和内核头文件。确保你安装了kernel-headers和开发工具链。在完全安装的 Slackware 中,这些通常已经存在。如果没有,你需要从安装 ISO 中手动安装对应的软件包,过程较为复杂。这里假设你已完全安装。 - 下载
open-vm-tools源码包。你可以从 VMware 的 GitHub 仓库或 SlackBuilds.org 获取。使用 SlackBuilds 是更简单的方式,因为它会处理依赖和打包。- 访问 SlackBuilds.org,搜索
open-vm-tools。 - 下载对应的 SlackBuild 脚本和源码包。
- 按照该脚本的 README 进行编译安装。
- 访问 SlackBuilds.org,搜索
- 由于编译过程对新手有一定挑战,另一种更简单的方法是使用预编译的二进制包(如果可用)。你可以尝试在网络上搜索 “Slackware 15 open-vm-tools package” 看看是否有好心人提供的
.txz包。 - 安装完成后,启用相关服务:
# 启用 vmtoolsd 服务(如果使用 open-vm-tools 的标准配置) chmod +x /etc/rc.d/rc.open-vm-tools /etc/rc.d/rc.open-vm-tools start # 设置开机自启(编辑 /etc/rc.d/rc.local) echo “/etc/rc.d/rc.open-vm-tools start” >> /etc/rc.d/rc.local - 配置共享文件夹(可选但非常实用):
- 在 VMware 虚拟机设置中,添加一个共享文件夹,指向主机上的某个目录。
- 在 Slackware 虚拟机中,创建挂载点并挂载:
mkdir /mnt/hgfs mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other- 为了使挂载永久生效,可以将上述
mount命令添加到/etc/rc.d/rc.local中。
5.3 配置 SSH 远程连接
如果你在安装时启用了sshd服务,它应该已经运行了。你可以通过netstat -tlnp查看 22 端口是否在监听。
为了能从主机(如使用 Xshell 或 FinalShell)连接,我们需要知道虚拟机的 IP 地址。
ip addr show eth0记下inet后面的 IP 地址(例如 192.168.xxx.xxx)。
现在,你可以在主机上打开 SSH 客户端,输入这个 IP 地址,端口 22,用户名root和密码进行连接。这比在 VMware 控制台里操作要方便得多。
6. 常见问题与排查思路
在 VMware 中运行 Slackware 可能会遇到一些典型问题,下面列出其现象和解决方法。
| 问题现象 | 可能原因 | 排查与解决思路 |
|---|---|---|
| 虚拟机启动后黑屏,无任何输出 | 1. 图形驱动问题。 2. 内核参数不兼容。 | 1. 重启虚拟机,在 LILO 引导时按Tab键编辑启动参数,在末尾添加nomodeset或3(强制进入文本模式)。2. 检查 VMware 显卡设置是否为“自动检测”或“指定”为较低版本。 |
| 网络无法连接(ping 不通外网) | 1. VMware 网络适配器未启用或模式错误。 2. Slackware 内网络服务未启动。 3. 防火墙规则阻止。 | 1. 检查虚拟机设置,确认网络适配器已连接且为 NAT 模式。 2. 运行 ifconfig eth0查看是否有 IP。运行/etc/rc.d/rc.inet1 restart重启网络。3. Slackware 默认防火墙规则较严格。可暂时停止防火墙: /etc/rc.d/rc.ip_forward stop和/etc/rc.d/rc.firewall stop进行测试。 |
| 安装 VMware Tools/open-vm-tools 后,鼠标移动不流畅或无法在主机/虚拟机间自由切换 | 1. 未正确安装或启动open-vm-tools。2. 未安装 X11 驱动组件。 | 1. 确认vmtoolsd服务正在运行:`ps aux |
| 使用 Finalshell/Xshell 连接超时 | 1. 虚拟机 IP 地址变化(DHCP)。 2. SSH 服务未运行。 3. 主机防火墙阻止。 | 1. 在虚拟机内用ip addr重新查看 IP。2. 检查 SSH 服务状态: /etc/rc.d/rc.sshd status,如果没有运行则启动它:/etc/rc.d/rc.sshd start。3. 在 VMware 网络编辑器中,确保 NAT 设置允许端口转发(通常默认允许)。 |
| 系统时间与主机不同步 | 未启用时间同步功能。 | 1. 安装open-vm-tools后,vmtoolsd服务通常包含时间同步。2. 也可以安装 ntp或chrony包,配置 NTP 服务进行同步。 |
| 共享文件夹无法挂载 | 1.open-vm-tools未包含或未编译hgfs模块。2. 挂载命令或权限错误。 | 1. 确保编译open-vm-tools时启用了--enable-hgfs选项。2. 检查内核模块是否加载:`lsmod |
7. 最佳实践与工程建议
将 Slackware 部署在 VMware 中用于开发或学习时,遵循以下建议可以提升效率和稳定性。
- 使用快照功能:在进行任何重大系统变更(如升级内核、安装新桌面环境、修改核心配置文件)之前,为虚拟机创建一个快照。如果操作失败,可以快速回滚到稳定状态。
- 分离数据与系统:在初始分区时,可以考虑单独划分一个
/home分区。这样即使系统崩溃需要重装,个人数据和配置文件也能得以保留。在 VMware 中,你也可以后期添加一块新的虚拟硬盘专门存放数据。 - 善用 SSH 密钥认证:为 root 或普通用户配置 SSH 公钥认证,禁用密码登录,可以极大增强安全性。将你的公钥添加到
~/.ssh/authorized_keys文件中。 - 配置静态 IP(可选):对于需要长期运行的服务器环境,在 VMware 的 NAT 网络设置中,可以配置静态地址映射,为虚拟机的 MAC 地址分配固定的 IP,方便管理。
- 定期更新系统:虽然 Slackware 以稳定著称,但仍需关注安全公告。定期使用
slackpkg update和slackpkg upgrade-all来安装安全更新。更新前务必阅读更新日志,了解可能的影响。 - 学习 Slackware 的 init 系统:Slackware 使用 BSD 风格的 init 脚本,位于
/etc/rc.d/目录。学习如何使用rc.xxx start|stop|restart来管理服务,以及如何将服务添加到/etc/rc.d/rc.local实现开机自启,这是掌握 Slackware 系统管理的核心。 - 文档与笔记:由于 Slackware 的配置大多通过编辑文本文件完成,建议将你修改过的重要配置文件(如
/etc/rc.d/rc.local,/etc/network/interfaces等)备份,或将配置步骤记录下来。这能在系统重置或重建时节省大量时间。 - 探索包管理:深入理解
installpkg,removepkg,upgradepkg和pkgtool的使用。虽然不如自动依赖解决方便,但这种手动管理的方式能让你对系统组成了如指掌。对于更复杂的软件,可以学习使用slackbuilds.org上的脚本来编译安装。
通过以上步骤,你不仅成功在 VMware 中运行起了 Slackware 15,还拥有了一个干净、可控、高度定制的 Linux 学习环境。这个环境非常适合用来深入理解 Linux 服务管理、网络配置和 shell 编程。接下来,你可以尝试在这个系统上搭建 LAMP/LEMP 环境、配置 Samba 文件共享、或者学习如何从源码编译软件,真正体验 Slackware 所代表的“简单”哲学背后的强大力量。如果在实践中遇到其他问题,Slackware 的官方文档和活跃的社区论坛都是宝贵的资源。
