• 前言
  • Q1:什么是免费软件/开源软件/自由软件?
  • Q2:什么是GNU?
  • Q3:什么是Linux系统?什么是Linux系统发行版?
  • Q4:介绍一下Linux系统发行版有哪些吧?
  • Q5:Linux发行版的Debian系,红帽系和SUSE系具体介绍一下吧?
  • Q6:对了,既然你说Linux源代码公开,那黑客想找漏洞不是分分钟的事吗?
  • Q7:前面你说CentOS就要停止维护了,那我接着用有什么影响?windows 7停止维护了我想用我还可以用没什么影响呀?
  • Q8:为什么这么早CentOS就停止维护了啊?那么多的相关书籍还能看吗?
  • Q9:为什么Linux发行版在个人PC上使用率非常低?
  • Q10:为什么服务器上装的Linux系统都是黑底白字的,弄个桌面不方便吗?
  • 结语——Linux虽遇窘境,但未来一直充满光明,自由软件的精神永远存续

前言

  初识Linux系统,书上一般都先讲一下它的历史发展,越看越乱,然后连Linux到底是什么都没有搞清楚就开始让你敲命令。敲着敲着又有个更大的疑问,我不是要学Linux系统吗?怎么书上教我装的是什么Ubuntu或者CentOS啊?越学问题越多,有的书可能会给你解释,但是要夹杂着一大堆晦涩的专业名词,个人认为了解Linux最需要的是通俗地把相关概念解释出来,而不是显摆自己多厉害用一大堆专业名词把人劝退。
  只要你想了解了解Linux,本文就有值得一看的价值。作者尽可能用通俗的话以及用我们能接触到的一些东西做类比,力求最高的可理解性。作者还自己查阅了一些资料,谈了谈Linux发展的窘境(写文章时才知道CentOS就要停止维护了,去年12月一直在看编程,这么大的新闻都没关注= =),肯定有不严谨甚至错误的地方,还请大佬们批评指正。

Q1:什么是免费软件/开源软件/自由软件?

