slackware,那个让我又爱又恨的老朋友

admin

每次有人让我推荐 Linux 发行版,我很少主动提 Slackware,不是它不好,而是它太“老派”了:不哄你、不替你兜底,装完能不能进图形界面,常常得看你有没有认真读文档,但如果你问我,哪款系统让我真正开始理解 Linux,我会毫不犹豫地说:Slackware。

我第一次装 Slackware 是在一台二手 ThinkPad X230 上,那时候我用惯了“下一步、下一步、完成”的发行版,觉得装系统嘛,无非是选语言、分区、设置用户,然后等进度条跑完,结果 Slackware 的 ncurses 安装界面一出来,我反而有点兴奋:分区要自己用 fdisk 划,启动器要自己配,装完后重启,迎接我的不是漂亮的登录界面,而是一个黑漆漆的终端,那一刻我盯着屏幕愣了十几秒,心里想的是:完了,图形界面呢?

后来我翻着 SlackBook,一步步跑 xorgsetup,手动检查显卡驱动,改 xorg.conf,再用 xwmconfig 选 Xfce,最后敲下 startx,桌面弹出来的瞬间,那种成就感特别具体——不是“我装好了一个系统”,而是“我知道这个系统为什么能跑起来”,这就像骑惯了电动车,突然让你推一辆手排挡的老车,起步会熄火,但学会之后,你会听见发动机每个动作的声音。

Slackware 最让我又爱又恨的地方,是它的包管理,installpkg、upgradepkg、removepkg、pkgtool,这些工具朴素得像一把老螺丝刀,它不自动解决依赖,第一次装个稍微复杂点的软件,缺库能缺到你怀疑人生,我印象特别深,有次想装一个视频播放器,命令行报了一串依赖错误,我只能用 ldd 看缺什么,再去 SlackBuilds 找脚本,用 sbopkg 编译,折腾了一个晚上,播放器终于出声了,我却一点都不生气,反而觉得这一晚没白过:我终于知道那些库到底装在哪里、被谁调用、为什么缺一个就不行。

但我也必须说句实话:这套方式不适合所有人,我的观点很明确——Slackware 不是“落后”,它是选择把复杂度摆在明面上,现代发行版像自动挡汽车,你踩油门就走,空调、导航、倒车影像全给你安排好了;Slackware 更像手排挡工具箱,结构清楚、规则稳定,但你要自己判断什么时候换挡,它默认使用 SysVinit 那一套 rc 脚本,服务开不开、怎么开,常常就是 /etc/rc.d 下面一个脚本加不加执行权限的事,透明是真透明,麻烦也是真麻烦。

有次我帮一个学弟装系统,他原本只想写代码,结果在 Ubuntu 上装显卡驱动时一路“下一步”,十分钟就进桌面了,后来他看我折腾 Slackware,问:“你这图啥?”我让他试着配一次无线网卡:改 wpa_supplicant.conf,检查 rc.inet1.conf,重启网络服务,再用 dmesg 看固件有没有加载,他折腾到一半就崩溃了,说这简直是自虐,我笑着说,是,但下次你的网卡不工作,你至少知道从哪查,而不是只会重启,后来他真在自己的服务器上遇到网络问题,靠看日志和 rc 脚本找到了原因,回来跟我说:“好像还真有点用。”这就是我对 Slackware 的态度:它不负责让你舒服,它负责让你明白。

我也不吹它,Slackware 的软件版本相对保守,安全更新需要你主动关注,依赖处理费时间,桌面开箱体验也不如 Fedora、Ubuntu 这些“即插即用”的选手,你要是只想安安静静写文档、打游戏、看视频,我不建议拿它当唯一主力,可如果你愿意花一个周末,在一台旧机器或虚拟机里装一次 Slackware,自己分区、配启动、连网络、装桌面,你会对 Linux 多一层很实在的理解,它不是网红系统,更像一位不太会说漂亮话的老朋友:平时不显眼,但你真遇到问题,它把该在哪儿、为什么,都摆得清清楚楚。

所以现在我的 X230 里还留着一个 Slackware 分区,不常开机,但偶尔会进去敲几条命令,那一刻我总会想起第一次面对黑屏终端的自己,Slackware 没让我变成高手,它只是让我少了一点“系统坏了只能重装”的慌张,多了一点“我能看看它到底怎么了”的底气,这就够了。

目录[+]