Linux.中国 - 开源社区

 找回密码
 骑士注册

QQ登录

微博登录


我的 Linux 一万小时

2016-5-23 10:24    评论: 16 收藏: 3    

这不是一篇鸡汤文,因为我并没有在使用 Linux 一万小时后成为 Linux 达人,甚至在很多方面,我连新手都算不上。我走的这些弯路能篇成一本很有参考价值的反面教材,下面,我来讲讲我用 Linux 都折腾了啥。

Gentoo

在 Ubuntu 还没有出生的年代,各种发行版百花齐放。以包管理机制区分的话,可以分为两派:直接安装二进制可执行文件的和下载源码自行编译的,Gentoo 算是后者中一个比较知名的项目。为了使硬件发挥出更好的性能,Gentoo 的 emerge 命令提供了不少编译参数让用户调教。从内核到日常用的所有工具,都需要用包管理工具自动下载源码后编译,这对于像我这样的 Linux 新人来说的确能学少不少东西。而且每次编译满屏幕日志飞滚非常酷,改用绿色文字就有种黑客帝国的即视感。

不过,这个机制有个显而易见的缺点,有时候做一些很小的事情都需要花上好长时间编译大量的依赖包。而像我这样的强迫症,总觉得下一次编译换一个参数也许可以使程序运行得更快,以至于很多常用工具我都编译了不下三遍。另外编译内核和格式化硬盘重装 Gentoo 的事真是数也数不清了。最惨的是,有次同事让我帮忙装一台 1U,他用 Debian 可以分分钟把 LAMP 搞定上架,而我硬是想用 Gentoo 压榨性能。我编译了一个下午,反复编译内核浪费了大量时间没能把两块网卡搞定,最后无奈的让他上了 Debian。

Gentoo 给我的教训是,大量零散的编译调优时间累积在一起会消耗很多宝贵的青春和电费,它们带来的收益微乎其微,不如直接买更好的硬件。选一个有成熟包管理机制,社区活跃的发行版能节省大把精力把真正要做的事做好。这也是后来我只用 Debian 的一个主要原因。

桌面美化,WM

曾经每天看 DistroWatch.com,除了了解各种发行版的动向,还希望看到一个界面更加美观的发行版,因为感觉大部分发行版的开发者审美太非主流。我用了很长时间尚且还看得过去的 XFCE 和 FVWM-Crystal,也用过臃肿浮夸的 KDE 和 Gnome。试了不少布局和配置,下载过很多 GTK 皮肤和图标库,玩过酷炫的 Compiz,调教过中文字体的显示效果。但不管怎么改都感觉哪儿不完美,直到后来接触到同事 Apple iBook G4 上的 Mac 系统,便掉进了在 Linux 上模仿 Mac 系统界面的深渊。这个 Flickr 相册 里有不少那些年的痕迹。

这同样是一件没有什么收益的事情,2006 年后我放弃治疗,改用 Mac 系统。

wine

周围的人问我为什么不用 Windows 这种主流的操作系统,倒喜欢用小众的操作系统的时候,我都只是一笑而过,后来我用 Mac 的时候也常常遇到这样的问题。有意思的是,现在这个问题在大部分互联网公司里变成了:『为什么你不用 Mac?』

我一开始用 Linux 作为开发主力机的确发现有诸多不便。比如同事给我发个 Microsoft Office 生成的文件;比如做网页要在 Internet Explorer 里调试;比如要上 QQ。不过我并没有感觉到 Linux 不主流,有很多在线论坛有大量热心的 Linux 用户能帮你解决各种技术问题。而同一时期那些 Windows 相关的社区全在共享盗版软件。

在还没有虚拟机技术的时候,很长一段时间里我是用 GRUB 启动多系统的。后来渐渐地用 wine 这个工具跑起了大部分 Windows 下的程序,接着完全干掉 Windows,再后来因为要流畅地跑魔兽世界内测不得不装回 Windows。

生产工具海选

对于开发人员来说,一个非常费神的事情是开发工具,尤其是文本编辑器。我用遍了市面上几乎所有收费或免费的编辑器,都没有找到一款像 Windows 下的 EditPlus 那样好用的产品。主流的推荐是 Vim 和 Emacs,我试着去学好 Vim,但当时并没有多少好用的插件,加上自己不熟悉各种快捷键,文本编辑效率并不高。幸好后来改用 Mac,很长一段时间被 TextMate 拯救了。