A:好的,先从这个问题开始,您先别急,在了解Linux是什么前,对一些前置概念了解绝对是有必要的。
  先说一下收费软件吧,这个大家肯定了解,比如Adobe的全家桶,什么PS,PR,AE等等,这种是需要花钱订阅的,购买一定时间后过期需要再订阅(不考虑破解的情况,那本身就是违法的= =)。还有的是买断制的,比如单机游戏3A大作一次购买终生游玩(同样不考虑破解,那种季票月票,DLC也不在讨论范围内- -),总之花钱购买使用权的,不管是一段时间还是永久的都是收费软件,有的收费软件可能你不交钱下载都找不到地方,有的你随便下载,但是一运行就要你付费激活。总之,软件的直接使用都要收费,这就是收费软件,使用都收费了那代码肯定你看不到。
  免费软件也很好理解,不收费用嘛,它跟开源/自由软件的最明显区别就是公不公开源代码,《英雄联盟》是免费下载免费玩的,但是它不可能给你公开游戏的源代码。而且免费软件不是说完全免费,只是软件本体免费,它可以任意塞一些付费内容,哪些付费也没有规定,可能不花钱用不了(如:录屏功能在付费激活后开启),也可能不花钱还能凑活用(如:未激活版本录屏功能两分钟自动结束)。《地下城与勇士》免费吧?但是你不买个春节套、国庆套,一样打BOSS别人一分钟,你十个小时(麻花腾:小伙子不充钱还想变强?你缺的不是技术,充的还不够。再冲十万你会这样?)。《英雄联盟》免费吧?你看别人花钱买的皮肤多帅气呦。《穿越火线》免费吧?人家大炮火麒麟,你是一个普通M4A1。“免费的是最贵的”就是这么个道理。总之,免费软件就是本体免费使用的软件,免费软件可以加各种收费功能,而且免费软件代码不公开。
  开源软件是说这个软件源代码是开放的,对于个人来说这和免费没区别——代码都开放了,软件要收费大不了你编译一个呗。但是对于商用来说还是有区别的,这个就看开源软件使用的是什么“协议”了,这个“协议”内容规定了开源软件制作者这个软件适用的规则,有的协议规定这个软件个人用商用都不花钱,有的协议规定这个软件商用要交钱,个人用属于“学习交流用途”可以免费(前面也说了,就算制作者向个人收费也是白搭,人家有你的源代码可以自己编译,就算你强行规定要收费,人家使用又不影响,只是在法律定义上个人使用“侵权”了,侵权了难道你要一个一个人的去法院告他?肯定不可能,所以个人用开源软件大家都默认等于免费)。商业用途之所以要遵守这个协议该交钱交钱,就是因为开源软件也是可以申请著作权的(拥有著作权的开源软件如果你想自己包装成商品去卖,和卖盗版一样都是标准的侵犯著作权行为,被起诉的话一抓一个准,起诉公司可比个人能挣的钱多得多),用作商业用途有一种情况是把开源软件集成到自己发售软件的一部分去卖,比如一个付费的屏幕录制软件里面用到了一个开源的截图软件,还有一种情况是自己的业务用到了开源软件但是普通人无法直接看出,比如一个单机游戏用一个开源的编程软件制作(玩家并不能直接看出你用什么软件和编程语言生成了最终的单机游戏,美术音乐剧情甚至程序这些都是你的,但对于你开发的过程来说没有这个开源的编程软件你的代码和各种素材没办法生成最终的EXE)。总之,开源软件的核心就是代码开放,在此基础上对于个人来说等同于免费的,而开源软件可以申请著作权这一点又保护了它不会在商业上被滥用。
  自由软件的提出是一种伟大的主张,有人说特别有“gong chan 主义”的感觉,首先它的源代码也肯定是开放的,其次自由软件的主张特别针对的是著作权(copyright)这一概念,为了反对著作权,自由软件最早的倡导者甚至提出了copyleft这个说法(因为right在英语里是“右”,left在英语里是“左”,可见自由软件的倡导者多么讨厌著作权,谐音梗扣钱- -),自由软件不认为你可以对你写的代码申明所有权,你的代码是大家共享的,而且大家可以随意享用,随意折腾你的代码。免费和自由在英语里都是free,为了区分有统一规定的,免费软件是freeware,而自由软件的英语是free software,有些无良公司会故意在自己的软件上标注free产生歧义误导消费者,一定要留心。继续说自由软件,它强调的是自由——个人还是企业怎么用自由软件是他们的自由,可以下载了源代码直接编译用,甚至你觉得自由软件有个功能不爽把它去掉再重新包装成一个商业软件卖出去。既然自由软件既开放源代码,又没有著作权的保护开发者不可能起诉你,那么经过商业包装成商品卖也无所谓(但必须告诉用户这个软件是自由的,用户可以自己找到源代码)。有人有疑惑了,自由软件都给源代码了,那怎么包装成商品卖还有傻子上当?其实花钱买自由软件的人真不傻,自由软件的商品价值不在本体,而在于提供的服务,客户花钱买了自由软件,那么提供商就要负责解决问题——这个软件有BUG了,提供商要去改BUG,客户是可以从源代码编译软件,但是他没那个水平改BUG。从这些说明大家就可以明白了,自由软件是“自由”的,而且没有著作权保护,随你怎么折腾,但是你一旦当成自己商品卖了,你卖的软件出了BUG你负责,这里你可以看出自由软件制作者的自信:除非你写代码能力比我强能解决我的BUG,不然你看谁买你的?自由软件是真正意义上的共享,也可以看作程序员顶级大佬们的炫技平台,制作者写出代码服务大家,一些水平一般的程序员只是给它做一些小修补。如果有人比制作者水平强特别多,说自己有能力花钱解决制作者的任何BUG,那么制作者也输得心服口服。自由软件还有一个传染性(当然现在为了自由软件的发展,也有一些协议可以允许新开发的软件不具备“传染性”,这个情况我们普通人接触的不多就忽略吧。),就是你在自由软件基础上修改和重新发布的软件也会自动成为自由软件,这样避免了自由软件发展到以后拥有了著作权甚至产生了“闭源”的情况。
  看到这里,希望你能够对“著作权”或者“知识产权”有点新的认识,不是说代码有了著作权那别人就看不到了,开源的代码依然能够有著作权,著作权在这里的作用是向别的程序员声明:你们看到的这代码写的好吧?都是我写的,给我好好欣赏,不许你们动!就好像我写了一本小说《重生之我是AAB》,我还免费发布了它给大家看,但我申请了著作权就表明你可以看但你不能改!有人觉得这本书写得好,就是作者起名起的太差了,换个名字人气肯定更高,把AAB全部改成AABB了,还是免费发布。虽然这个人是好心,但他还是侵权了,因为作者不让任意修改。对于自由软件作者来说,他们非常鄙视这种行为,既然你的代码都公开给大家了,大家觉得你写得不好给你修改修改怎么了?为啥要你同意?你菜你就直说大家帮你改嘛。自由软件要破除的是著作权/知识产权/专利这些对知识的独占,任何的知识都是大家可以共享的,虽然提出的很早,但是在现在仍然是非常激进的观念,就目前世界的科技发展来说,完全没有知识产权会带来很多麻烦。
  总结一下,你可以看到收费/免费/开源/自由软件都不是百分之百的免费,它们的付费点完全不同,对于普通人来说有的和免费的没差别。收费软件你就是最基本的使用都要收费;免费软件不花钱可能用的有点闹心,需要买一些花钱扩展用得爽;开源软件收费针对的是商业使用防止自己的成果被滥用;而自由软件收费点在于卖家的计算机和代码水平,大家各凭本事吃饭,收了钱就负责修BUG和解决问题。

Q2:什么是GNU?

A:在介绍Linux之前还有一个重要概念介绍,这个GNU非常关键。先来一段历史,上世纪60年代,UNIX系统诞生,揭开现代操作系统的序幕,刚开始它是开源的,由于70年代UNIX开始闭源并且回收版权引起很多人恐慌,“自由软件”的思想开始流行起来。自由软件组织者也想开发一个仿照UNIX的系统,但是它是“自由”的操作系统,自由软件组织者成立了一个GNU项目来开发这个操作系统(GNU的全称是GNU is Not UNIX——GNU不是UNIX,你肯定会疑惑,这全称还是没什么实际意义嘛,而且这个全称不就是在“套娃”嘛。这种“套娃”缩写其实是当时特别实行的起名方式“递归缩写”,缩写想表达的意思往往是相反的,这个GNU说他们不是UNIX,意思就是说GNU模仿的目标是UNIX)。光开发一个操作系统肯定不行啊,它要想让别人使用肯定需要一些软件,比如程序员想要编程得有文本软件,还有编译器吧?GNU项目决定先从这些做起,为此开发了一大堆软件,但是他们一开始的操作系统这个目标却越拖越久,直到最近几年才有了自己真正的操作系统,但是几乎没什么讨论度了,因为现在已经是Linux操作系统的天下了,为什么要提到GNU呢?就是因为Linux使用的很多软件都是GNU项目里的O(∩_∩)O,这一组合真的是天作之合,自由的操作系统加上一系列自由的配套软件,一个闭环形成了。到这里终于引出来我们的主角——Linux操作系统了!

Q3:什么是Linux系统?什么是Linux系统发行版?

A:GNU项目的操作系统一直拖着,是因为他们一开始把精力放在了配套软件开发上,而也有人一开始就朝着操作系统开发去的,顶级程序员大佬Linus Torvalds在上世纪90年代开发出了Linux操作系统,但是这个操作系统太“硬核”了——它与硬件打交道的驱动、网络通信、文件管理这些操作系统定义里需要的功能都有,但是你想自己装软件可就麻烦了,Linux系统装软件你首先要搞到源代码并且编译,然后安装时可能还会报错提示缺少依赖关系(就好像windows上缺少DLL一样,严格来说比缺DLL更难弄),折腾半天依赖关系都满足了,终于可以运行了,刚一启动,提示你依赖关系里有个软件是1.2的,本系统只支持1.1的,绝望。。。所以现在真正使用“Linux操作系统”的几乎没有,大家使用的都是Linux基础上扩展的发行版,这些说法说着说着就混淆了,现在大家默认的Linux操作系统严格说是Linux系统发行版,发行版现在反而叫做Linux系统了,而它们使用的共同核心:真正的Linux操作系统叫Linux内核。因为Linux系统遵循自由软件的协议,它一直都是自由的,而它又能够媲美UNIX的强大,各路大佬轮番登场,用自己的技术对Linux魔改,于是“魔改版”——各种Linux发行版就诞生了,魔改版最重要的一点就是有自己的安装包管理工具,通过这个管理工具,你想装什么软件一条命令回车就可以了,管理工具帮你解决所有的依赖关系!
  真正的Linux系统和Linux系统发行版是什么关系呢?换个大家熟悉的系统比较就明白了(还是有些差别的,不过为了好理解)。安卓系统Android大家都知道吧,它的本体由于带着一些谷歌服务在大陆运行非常受限制,加上国人使用手机习惯和原生Android不符,于是有了各种定制版(类似于原本的Linux和发行版的关系)比如华为EMUI小米MIUI等等。你说定制版是安卓系统吗?肯定是啊,它的核心是基于安卓的(同样Linux发行版的核心是Linux)。那么装最原始的安装系统手机能运行吗?当然可以啊,不过就是用着不方便,这个类比有点区别,原版的Linux系统只要不是大佬级别使用起来那是相当难受,几乎是什么软件都没有,Linux发行版深度定制的一些软件,对于普通人使用是必须的。通过这个类比相信你明白了真正的Linux操作系统和其发行版的关系。这个类比还有一些差别体现在概念的指代范围上,学习时特别明显:Linux相关学习书籍很多标题上都带着Linux系统,而你看内容都是在某个发行版上介绍知识的,这就导致你学到的Linux知识有一部分换到其他发行版不能用,而Android相关书籍基本上都是在原生安卓基础上的知识,你换到一个定制版不光能用甚至实现起来更简单。假如有本书标题叫《从零学习安卓》,打开你发现是基于EMUI的(当然现实里确实没这么干的),然后它教你怎么在华为应用商店装软件,你又把系统换成MIUI,当然没法下华为应用商店的东西了,这就是在Linux不同发行版之间切换的一些困难,有的书介绍Linux通用的特性比较多,而有的书介绍发行版独有特性的多,后者看得越多,换用别的发行版系统越别扭。
  再重复一遍吧,Linux的各个发行版现在都抢过了名头,它们都被叫做“Linux操作系统”,反而根据定义,它们的内核真正的Linux操作系统在普通人眼里更陌生。由于现在的书籍都是基于某个发行版介绍的Linux,所以有或多或少的知识你换了发行版就不能用了,发行版独有的特性我觉得学起来谨慎点好,说不准过一两年你用的那个发行版就停止维护了,Linux通用的知识学的越多越好。
  现在绝大多数的文字表述都会把Linux发行版叫做Linux系统,大家也这么用就可以,知道它真正的意义就行,我在这篇文章尽量区分开,使用Linux发行版这个准确表述。

