国产操作系统打工人心声:我的Linux之路(2006-2022)
缘起:2006年我还在上大学,有一天,我在学校图书馆看到了一本介绍Linux操作系统的书籍,翻看完该书,觉得这个操作系统挺好玩的:可以根据自己的需要定制软件,可以从源代码编译软件,更重要的是,使用了这个系统,可以让自己看起来与众不同,如同电影黑客帝国里面的黑客。
人在年轻时,总是喜欢通过标新立异来获得存在感,就如同东莞电子厂里的小伙子小姑娘各种拉风的发型。然而理想是丰满的,现实却是骨感的。刚开始折腾Linux,总的来说,痛苦多于欢乐。那书本介绍的Linux发行版是Redhat9.0,但这个发行版在当时来说已经有点老,最重要的是它不支持SATA硬盘。而硬件方面,2006年IDE 接口的硬盘已经基本被淘汰,SATA硬盘成为主流。
有一天下午在图书馆看完书,觉得光看不练假把式,便跑到学校的打印店里买了三张RH9.0的光盘,放到光驱里去安装。看到书本里的启动界面变成了现实,内心相当的激动。可惜过了一会儿,安装过程就出现了错误,提示无法识别到电脑的SATA硬盘。于是并打电话给在软件学院上学的同学,可惜他没有安装过RH9.0,他向他的高手同学请教,他的同学给出解释可能是硬盘数据线没有插好,让我检查硬盘的连接线。我检查过了,没有问题。通过搜索引擎,发现网上有许多人都碰到了这个问题,解决办法一是通过grub for dos,加载新版本的initrd.img和vmlinuz来进行引导 ,二是使用新版本的Fedora Core。我决定使用第一种方法,折腾了一个多星期,学会了通过硬盘引导来安装操作系统,掌握了一个新技能。
随着在网上得到的信息越多,了解到当时红帽公司已经开始走新的产品路线,即Redhat9.0以后,产品分为企业版本的RHEL企业版本和Fedora Core社区版本。那么对于个人爱好者来说,选择Fedora Core系列是再合适不过了,而Redhat9.0是2003年的发行版,对于喜欢折腾系统、追求新事物的我来说,显然有点太老了。
我的电脑装了双系统,Windows XP+ Fedora。用上Fedora之后,发现用Linux做日常办公,还是有许多不便。比如没有QQ(腾讯公司2009年才出了QQ for Linux),没有网银插件,没有下载软件迅雷,mp3要加载插件才能播放,视频(rm、rmvb、wmv等格式)也要安装插件才能播放。那时候Windows平台有一些第三方QQ,比如珊瑚虫QQ ,可以显示对方IP,Linux平台也有第三方QQ,叫做LumaQQ,基于JAVA开发的。好不容易安装上了,但是此QQ运行速度太慢了。安装完基本Fedora系统,第一件事就是将默认的桌面壁纸换成我的喜欢的壁纸,修改系统自带的yum源地址,将地址改为国内地址,加速软件包下载。
用了Fedora一段时间,很快新鲜感就过去了,我这个人天生爱折腾,小时候在家里就喜欢自制小刀、自制梯子、自制弓箭、拉电线、装灯泡等,那一段时间经常泡在国内各种Linux论坛上,比如linuxsir.org和Chinaunix.net,知道还有许多其它Linux发行版,比如SUSE, Mandrive, Debian,Ubuntu, Gentoo, LFS等。SUSE源于德国,许多人对于德国制造有良好的印象,因此对德国产品总体有很好的印象,我也不例外。下载安装了OpenSUSE,默认界面比较漂亮,包管理为yast,打包格式为rpm。
大学毕业后,我进入星网锐捷做技术支持,主要客户为金融行业客户,其中工商银行和农业银行都是SUSE 的客户,那几年我在各种服务器、虚拟机上安装SUSE 系统,看着公司的应用系统在SUSE上运行起来,那一刻总是有点激动。微博问世以后,我关注了SUSE的母公司Novell,参加了它举办的「我与SUSE Linux的故事」活动,我把我与SUSE的故事写出来,没想到运气不错成功中奖了,奖品为「OpenSUSE 10光盘」一张。
2006年Ubuntu母公司Canonical为推广Ubuntu Linux,在全球范围内免费赠送Ubuntu光盘,听闻有公司免费送东西,我凭着三脚猫英语在其官网填写了申请,两个星期后,收到了从荷兰阿姆斯特丹寄来的光盘。Ubuntu为了推广真是不遗余力,这个国际快递的成本可不低,那几年其花在免费送光盘行动的费用应该不少,用现在的话来说是「有钱任性」,其对于个人用户和桌面用户的重视可见一斑。
继Ubuntu全球免费送光盘活动以后,SUN公司紧随其后也推出了这样的活动。我也申请了光盘,申请光盘之后就放在书架里吃灰尘,继续折腾Linux系统。安装过Mandrive,Debian, Ubuntu这三个版本,觉得自己的Linux水平始终没有什么提升,论坛上稍微有一点难度的问题就回答不了,这让我很郁闷。怎么突破这个困境,让Linux水平得到提升呢?我苦苦思索着。直到后来在linuxsir论坛碰到Gentoo Linux。这个系统的创始人原来是FreeBSD的大神,玩腻了FreeBSD系统,就转到Linux阵营了。在Linux陈营中deb和rpm包管理机制为主流的情况下,他使用portage树进行包管理,同时操作系统采用滚动升级。由于安装比较麻烦,在国内Gentoo Linux属于小众发行版本。
采用deb和rpm包管理的Linux发行版,一般来说用户都是直接下载iso刻盘安装,一路Next即可安装完成,可Gentoo并不是这样。
Gentoo官网提供LiveCD(称为mini CD)、Stage3、portage,安装的方法为通过miniCD启动基本系统,虽说为miniCD,但启动以后还是有图形界面,桌面管理器为XFCE,一个Linux平台下的轻量级桌面管理工具。
Stage3其实就是官网将最新的Gentoo Linux 系统的根目录去除/dev、/proc等目录的压缩包。通过miniCD进入系统,设置网络、DNS、rsync地址,对硬盘进行分区格式化,再解压Stage3,将Stage3解压到硬盘的根目录,再将portage解压到/usr目录。
在miniCD中,系统的根目录为虚拟目录,需要将系统的根目录切换到硬盘中,通过chroot命令来切换。Stage3不包括编译好的内核,因此需要先到Gentoo官网下载内核源码到本地编译。相对于Redhat的在线包管理工具yum,Gentoo的包管理工具为emerge。
第一次下载内核源码,手动编译完内核,重启系统,悲剧了:kernel panic了。经排查是没有将SATA 控制器驱动编译进内核,导致无法启动。又是一番搜索,发现Gentoo可以将miniCD中的/proc/.config.gz这个当前内核的配置文件提取出来编译内核,命令为emerge genkernel。
编译安装完内核,修改grub.conf文件,可以进入基本系统了。这个系统看起来还是有点low,因为与用户交互只有命令行,没有图形界面,需要自己安装窗口管理器。我刚接触Linux时,使用的窗口管理器是Gnome,但在Gentoo中,我采用的是编译安装软件的方法,Gnome里包含的软件包多达几十个,如果全部在本地编译安装,时间长,耗电量大。好在Gentoo官方也考虑到这个问题,提供了只包含Gnome基本组件的Gnome-lite,以我当时的电脑配置,编译安装完Gnome-lite大约需要1个小时。
为了使Gentoo看来像一个可用的操作系统而不只是一个玩具,我在其上编译安装了OpenOffice,这个耗时更长。为此,我晚上睡觉之前敲下了命令emerge openoffice,经常一晚上的编译,第二天早上起来,终于安装完成。那时同宿舍的兄弟们都在昏天黑地玩游戏,他们看到我的电脑屏幕冒出大量的编译软件时不断跳过的字符,总是在经过时好奇地围观一会儿。
Gentoo Linux对我影响比较大,首先是Gentoo的创始人叫做Daniel Robert,我也将自己的英文改为Daniel Huang。在使用Fedora时,虽然知道Linux可以手动编译源代码,但经常软件都有现成rpm包,所以也就懒得编译源码包。而到了Gentoo这儿,通过一个命令即可以编译源码包,敲下一条emerge xxx命令,身体后仰在椅背上看着屏幕上迅速跳过的字符,一股成就感油然则起。
更重要的是,通过安装Gentoo Linux,可以更深入理解Linux操作系统的基本组成,需要手动去配置、编译内核,Linux窗口管理器的配置,Gnome具体包括了哪些包等。有时候,顺境不会让人学到东西,逆境更容易让人成长。
安装Redhat系列Linux很容易,只要安装过Windows的人,在个人电脑上安装一路Next几乎没有问题,但这个过程很顺利也学不到什么东西,如果安装Gentoo,在安装过程中肯定会碰到各种问题,一边解决问题一边学习,等安装好系统,也学习了不少知识。而且这种在实战中学到的知识,比在本书中学到了知识印象更加深刻,记得再牢固。随便说一句,2021年,麒麟软件主导的Linux桌面环境UKUI3.0也成功移植到Gentoo上。
安装折腾各种版本Linux操作系统,成了我大学生活很重要的一部分,也成了毕业后的一种回忆。对于男人来说,折腾各种版本的Linux就像是与不同的女孩子相处,通过不断地相处、磨合、了解各自的优缺点,最终才能找到合适于自己的Linux发行版以及最佳的人生伴侣。
大学快毕业时,由于有了这些折腾经历,我在福州找到一份实习工作,在某公司做技术支持工程师。时间过得很快,转眼已经是2022年,距我初次接触Linux已经过去16年了,这16年里,我毕业、结婚、生子,也换了一份工作,进入麒麟软件从事国内Linux相关工作。工作中使用的Linux发行版也从Debian到SUSE,再到中标麒麟、银河麒麟。
这16年里,Linux世界发生了巨大的变化,Ubuntu在南非富翁马克·沙特尔沃思的顶力支持下,从默默无闻一跃成为全球知名Linux发行版本,IT巨头IBM公司以470亿美元收购了世界上最大的开源软件redhat,SUSE公司几经易主,华为公司开发的开源Linux发行版OpenEuler成为国内众多商业Linux发行版的上游版本,国内Linux发行版犹如雨后春笋一般不断冒出,Linux与开源软件在全球经济中占据着越来越重要的地位。
虽然现在在个人桌面市场,windows和Mac操作系统还占据着主流地位,但近5年来随着越来越多的国内软件厂商基于Linux平台开发软件,Linux桌面的软件生态正在不断地完善,我从2020年12月开始,一直只使用银河麒麟单系统作为日常办公系统,见证了腾讯、阿里、百度、亿图、搜狗等国内软件大厂针对国内Linux发行版开发原生软件,这些软件的用户体验也在不断地与windows版本相接近。最后希望更多的人来使用银河麒麟桌面操作系统,星星之火,可以燎原,在不远的将来,银河麒麟桌面操作系统一定会进入千家万户。
我告诉你msdn版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!