在我的 title 还是前端开发工程师和 Flash 开发工程师的日子里,在 Linux 下绘图也不是一件轻松的差事,我一直用不惯 GIMP 和 InkScape。有试着用 wine 跑过 Flash 的 IDE 和 Macromedia Fireworks。为了能在 Linux 下愉快地开发 Flash 程序,我还把整个项目改用 MTASC 编译。我很后悔没有早点明白,在 Linux 下绘图这件事就是自讨苦吃,同一时期在 Windows 下的各种绘图体验会愉快很多。

运维

因为会使用 Linux,所以在开发过程中时不时地会承担一些简单的运维任务。为什么只是简单的,因为更复杂的任务会由那些有 RedHat 证书的专业运维负责。在我这些年的工作经历中,我曾跑过十多次机房,管理过一些 1U 服务器,但都只停留在装系统和配置服务环境的阶段,并没有机会接触那些需要大量服务器携同工作的任务。而这些安装和配置的任务,在 Debian 下又过份地简单,apt-get install 装好的东西一般不用再多折腾就能很好地使用。所以我没能在运维这一块更加深入,只是变成一个初级熟练工而已。

前几年因为虚拟币的泡沫,我开始有动力自学配置管理工具,学了一点点 Chef 和 Puppet,感觉略复杂个人用不上,所以学了相对简单好用且不需要 master 服务器的 Ansible。有一段时间我控制近 50 台虚拟机挖虚拟币,最高的一个月有 6000 元的收入。

随后我试着把一些日常开发中经常需要反复做的事写成 Ansible Playbook,于是便有了ios-dev-playbook。期间为了和墙做斗争,从 vpn-deploy-playbook 这个仓库中也学到不少实用技能。但是,很多线上服务其实比某些开源的程序做得好,有时候自己运维往往省不下几个钱。举个例子,Git 仓库,我曾经很喜欢自己在 Linode 虚拟器上搭建 GitLab 或者 Gogs,但是后来发现 GitHub 无论是在社区工具链集成度以及易用性上都甩开其它竞品好几条街。

另外,这几年,为了满足各种创业公司对高生产效率和低成本的需求,IaaS、PaaS、SaaS 以及 Docker 开始流行,创业公司不再需要专职的运维,开发人员写几个配置文件,在网页里点几下鼠标就能把一个完整的系统弄上线。

所以,我掌握的这些简单的 Linux 运维的技能,几乎已经被淘汰完了。

我试着去学 Goolge Kubernetes 和 AWS Lambda,但感觉业余精力不够,也没有项目可以实践。

总结

如果我晚十年出生,或者早点用上 Mac OS,或者考了一张 RedHat 证书,应该就不会这么折腾了。

发表评论


最新评论

我也要发表评论