Q4:介绍一下Linux系统发行版有哪些吧?

A:一个一个数的话。。。发行版有几百个,但是有相当多的没什么名气,为什么有这么多呢?就像前面说的,每个发行版都集成了开发者的一些软件,他们都觉得自己开发的软件最优秀,而且自己才能维护谁也做不到,谁也不服谁,所以也很少见到发行版之间能够合并的,往往都会耗到最后,没什么名气的发行版不再维护了。但是要把这些发行版分门别类整理一下还是比较清晰的。
  按这些发行版系统的运营方式分,有的是商业公司维护的,有的是社区维护的。前者挣钱的思路更明确,一堆厉害的程序员卖自己的发行版系统,然后帮客户解决自己软件甚至Linux内核上的BUG以及维护性工作(这个收费的服务实际上更广泛,甚至到了你不花钱用不了的地步,和收费系统没区别,后面会说到)。后者可能会卖些周边接受赞助啥的,或者提供一些定制服务以及植入些广告,也有的在发行版系统里植入过商业软件引起一片骂声(我个人还是持中立态度的,这毕竟是真正的“用爱发电”,有的系统开发者是全职的,还是要恰饭的嘛,只要吃相不是太难看。突然想起了B站有些UP主,虽然视频质量很高还要不得已的恰饭,唉。。。)。
  按运行派系分更符合大家的习惯。就作者的了解,有三大派系,其他的发行版就比较杂几乎没人气,没人气就代表它的社区不活跃,提出BUG解决的慢,出问题不好解决,反而又会导致人气降低恶性循环。三大派系就是Debian系,红帽系和SUSE系,为什么要分“派系”呢,这几个派系本身算是Linux的“儿子”,直接从Linux上集成形成发行版系统,然后其他发行版又是在所属的派系发行版系统上进一步集成软件形成,可能还会有新的发行版再在这些派系衍生发行版上进一步集成,所以Linux系统有“儿子”,三个最出名的儿子又有很多“孙子”,甚至有的“孙子”还有了“重孙”,就是这种关系。先对这么多的发行版有个大概的分类思路,然后咱们再具体一个个介绍吧。

Q5:Linux发行版的Debian系,红帽系和SUSE系具体介绍一下吧?

