Bumblebee 是 Linux 平台上的一款 NVidia 显卡的辅助工具,它可以让 NVidia 显卡启用 Optimus 技术,就是在笔记本电脑平台上由独立显卡渲染,集成显卡显示。其实就是显卡硬件加速。
这是一款非常有用的工具,但是它曾经出过一次很严重的 Bug(虽然是 3 年前),因为一个空格,大群 Ubuntu 用户的 usr 文件夹被删除了。
那是一次 Git 更新,变动位于 install.sh:
@@ -37,7 +37,7 @@
# You should have received a copy of the GNU General Public License
# along with bumblebee. If not, see <http://www.gnu.org/licenses/>.
#
-BUMBLEBEEVERSION=1.4.31
+BUMBLEBEEVERSION=1.4.32
ROOT_UID=0
@@ -348,7 +348,7 @@ case "$DISTRO" in
ln -s /usr/lib/mesa/ld.so.conf /etc/alternatives/gl_conf
rm -rf /etc/alternatives/xorg_extra_modules
rm -rf /etc/alternatives/xorg_extra_modules-bumblebee
- rm -rf /usr /lib/nvidia-current/xorg/xorg
+ rm -rf /usr/lib/nvidia-current/xorg/xorg
ln -s /usr/lib/nvidia-current/xorg /etc/alternatives/xorg_extra_modules-bumblebee
ldconfig
;;
因为一个空格,删除指令从 /usr/lib/nvidia-current/xorg/xorg 变成了 /usr 和 /lib/nvidia-current/xorg/xorg 两个文件夹,而 /usr 目录就是你平时放你那一大堆程序的地方,包括 apt-get。。。
GitHub 上世界各地大批程序员疯狂吐槽这个 Bug:
「所以我得先格式化我的硬盘?」「是的,我一般用 Bumblebee 格式化。」
「你有没有装 Bumblebee?」「装了,但是我备份了 usr 文件夹。。。」
「他们会干掉我们,但他们不会干掉我们的 usr」
「usr,为什么离开我?」
「Bumblebee,我找你有些话想说」
「usr?早在 2011 年 6 月就不见了,呵呵。」
SElinux 和 AppArmor 都无语了。。。
「我在公司服务器上装了 Bumblebee,现在我需要工作。。。」
「我不经常备份,但是我备份时总是太晚了。。。」
乔布斯:「你听说过 Bumblebee 吗?」比尔盖茨:「我建议所有 Linux 用户都装一个。」
低轨道黄蜂(Bumblebee)加农炮:
「你在 /usr 后加了个空格怎么了?那路径不存在。」「我没把路径用双引号括起来。。。」
「元首大人,我们在你的机器上装了 Bumblebee。」