接开门篇,这是个小系列。
古人说得好,吃一堑,长一智。又云:失败是成功之母。记得有位外国著名科学家曾经说过这样一句话:“砖家是在一个狭窄的领域里犯过所有痛苦错误的人”。总而言之,古今中外的经验告诉我们,人是在错误中成长起来,所以不要怕犯错。怕得是犯了错但不承认或不愿意从中学习。为了鼓励学习、尝试和应用一些新东西,把错误的成本最小化,我们可以做沙盘演练。而IT的沙盘,在很多情况下是虚拟机。(哈哈,哥想写范文。各位童鞋猜猜看,那句旁征博引用来讨老湿欢心的科学家名言,是我的编造还是真有类似的句子?)
下面是我个人的一些经验、体会和建议:
1. 建立自己的虚拟机,有Debian,Centos,Windows等。有了自己的虚拟机,可以以快照(snapshot)的方式保存基本的虚拟机器。在此基础之上,练习一些软件的编译和制作(compile and build),发现各个部分之间的依赖性(dependencies),下载源代码并进行阅读和调试,安装一些软件和工具来尝试和学习等。如果做错了,可以打倒重建,没什么大不了的。所以要敢于尝试!
我现在有一台联想的ThinkPad笔记本,用了Linux Mint 12 KDE的distro,然后自己下载并安装了VirtualBox。在此基础之上,我用Vagrant和veewee来构建和管理虚拟机,感觉非常给力。Vagrant和veewee的一个优势是可以用来比较容易地建立多机环境,web server,database server,proxy server等。我这有个介绍。
2. 用云计算服务来搭建自己的沙盘,虽然我现在用得少了些。
我在云计算厂商(Amazon和Rackspace)有自己的账户。我对国内的云计算厂商的运营方式不了解,但我一月初在北京时听说国内也有类似服务。我经常在Amazon和Rackspace上启动几个机器来做实验,因为花不了几个钱。像在Rackspace上起一个256MB的Linux虚机,一小时也就一美分左右。所以如果国内有这样的服务,自己开个户玩玩挺有意思的。
3. 购买自己的主机服务,一为练手,二为翻墙。
能翻墙是必须的,因为长城很弱智,阻挡了太多的科技信息和交流。每个国家都有网络监管并且也需要网络监管,每个国家都要采取措施来保证信息和网络安全,每个国家都想支持本国的IT发展并且也会出台政策和举措来保护本国产业,这些都无可厚非,没啥偷偷摸摸,不好意思的。但长城,和中国的不少做法一样,搞一刀切,那么僵硬、笨重和愚蠢,里外都不讨好,该想办法改进和提高了!
翻墙的一个很流行的办法是VPN,而不少VPN是要付费的。这就不如在国外买个主机服务,因为国外的主机服务可以起到一石二鸟的作用:有了自己折腾的机器,同时还可以用来翻墙。主机服务不会比VPN贵到哪里去。有了它之后,你可以用国外主机来暗渡陈仓,搞个ssh tunnel上网,长城拿你没办法。但这要求主机服务允许你这样折腾,所以要注意用哪个厂家的。感觉Linode比较靠谱,因为看上去给你root,并且可以打倒重建。在这方面,冯大辉的这篇博客有不少好建议。搞个具备境外支付的信用卡也是个好主意。我几年前写过怎样用ssh在Windows上挖个地道来传输http的交通,那时公司内网管得紧。不知道现在还管用吧,但至少可以提供些关键词供你查询。
有了自己的沙盘,就可以无后顾之忧地在上面耍耍,满足自己的好奇心,多尝试和总结经验教训,我想就会慢慢提高自己的内功。