A:接上个问题,介绍一下三大派系。
  Debian系比较知名的衍生版有很多,比如Ubuntu,Mint,Kali,深度。Debian本身就是一个发行版系统,支持的CPU架构很多,不光是AMD架构和x86/64架构,而且由于直接继承自Linux内核,自由度很高,这个系统也稳定。Ubuntu这个系统宣传的很好,社区也活跃,可以说是最知名的Linux发行版之一,听说有人觉得Ubuntu不稳定,作者用的就是Ubuntu,目前觉得还是相当稳定的,这个系统黑点也不少,比如植入商业软件它就干过(如前面所说,我不予置评)。Mint系统没怎么用过,这个比较年轻,也是比较受欢迎的。Kali黑客用的多,它有很多集成的黑客攻击工具,所以用这个系统被抓的比较多,有人云“Kali用的好,牢饭吃到饱/局子进的早”(一张表情包:JC:“又抓到一个用Kali的,又用Kali干什么了?”Kali黑客:“我妹有,我真滴妹有。。。”)。深度(Deepin)是国产系统(国产Linux发行版)比较知名的一个了,就是供个人用户使用的,桌面很好看,“花里胡哨”的(褒义),最早深度是基于Ubuntu的,后来改成基于Debian的了。其他的作者就没怎么了解了,反正这个派系发行版很多。这一派系都是基于apt工具管理软件安装的。
  红帽系足够权威,足够强大,而且这个派系的系统间互相利用让它足够稳定。红帽系的核心是RHEL(Red Hat Enterprise Linux)系统,即红帽企业版Linux系统,这个系统要花钱提供服务,你不想要提供服务还不行,因为软件安装也在服务里面,你想通过官方渠道安装各种软件这个功能都需要付费激活,当然真有钱的话买一个RHEL爽到飞起(价格普通人很难负担),一堆大佬伺候着你。Fedora是RHEL的尝鲜版,虽然免费,但是各种好用不好用的功能都会第一时间放到上面,导致Fedora完全不可能用于服务器,毕竟新功能有各种BUG和漏洞而且更新频繁。作为小白鼠,在Fedora上测试稳定的功能再放到RHEL进行更新。既然RHEL的官方安装渠道不能免费用,安装软件要自己编译和解决依赖关系对于普通人又十分困难,有个CentOS组织就热心地提供了RHEL的免费版CentOS系统,这个CentOS组织就相当于一群爱好者的论坛,最初都是“用爱发电”的,去掉了RHEL里的收费服务和收费组件,全部改成免费版的,最后重新编译一下系统,除此之外也没有多的改动。也就是说RHEL7,1发布了,马上就会发布一个CentOS7.1,两者的区别仅在于去掉了收费的功能,CentOS有着强大的红帽系统做基础又免费,导致它在全世界服务器上应用广泛,社区非常活跃,市面上大部分的Linux书籍都是讲CentOS的。CentOS这个组织后来被红帽公司收购了,但是可以继续发布它们的免费版CentOS,因为总有一部分人体验过CentOS后转为更专业的RHEL系统,这一招就是为了扩大市场占有率。2018年红帽公司又被IBM收购了,当时就引起了一些担心,在去年终于转为了现实——CentOS8宣布2021年末结束维护,以后再也不会有免费的新版CentOS了,以后的CentOS只有一个版本叫CentOS Stream,它是滚动更新的,以往这几个系统的利用模式是:Fedora测试过后的功能保留到正式的RHEL,RHEL再形成免费的CentOS来扩大使用率,以后的模式是这样的:Fedora的功能会先在CentOS Stream测试,最后才会保留到RHEL。CentOS以后只有滚动更新的版本,对于运维人员真可以算是一场灾难,因为如果服务器滚动更新不一定能保证还稳定运行,要想不换系统就要花钱买RHEL(毕竟两者几乎没区别,RHEL还有专业维护服务),要想不花钱就要换服务器使用的Linux发行版,新的发行版稳定与否完全是未知数。红帽系是基于yum工具管理软件安装的。
  SUSE系抱歉作者了解的不多,听说它对中国市场也不太重视。

Q6:对了,既然你说Linux源代码公开,那黑客想找漏洞不是分分钟的事吗?

A:确实有人有这个担心,但是你想一想,闭源的软件难道就不会被黑客攻击了吗?windows系统上的病毒大家随口一说都能说出一大堆吧?所以黑客攻击和代码公不公开没关系,反而是Linux系统由于大家都可以参与到开发中,一旦有人反馈漏洞,成千上万的人都可以修复,比一个商业公司效率要高得多。这也就是Linux系统为什么安全,攻击它的人都是零零散散的,它的维护团队可是千军万马!

Q7:前面你说CentOS就要停止维护了,那我接着用有什么影响?windows 7停止维护了我想用我还可以用没什么影响呀?