来自广东深圳的 Firefox 46.0|Windows 7 用户 2016-6-21 14:05
文章没什么意思,但是我想求个壁纸。
回复
来自广东广州的 Firefox 47.0|GNU/Linux 用户 2016-6-18 15:12
很好的分享!
回复
linux [Chrome 50.0|Mac 10.11] 2016-5-29 22:51
1
Rainbow [Chrome 50.0|GNU/Linux] 发表于 2016-5-27 23:30 的评论:
楼主的文章中,我只看到了“放弃”两个字;
因为觉得geetoo的编译麻烦而放弃,那么现在的geetoo还是那样;
因为觉得自己不会vim(深入),回到了mac;
因为魔兽内测。。。。。。
因为。。。。。。
虽然楼主可能比我还是要强很多,然而像我这种走着你在geetoo时的路的白,我只能说,我还在继续。
“我还在继续” ——值得浮一大白!
回复
Rainbow [Chrome 50.0|GNU/Linux] 2016-5-27 23:30
楼主的文章中,我只看到了“放弃”两个字;
因为觉得geetoo的编译麻烦而放弃,那么现在的geetoo还是那样;
因为觉得自己不会vim(深入),回到了mac;
因为魔兽内测。。。。。。
因为。。。。。。
虽然楼主可能比我还是要强很多,然而像我这种走着你在geetoo时的路的白,我只能说,我还在继续。
2 回复
来自河南漯河的 Firefox 46.0|Windows 8.1 用户 2016-5-27 17:24
1
来自北京的 Chrome 50.0|Windows 10 用户 发表于 2016-5-23 12:21 的评论:
我用wine安装QQ出错请问怎么办啊?谢谢
在ubuntu kylin中找qq,应该是能用的
回复
何亮 [Chrome 49.0|Windows 7] 2016-5-25 09:12
1
何亮 [Chrome 49.0|Windows 7] 发表于 2016-5-25 09:12 的评论:
看了,如果以后还想玩Linux的话,就要考个证书,学好E文啊 %>_<%
看来
回复
何亮 [Chrome 49.0|Windows 7] 2016-5-25 09:12
看了,如果以后还想玩Linux的话,就要考个证书,学好E文啊 %>_<%
回复
mwt0530 [Chrome 48.0|Windows 7] 2016-5-24 09:03
1
vio [Chrome 50.0|Windows 10] 发表于 2016-5-23 12:00 的评论:
有 RedHat 证书的人,会用 yum 和 dnf
2
来自北京的 Chrome 50.0|Windows 10 用户 发表于 2016-5-23 14:18 的评论:
你错了,多半不会用dnf的,RHEL7还没有dnf
可以自己装
回复
来自澳大利亚的 Firefox 46.0|GNU/Linux 用户 2016-5-24 06:08
这文的作者制仗吗?
我觉得 Gentoo 的编译优势还是稳定性和很方便的控制每个包的编译选项,哪些特性开哪些不开之类的。性能只是附带优势。
如果要用 Wine,而且还觉得 GNU/Linux 下的生产工具不好用的人就不应该去用 GNU/Linux。反正我用到现在,其它平台上的日常工具和生产工具早已忘记怎么用的了。至于如果有人给我发 Microsoft Office 文件。我一般都直接回复 “抱歉,我这里没有能打开这个文件格式的软件,请给我发PDF格式的或者直接给我 Google Doc 链接,zoho 的也可以”,虽然有 libreoffice 然而懒得装。
哦对了,我有 RedHat 证
1 回复
来自广西南宁的 Chrome 50.0|Windows 7 用户 2016-5-24 00:14
不是能不能用上MAC的问题,也不是没考到一张Redhat证书的问题! 是你太浮躁了!
1 回复
绿色圣光 [Firefox 45.0|GNU/Linux] 2016-5-23 23:20
哈哈!
回复
来自北京的 Chrome 50.0|Windows 10 用户 2016-5-23 14:18
1
vio [Chrome 50.0|Windows 10] 发表于 2016-5-23 12:00 的评论:
有 RedHat 证书的人,会用 yum 和 dnf
你错了,多半不会用dnf的,RHEL7还没有dnf
2 回复
z75315 [Firefox 46.0|Windows 10] 2016-5-23 14:17
作者可以努力学习物理学知识,制造出时光机,穿越到过去。学习linux考取rhcsa,然后成为一名光荣的IT农民工,走上人生巅峰。想想还有点小激动啊。
8 回复
来自上海的 Firefox 46.0|Windows 7 用户 2016-5-23 12:30
好悲观....
回复
来自北京的 Chrome 50.0|Windows 10 用户 2016-5-23 12:21
我用wine安装QQ出错请问怎么办啊?谢谢
1 回复
vio [Chrome 50.0|Windows 10] 2016-5-23 12:00
有 RedHat 证书的人,会用 yum 和 dnf
2 回复

热点评论

z75315 [Firefox 46.0|Windows 10] 2016-5-23 14:17
作者可以努力学习物理学知识,制造出时光机,穿越到过去。学习linux考取rhcsa,然后成为一名光荣的IT农民工,走上人生巅峰。想想还有点小激动啊。
8
Rainbow [Chrome 50.0|GNU/Linux] 2016-5-27 23:30
楼主的文章中,我只看到了“放弃”两个字;
因为觉得geetoo的编译麻烦而放弃,那么现在的geetoo还是那样;
因为觉得自己不会vim(深入),回到了mac;
因为魔兽内测。。。。。。
因为。。。。。。
虽然楼主可能比我还是要强很多,然而像我这种走着你在geetoo时的路的白,我只能说,我还在继续。
2
vio [Chrome 50.0|Windows 10] 2016-5-23 12:00
有 RedHat 证书的人,会用 yum 和 dnf
2
来自北京的 Chrome 50.0|Windows 10 用户 2016-5-23 14:18
你错了,多半不会用dnf的,RHEL7还没有dnf
2
来自广西南宁的 Chrome 50.0|Windows 7 用户 2016-5-24 00:14
不是能不能用上MAC的问题,也不是没考到一张Redhat证书的问题! 是你太浮躁了!
1
返回顶部

分享到微信朋友圈

打开微信,点击底部的“发现”,
使用“扫一扫”将网页分享至朋友圈。