本人初学Linux,刚初来乍到,心情有点小激动,所以写下自己的第一篇博客,呵呵!
Linux是一个内核,一个操作系统内核,我觉得我们平时所说的Linux应该是更加广义的,包括了GNU,开源,文化,甚至黑客。
当安装好一个Linux桌面发行版后,就可以开始使用Linux了。不过也许你会遇到一些问题:没声音,无法播放视频;没有自己需要的软件;Linux平台下的软件不会用等等。
声音、视频、网络需要有内核相关驱动支持才可以正常工作,如果他们无法工作,则说明你买的电脑太新了。你可以去网上逛逛,看你硬件的型号是否被更新的内核支持,如果是,那么恭喜你,你可以通过在编译新内核时加入支持你硬件的驱动,然后在电脑启动时加载自己编译的新内核。编译内核时比较麻烦的事情是要注意把硬盘的驱动直接编译进入核心,而不是编译成为模块,不然无法启动。编译内核时还可以根据自己的电脑需求做一些裁减,比如你可以修改CPU调度方式,内存大小支持,还有一些特殊的网络安全应用。无论怎样,编译一次内核会让你对Linux有所了解。
其实Linux下面的应用还是挺多的,早年的GNU运动很多软件都可以方便的用到Linux下面,但这里面多数的软件其实是给“懂”电脑人用的,也就是给公司里或者学生用,可以用来提供方面。随着时间的推移,也有图形窗口gnome和kde的推出,到现今,更多的用户参与导致了更多的影音多媒体和游戏的应用,除了一些国内的公司,世界上所有大公司都是支持Linux平台的。如果遇到软件不会用,比如编辑器VIM和EMACS之类的,就只好慢慢学习了,能够立即上手使用的比如gedit就是不错的编辑器。
用户关心比较多的是漂亮的桌面。Linux下面的窗口管理器不胜枚举,可我只用过gnome,fvwm等。其实各种管理器都有各自的好处,比如有的轻量,有的可定制性强,有的漂亮。能够跟苹果的桌面一拼的是给gnome或者kde安装插件,早年有beryl,装上后桌面有立体的效果,更多的效果还可以自己配置,现在统一叫做Compiz Fusion。印象比较深刻的有球体桌面,燃烧桌面,下雪桌面。把桌面也可以定制成苹果模样的,主要就是看你想不想折腾。
还有比较值得一提的是网络。Linux天生就是为网络设计的,内核里面嵌进TCP/IP的实现后,剩下的就只能是赞叹了。已经有不少人开发了不计其数的好用的东西。比如各种服务器,比如各种监测工具。服务器只要用发行版的包管理系统安装就很快有了,最常见的是vsftp,sshd。而监测工具,有时不需要安装直接就有,比如扫描工具nmap,监听工具tcpdump,限速小工具tc,监听的nc等等。而对于开发者,更是有libpcap,libnids,libnet等好用的API。学网络的不可能不跟Linux打交道。
如果有时间,可以安装gentoo玩玩。安装的时候涉及到基本的环境安装包,内核编译,对自己机器特殊的硬件编译优化。安装一次就会对Linux有深入的理解了。
随着我参加工作,摆弄Linux的时间就没有了,而且摆弄的太多也没有什么兴趣了,因为我们所摆弄的Linux都是程序,那我们就来直接看程序好了。
Linux有着丰富好用的系统API,这些API是遵守POSIX规范的,所有如果你精通Linux的系统编程,那么BSD内核的也就类似了。但是Solaris,AIX之类的装在大机器的系统就另当别论,但道理是相通的。Linux还有十分适合编程的工具,比如前面提到的VIM和EMACS。
如果说到编程,Linux最大的好处就是开源,所有的东西都是源码开放的,如果你对本软件有任何的问题,可以有方便的bug跟踪系统去汇报bug,比如gentoo的bugzilla。很快bug就会被修复。如果你没有发现有人汇报,则可以自己汇报,如果你不确定,还可以把软件编译成debug版本,自己调试一下,看看是否有问题,甚至你可以给开发上游提交补丁。而这一切一切你在Windows下面是无法想象的,在苹果的开发系统上面更加无法想象。大黑客Jamie Zawinski就是因为给iphone/ipad做了点开发,使他非常的不爽,最后去买啤酒了。windows或者apple上面做开发就像是在天朝工作,没有任何的自由与公平,你会郁闷死的。
Linux还有一个好处我不得不说,就是开放的文化。你遇到任何问题都可以虚心的去各个论坛请教,那里一定有非常热心的人或者是和你一样热心的人来帮助你,这源自Linux开放的文化,和自由的开发方式。而你买任何的软件,问问题都属于“服务”的范畴。
任何与Linux有关的东西都两人兴奋、激动、热血沸腾,这不是在忽悠,而是真相。