A:不光是CentOS,我想说一下任何Linux发行版停止维护意味着什么。首先要明确的一点是,Linux发行版侧重点还是在服务器上,这和个人使用天差地别,服务器发生问题,影响的是一群人,如果丢失关键数据,被罚款甚至坐牢都有可能,个人电脑出了问题,反正就自己用,大不了重装呗。明确了使用的对象,再继续说明停止维护后会发生什么。只对于服务器上使用Linux来说,官方没有维护了,出现新的漏洞官方不会提供补丁,一旦黑客利用这个漏洞攻进来,损失可就大了;往整体上的使用来说,停止维护对于个人电脑都有很大影响,因为停止维护以后,官方的软件仓库不再更新甚至会直接取消仓库,不更新会导致你无法再安装最新版软件,比如SQL你最高安装到SQL7,后面的SQL8、SQL9你装不了,如果是更严重的取消仓库,你从官方途径直接就下载不到软件了,因为已经在物理意义上消失了,官方的硬盘没有存着这个软件,你可能会想到镜像源,很遗憾,如果官方取消仓库了,镜像源或早或晚也会取消,毕竟停止维护后使用率越来越低,他们也没必要浪费存储空间,你唯一的办法只剩下前面说的自己编译和解决依赖关系,与其这样不如换系统。
  所以说,Linux发行版和Windows停止维护区别非常大,Linux发行版停止维护的最终结果就是这个发行版几乎失去了意义,甚至不如原始Linux内核,windows最起码你很多软件照样下载安装最新版(现在明确指明软件不能在win 7运行的还是很少一点点),虽然出现漏洞同样没人管就是了(360的帮忙维护算是个特例吧咱先不考虑)。
  从这里你也可以看出来,RHEL是遵循着自由软件协议,但普通用户就是得花钱用,这就是自由软件的另一面——有时候它十分方便伸手党,想用随意用,大佬们轮番上台演出,我们就喊着666静静的看着大佬装逼就好;有时候又会导致你达不到大佬们的水平就是没办法用(满汉全席怎么做,每道菜的材料和食谱大佬都给你了,但是大佬就能做出来,你花一辈子也做不出来),所谓神仙打架凡人遭殃,如果你不参与到自由软件的开发上,让自己也成为大佬,软件停止维护的那天只能傻眼。再次强调一遍,自由软件并不意味着免费,因为自由软件的服务收费,如果自由软件是一个操作系统,那么这个服务收费可能是致命的,因为只要开发者想这么做,“安装软件”都可以作为收费功能。

Q8:为什么这么早CentOS就停止维护了啊?那么多的相关书籍还能看吗?

A:“早”这一点大家都有感觉,现在似乎正应该是CentOS发光发热的时候,部署了CentOS发行版的服务器和网站太多了。。。但是从IBM收购了红帽的那一刻这一切就理所当然了,至于为什么是现在,或许是IBM觉得红帽系统占有率已经够多了吧,然后就开始准备“恰饭”了,肯定会有相当一部分的CentOS大用户转为RHEL客户,我觉得为了更早地榨取利润吃相确实有点难看,这就是资本主义的本质嘛,我说的还算比较理性的,毕竟我对CentOS接触不多,社区里可是炸了锅了,“叛徒”之类的谩骂很多。
  那么相关的书籍还能看吗?毕竟基于CentOS的书籍特别多,只要谨慎一些就可以,Linux基础部分都是共通的,以后少看CentOS独有的特性就可以。别忘了CentOS哪怕现在学了,过几年肯定是要换的,做好准备就行。CentOS把Linux系统中的份额让了出来,别的系统肯定会填补空缺,填补空缺需要一段时间,现在就学别的发行版也行,等局势明朗了再追随大流换一种发行版也未尝不是一种好策略。

Q9:为什么Linux发行版在个人PC上使用率非常低?

A:这个问题嘛,最致命的当然还是软件生态了。在上世纪90年代到本世纪初,Linux和Windows系统目标就不同,前者就算开发软件也都是服务器使用的,而后者开发的软件很多都是服务于个人的比如设计类软件或者游戏,到本世纪初Linux发行版们开始推广个人PC上的应用时,在软件生态上就比Windows落后太多,很多软件不支持导致PC使用率再降低,逐渐的恶性循环导致很少有人在PC使用Linux发行版。现在的Linux发行版们也开始重视起个人用户这一块,生态也在一步步改善了。
  使用率低还有一部分原因可以“归功于”厂商故意在Linux推广上使过绊子,前几年一个Linus参与的会议上就说出了经典的“NVIDIA 法克 YOU”,NVIDIA是在个人电脑上使用率非常高的显卡牌子,但是前几年NVIDIA对于Linux系统的驱动支持非常差,导致用了NVIDIA的电脑如果装了Linux系统调用显卡会出各种问题,难怪Linux之父Linus竖中指并言语嘲讽。微软也和Linux“对线过”,21世纪初微软造谣说Linux系统比Windows贵,Linux更不安全(想给他们一个大大的问号),不断地吓唬客户导致一些人成功上当购买了Windows,微软有一位副总裁还评论过开放软件运动,因为它破坏了知识产权(这个评价内容本身我觉得不好说谁对谁错,但是微软之口说出的总是有点膈应)。多的就不说了,微软历史上的黑料真不少,大家一搜一大堆。

