Linux 私房菜(鸟哥):我和 Linux 的这些年那些事

  知名 Linux 网站,成功大学工程系博士,就学期间建立“鸟哥的 Linux 私房菜”网站,其著作《鸟哥的 Linux 私房菜 》是两岸三地最畅销的经典 Linux 入门书,曾任多家知名 Linux 教育中心。专长是 Linux 操作系统、网站规划与、网络安全,研究方向是网络应用整合。

  文章整理自 蔡德明(鸟哥)在GOPS2017 ・ 深圳站的。高效运维社区致力于陪伴您的职业生涯,与您一起愉快的成长。

  我叫蔡德明,人称鸟哥。我姓蔡,外号菜鸟,大学三年级就会有学弟叫我菜鸟学长,我让大家统称鸟哥。

  我英文不是很好,我想给名字叫 Vegetables Bird(VBird)。在求学过程中,我小时候读乡村学校,父亲是捕鱼郎,从来没想要把我培养成读书的小孩,他让我读到小学毕业,就买一艘船全家人出海捕鱼。

  有一个契机,国二时分到放牛班,我从来没考过第二名,跟其他班级相比,我成绩不算很好。这时候有一个很高的成就感,觉得念书蛮好玩的,随便念念就能考第一名。高中考到南部高雄中学,大学是成功大学工程,读完后对硕士有兴趣,读了成功大学工程所。

  最有趣的是我们老师让我读博士,家里人「说读完博士出来后可能没工作可以做」,我爸:「没工作,老爸养你」。我就开始念博士,可以看到两个很有趣的数字,从1996年入学到2006年毕业,这个博士学位我一口气念了10年。

  是啊,为什么接触Linux? 我读的是工程,在求学中不在求学过程中不可能电脑。当时,我蛮喜欢做 DOS Driver 的设定,只是为了打游戏。那时打游戏有声音是很困难的事情,所以会做比较多的测试和实验。那时,我连 UNIX 是什么都不知道。

  接触 Linux 是 1998年念博士的,我的指导教授跟我说,我们跟别人签约,两年内要完成,机器已经买了,大概20万人民币左右。他让我打开,里面是 SOLARIS,这有点像 Windows,那时听说它很厉害,一台小小的PC电脑就100万台币。

  关于 SPARC 操作的蠢事,工程师来说系统不能有太多的账号,等他走了之后,我们把 ETC 的密码删除到两个账号,后来我们让他再来一次,因为我们没账号了......,从此之后话不能乱讲。

  学人家用工作站,在用 Win98 Xdmcp,大家知道 Win98会遇到的问题,后来出来的 Win2000 让我们很害怕。我们跑 Modeling 三天都不能关机。通常运作到两天半会死机,Win98死机很正常,我们从来没有怪它。

  当时着学很多技能,包括 Fortran Programing、Compiling Program、C shell ing。为什么无法开机?查了半天是电源线没有插,有时间开不了机,因为光盘没有拿出来。跟我们接洽的运维人员蛮可怜的。

  因为实验一次,两次。我们觉得这个东西蛮好玩,上世纪(1998年)Mailbox 总体流量大概 50mb,一个档案是 10mb,传送就比较困难。后来出来 File transfer,唯一没有的是防火墙,预设的服务都开了。我会看书学习,书上怎么说,我就怎么做,结果是重关。

  我现在谈的技术很低级,我是工程的人,永远不知道什么是 NAT。我的师傅 Netman 说「这么大的人,不好好自己学习,自己去看资料」,我念书这么久第一次被说不用功,所以我慢慢学习。

  最后开始投入,光专有名词就要找好几个,那时候读书是很辛苦的。我的结论是:书是人写的,错误是存在的,人是欠骂的,我们运维人员常常会被到很多客户骂,有时候被骂是很快乐的,不要相育机构说要「快乐的学习」。

  我会一直写的原因是我读了10年博士,我老板第3年后,每年都对我说「你明年会毕业」,这就说了七年。

  大家做事情的时候,我们拉着学生坐下,速度会很快,「你明天交给我」、「明天有点难」、「下个礼拜一定要交给我」,一直说到毕业,时间比较多,我开始做文章的撰写,第一次听到这件事的时候非常开心,但是实验室需要有人管。

  这是最早的文件,后来足足七年,慢慢补上,2002 年时比较有趣。接触原厂大概是 2002 年,接触到原厂的训练文件,自己没学到就不会想接触它。我的 Netman 师傅邀请我来补习班,没想到很痛苦,我要自学、上台教课,要花心思如何教别人。

  我纂写的经过,开始时很随兴。我们希望让一些朋友快速的进入IT产业,所以写得比较轻松。各位有没有翻过在大学记的笔记?如果你有记笔记的习惯,五年后你打开看看,发现看不懂自己的笔记。我连当时想到的笑话都写进去了,我开始慢慢的编辑。

  如果有兴趣写文章,不要一开始就想写一本书,很多业界朋友开始时写一本书,他写了第一章就写不下去,他开始觉得自己写不好,又重新写,反复不断的写第一章,后面九章都没写,一拖就是三年。

  写完文章后会觉得自己真了不起,可以写这么多东西。「半瓶水响叮当」,这是在论坛中回答的结果,这是在2002年的时候做的。真正吸引大家注意的原因,小弟是时势造英雄,也不能说英雄,就是穷作家。

  Linuxb 当时是很厉害的论坛,十分之一讲技术,十分之九讲,里面常常在吵架,所以里面经常很热闹,倒了之后没人有地方炒,慢慢跑到网站里学习。

  网站平时的总人数时是一两百人,现在人数是四五个人,有时候有三十几个就会很害怕。我们很多朋友是挑错字魔人,你的字写得不对,不要讲。很多朋友说这说得不错,业界有遇到这样的问题,解答我的疑惑。

  2002 年出现 TnLUG,在台南亿载金城,我们每月都会吃饭聚餐,当时年纪小,很青涩。里面有一个大哥会免费把公司会议厅借给大家学习。

  每个月都有,有朋友交 Xbox 拆解、如何泡妞等,不局限在 Linux 和 OpenSource,最后这个团队就是为了聚餐。这是的社区论坛,我很感谢我的老板留了我 10 年,其中 7 年让我写文章。

  写作需要傻劲,有一股傻劲就可以写下来,你收到的会比当初贡献的还多。Rookie 会比较有趣,因为那时候遇到很多问题,把它记载下来,可以帮助很多同辈。我现在写不出常见的问题,还好我现在接触很多 Rookie。

  我的资料从来不是给高手看的,只是给 Rookie 看的。跟 Rookie 讲话一定要多说,不然他不听。他说我的书是神奇的橘书皮,刚写好,接受了出版社的邀稿。

  第一本书有三成资料是错的,但很多玩家觉得写得很好,因为把他们的写出来,我遇到的蠢事,他们也遇到过。我们看到教科书上说绝对不会错的流程,而我会说你会遇到什么错误,只要你不写「-IF 斜线」,都有救。init 变成 Systemd,学习的过程是痛苦的,什么都是定制化处理。第四版将会在出版。

  2006年毕业后,我到学校教书,遇到很多奇怪的问题,慢慢的把它们解决掉。这几年在观察的现象,比较有钱的企业不再自己机房,IT丢在云里,所以云非常重要。

  20 个人以下的小公司在非常多,老板很怪异,要完成对公司任何讯息流的,他们希望所有信息进出都要通过这台小 PC,因为他们不想请 IT 运维人员,直接请外包商做,外包商的收入还不错,因为他只有老板自己一个,老婆是会计,请了一个员工,一年的营业额可以达到 700 多万台币,这是针对传统产业设计开发的概念。

  有很多自建的 Private Cloud,现在人力比较短缺。在这方面发展很快,而在,这个部分才开始看到问题,开始培训人才,速度比较慢,2013-2015 年,我经常到学习。

  我在学校会做一些专题,解决我们的问题。开始我们要求厂商帮助我们装还原卡系统,每次开机都会自动进入 Win XP,我们自己要装软件,Software 要安装软件,我们系主任把它撤掉,撤掉后谁来处理,我开始带学生搞专题。

  2008年前,解法是多重作业系统,我教 Linux 都会教性教学,这时候会遇到很多问题,下一堂课的老师不能上课,开不了机。我想这样不行,考试要先把整合在学校教师实际,固件不成功,这不是解法。常用的方式,我们找到了系统。

  鸟哥名言「我没有钱」,有一次参加研讨会,有一个学生说鸟哥有一句名言,我真的发现我曾经说我没有钱。我们发现要玩云虚拟,没有钱是玩不起的。这是我们当时遇到的问题,搭建云虚拟系统,开始做了很多学习,学习是痛苦的,在痛苦里找出自己的快乐、小确幸。

  在学云虚拟化的时候,发现用 RADI 效能的优化,早期把两台主机加了三个网卡,直接做,后来发现只有一张网卡会生效,三张网卡除了浪费电以外,没有任何的效果。我们遇到很多的问题,这是后来解决问题时学到的技巧。

  GoCloud,开始我们玩的瓶颈在这边,因为没有钱。那时候我们有一个网卡,插了网卡后,这边都没问题,瓶颈来到这边,教室连到系统,带宽不够,内部跑很快,外部跑很慢,不断的发展问题,不停的学习。刚刚几位前辈提出问题,刚刚导入会想象不同的问题,慢慢调整,最后可以调整得蛮好的。

  目前我们在做云系统 Client 端的解决方案,主要是 Raspberry pi 和 PCI pass-through,现在用一台 PC 插两张显卡,这是很 low 的技术,至少解决自己的问题。

  如果经理或领导让运维自己解决某个问题,这不是痛苦,而是一种成长,你学会这些技巧后,对大家往后的职场都很有帮助。

  

关键词: