导读 我是 Fedora 的老用户了,从四年前接触嵌入式 Linux 开始,Fedora 就是我的桌面操作系统,期间从未被其他操作系统替代过,偶尔尝试也会第二天就装回来。用得愈久愈是喜欢,简洁、漂亮、稳定,无一不击中我,到今天已经四年,所以写点什么纪念一下。

100646t23o3u63zi2i6meo

使用印象

其实 Linux 和 Windows 相争这么多年,它在桌面操作系统的市场占有率仍然很可怜。虽然这两年貌似开源软件越来越火了阿,但它还是集中在极客圈。让一个没有写过程序的普通人接受 Linux 是很有难度的,陡峭的入门曲线足以吓退很多小菜鸟。诸位已享受 Linux 便利的 geek 们,不要忘记你们曾经的痛苦,不要忘记那一个接一个的坑,从而铭记,切勿向他人推荐 Linux 操作系统,除非他人主动找上门来。

使用并爱上 Linux 操作系统(或者应该称为 GNU/Linux)的人,会给人这样的印象:聪明、善良、天真,缺乏安全感。这应该算是褒奖,因为我也是这样的人(额,好像顺带夸了以下自己)。Linux 之父 Linus Torvalds 就是这样的气质,就像猫一样,身手矫健,充满力量,热爱自由。气质,主要是气质,Linus 肥肥的啤酒肚和身手矫健实在扯不上关系。

在 Linux 的世界里,你就是上帝(此处的你指 root)。基本上,你可以对 Linux 做任何事情,rm -rf /命令是个简单的例子,你也可以把放置在硬盘上的内核删掉,然后重新编译一个替代它。Linux 不会对你做任何限制,它假设你永远知道自己在做什么。这对于程序员或者工程师,是难以言说的魅力,光是想想可以做的事情,就足够让人兴奋。

我曾经在用 Linux 做单片机 MSP430 开发的时候,由于 MSP430 并不会设置芯片唯一序列号,如果我们需要 UUID,可以自己生成一个,和程序一起写进 Flash。mspdebug 是开源软件,从官方网站获取它的源代码后,在其 ui/devcmd.c 文件里的 do_cmd_prog() 函数中,fork 子进程调用 uuidgen 程序,得到唯一序列号后,调用 device_writemem() 函数写入对应地址即可。

这对于商业软件来说是不可想象的,因为我们未必能联系上软件开发者;就算联系上了,他/她也未必愿意或有条件帮我们调试这个功能;再者,有可能费用也超过我们的负担。而在 Linux 世界里,我只需要在 mspdebug 源代码中添加不到 100 行语句,以及掌握 C 语言和 GCC 编译器的使用、MSP430 单片机的地址分配、fork 和 exec 方法……开源软件降低了发挥创造力的门槛,它从诞生之日起,就深刻地改变了世界。

Linux 桌面发行版有很多种,他们各自有各自的特点,没有孰优孰劣之分,只有适不适合,或者说是否有机缘。Ubuntu 非常易用,它为非程序员用户花了很多心思;openSUSE 非常漂亮华丽;Gentoo 是高度优化的操作系统,适合高级用户……我刚开始接触嵌入式 Linux 开发时,开发板手册推荐的主机操作系统是 Fedora,由此一路至今,Fedora 已经更新到了 24,它一如既往地帮助和便利我的工作和生活。

Fedora的特点
简洁

这也是它给我的最深的感受,除非某个配置、库或程序是大多数用户合乎逻辑的选择,它才会在安装时包含它,所以 LibreOffice 是默认安装程序,而 GIMP 不是;Firewalld 是默认安装程序,而图形化界面 firewall-config 则不是。Fedora 的系统设置选项也非常少,触摸板的“Tap to Click”可以设置,但鼠标的颜色、大小都无法更改(可安装 gnome-tweak-tool 来设置系统和鼠标主题);壁纸可以更改,但顶部的任务栏无法更改位置和形态;字体永远是经典的那几个,Source Han Sans CN 我用了整整四年;到今日我已不知屏保为何物……习惯了这种选择很少的状态,以至于不再对系统的细节审美报任何期待。什么也不用改,默认的就很好,就像一间干净整洁的厨房,有灶,有水槽,有置物架,然而再没有多余的东西,锅碗瓢盆请自行添置,微波炉烤箱电饭锅出门右拐电器城。这是一间建筑合理、水电安全的厨房,等待着它的用户来建设自己心目中的美好生活。

完备

这似乎和之前的简洁有冲突,然而它们并不矛盾。使用 Fedora 来 bring up 一台计算机是很简单的,你通常不用担心某个硬件无法识别,或者安装步骤过于繁琐。当我无法使用某个系统镜像来启动计算机时,Fedora 通常能顺利的完成任务。它对硬件的支持很完备,对安装方法的支持也很完备。Fedora 首页上是这样描述的:“更少的配置,更多的创新。只需选择一个满足您需求的 Fedora 产品,便可立即开始使用。”它的设计理念形成了自身的独特气质。

符合Linux编程标准

在 Fedora 下安装某个软件,如果它提示需要某个依赖,那么这个依赖一定可以在大多数 Linux 发行版中找到。如果一份代码能够在 Fedora 下正确的编译,那么它在其他 Linux 发行版中的编译也通常不会遇到什么问题。

更新迅速

如果软件或库有了最新的稳定版,Fedora 通常会紧接着更新它,而不是保留之前的老版本。Fedora 24 刚发布时,存在 LibreOffice 粘贴图片闪退的问题,然而紧接着的 update 就修复了它。迅速的更新得力于 Fedora 社区的高水准与勤劳,也得力于 Redhat 公司对于 Fedora 项目的有力支持。

很多人会有这样一个印象,觉得 Fedora 是 Redhat 的小白鼠,因此它肯定激进、冒险,有很多不稳定因素。然而事实上,正是因为 Fedora 是为服务器而准备的桌面发行版,因此它的开发策略仍然偏向保守。它被严格地限定在标准 Linux 的框架内,如果一个程序提供的是捷径而不是逻辑上的方法,那它很难被 Fedora 所接受,除非它本质上就是为了捷径而存在。这也意味着所谓 Fedora 不适合做技术开发,只是大多数人的刻板印象而已。我在 Fedora 下进行的 STM32、MSP430、Qt 和 OpenCV 等等的工作,几乎都非常顺利,电路制版软件 Cadsoft Eagle 总是会良好的运行。事实上,Fedora 系统很适合做嵌入式开发,在我看来,比 Windows 或其他 Linux 发行版都更加适合。

Eric.S.Raymand 著作的《大教堂与集市》论述了集市(开源文化)可以与大教堂(商业开发)比肩的原因,讲述了程序员对自由和分享的追求,以及这会带来的无以伦比的创造力。如今的 Fedora 已经走过了第 13 个年头,它伴随我走过了人生中成长最迅速的四年,也将继续伴随我接下来的人生。

祝福你,Fedora!祝福你,自由与分享的开源世界!

原文来自:https://linux.cn/article-7787-1.html

本文地址: http://www.linuxprobe.com/dance-with-fedora.html编辑员:刘峰,审核员:张振宇