Q10:为什么服务器上装的Linux系统都是黑底白字的,弄个桌面不方便吗?

A:对于个人电脑来说基本使用的都是桌面版的Linux发行版,有简陋或者华丽的桌面,方便了不懂Linux命令的人也能像windows一样操作它,而服务器上为什么都是黑底白字呢?因为对于Linux系统,桌面只是一个软件,而这个软件因为有了花里胡哨的界面和多彩的颜色对内存的消耗巨大,没有桌面的Linux系统和加了桌面性能差太多了,服务器需要的是极致的性能;还有就是,桌面既然是一个软件,那它也可能有BUG,如果桌面崩溃了,很可能系统会跟着死机,这是致命的。windows系统为什么老是蓝屏呢?和桌面的关系挺大,相信如果windows系统没有了桌面,稳定性也能够大幅提升;Last but not least,对于初学者可能觉得命令行太繁琐了,但是你习惯了之后就会发现,很多时候,命令行操作比桌面要快得多的多。

结语——Linux虽遇窘境,但未来一直充满光明,自由软件的精神永远存续

  微软官方早就宣布win10是最后一个windows大版本,以后只有win10的更新,Linux借此机会扩展生态与windows平分个人用户市场很有希望,但Linux发行版中的大头CentOS即将落幕对于所有Linux用户都是一记重拳。对于自由软件开发者特别是这些Linux发行版开发者,“用爱发电”和“恰饭”一直是必须解决但又难以平衡的问题,CentOS突然的落幕让人惋惜,有的公司刚在去年12月把停止维护的CentOS6换成CentOS8就发现,8居然比7还要早停止维护。在前一段时间的采访中,Linus也感慨道,给Linux内核提供贡献的力量很多,但能够接替他们把这个内核维护下去的人才很稀少。
  随着时间的流逝,现在的深度,Ubuntu这些系统必然也会因为“用爱发电”电量不足走向终点,或者它们突然转型开始专职“恰饭”像RHEL一样,虽然会减小市场份额但可以活下去,甚至有一天,因为维护力量不足Linux内核宣布不再更新。但是一代代程序员的接力,已经让自由软件的精神有了燎原之势,相信即使Linux也消失了,会有新一代的程序员接过接力棒,开发出新的系统和新的软件,新的系统叫什么?可能是Minux?Ninux?我们无从得知,但是它一定会从Linux的驱壳中涅槃而出。我们要做的就是不断学习,在享用各个操作系统便利的同时,如果可能的话,为同一项事业做出贡献。一定要记得,所有Linux和它的发行版的开发者在做的是同一项伟大的事业——自由软件!

【转】为什么火线有电压,零线没有电压呢?相关推荐

  1. 正5V+5V电压到负电压5V-5V电路图

    正电压的用处不用我说了,在电子电路中我们常常需要使用负的电压,比如说我们在使用运放的时候常常需要给他建立一个负的电压.下面就简单的以正5V电压到负电压5V为例说一下他的电路. 通常我需要使用负电压时一 ...

  2. 如何将高电压和低电压结合在一起设计?

    虽然在降低功率的时候往往会强调低电压,但设计者通常需要在相同的设计中加入低电压和高电压.这就提出了三个挑战:开发高电压直流轨;提供更高的电压模拟放大器/驱动程序功能;并满足更高电压系统的相关安全和监管 ...

  3. matlab电压稳定极限,电力系统电压稳定性的Matlab建模分析

    Matlab软件作为一个编程效率高.程序设计灵活.图形功能强的工程实用的分析软件,在电力系统的仿真分析及相关计算中得以广泛应用,特别是其中的Simulink工具箱可以实现电力系统的模型建立及动态仿真[ ...

  4. 宽量程电压电流 stm32_电压、电阻知识点汇总

    电压 (一) 电压的作用 1.电压是形成电流的原因:电压使电路中的自由电荷定向移动形成了电流.电源是提供电压的装置.2.电路中获得持续电流的条件:①电路中有电源(或电路两端有电压):②电路是连通的.  ...

  5. STM32工作笔记0043---什么是漏源电压,栅源电压

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 漏源电压:漏极和源极两端的电压. 栅源电压:栅极和源极两端的电压. 栅极(daoGate--G,也 ...

  6. iphone电压测试软件,电压电击iPhone结果会怎样? 通过测试后, 照样可以正常开机...

    实验项目:用5万伏电压电击iPhone做实验 在国外很多作死实验狂人都喜欢用iPhone来做各种各样的虐机测试,虽然大家都知道iPhone手机质量还是可以的,但是再坚硬的iPhone手机也无法承受一些 ...

  7. matlab 电压矢量开关,电压空间矢量研究及Matlab仿真

    近年来,电机的空间矢量理论被引入到逆变器及其控制中,形成和发展了空间矢量PWM(SVPWM)控制思想.其原理就是利用逆变器各桥臂开关控制信号的不同组合,使逆变器输出电压空间矢量的运行轨迹尽可能接近圆形 ...

  8. 关于调制比、过调制、基波电压和母线电压的概念和关系总结

    1.调制比和过调制的定义 在PWM技术中,调制比被定义为调制波幅峰值和载波峰值的比值,其中Aref是调制波的峰值,Af是载波的峰值. 举个例子说明一下,大家熟知的SVPWM的调制比如下式所示: 在SV ...

  9. LM2596/LM2596S多路降压稳压DC-DC开关电源芯片讲解(第一部分:芯片介绍)(12V转5V、12V转3.3V、任意电压转任意电压)

    目录 一.LM2596介绍 总结特点 应用领域 二.测试电路及其布线方案 固定输出 可调输出 三.LM2596相关参数 极限参数 电气特性 电气特性(所有输出) 四.芯片物理结构 芯片内部电路图 芯片 ...

  10. c语言程序电压采样,单片机电压采集装置课程设计(AD转换及编程实现).doc

    word文档 可自由复制编辑 单片机课程设计 姓 名: 学 号: 专 业: 电子科学与技术 题 目: 单片机电压采集装置 专 题: AD转换及编程实现 指导教师: 设计地点: 实验楼 时 间: 201 ...

最新文章

  1. 虚幻引擎5(UE5)实时VFX游戏特效制作入门到精通
  2. cmake通过命令行构建静态库/动态库
  3. Android7.0多窗口实现原理(一)
  4. vc6.0开发环境两个辅助工具
  5. vue中将md转成html,Vue/Vue中Html和Markdown互相转换/README.md · 倚栏听风/LearningNotes - Gitee.com...
  6. easyui numberbox一些常用属性,方法
  7. 剑指Offer - 面试题43. 1~n整数中1出现的次数(找规律+公式)
  8. 论文浅尝 - 计算机工程 | 知识图谱可视化查询技术综述
  9. 通过拓展Function.prototype实现一个AOP
  10. 指令重排序及Happens-before法则随笔
  11. 递归:若函数包含了对其自身的调用,该函数为递归的。《Python核心编程》P305...
  12. Atitit 学习方法 补充 艾龙 著 attilax著 1. Atitit 学习的方法 attilax总结 1 1.1. 2. 基于学习策略的分类 2 2 1.2. 3. 基于所获取知识的表示形
  13. 循环神经网络(RNN)详解
  14. 计算机专业毕业设计(论文)指导pdf,中国计量学院信息工程学院毕业设计论文指导书计算机专业.pdf...
  15. 鹰信 UC 登录状态同步方法
  16. 用foxmail绑定邮箱提示用户名或密码错误
  17. 服务器显示媒体已断开,媒体断开是什么?Win10专业版如何修复媒体断开?
  18. about-page
  19. ASR项目实战-架构设计
  20. 微信笔记如何重命名_不只是您:Google在Android上重命名为“保持笔记”

热门文章

  1. python爬取猫途鹰网站上的评论
  2. FME入门视频教程:第三节 FME界面及常用设置
  3. 获取完整拼音中包含拼音的个数
  4. batchplot插件用法_教大家如何使用Batchplot批量打印CAD图纸
  5. office2010每次打开总是出现配置进度
  6. 毕设+电路板(BTN7960驱动电路+LM2596/AMS117稳压电路+蜂鸣器+STM32F103C8T6最小系统电路)
  7. 深度学习《InfoGAN模型》
  8. 网络寻宝 v2.2 官网
  9. Ubuntu下,curl 安装
  10. 二元logistic回归前的单因素分析