前言
第一次听到Linux的大名是在进行网络培训的时候,隔壁的红帽子培训时听到的。由于这样,导致我很长一段时间都以为Linux就是红帽,红帽就是Linux,当听到Ubantu的时候,还以为又是另一个全新的,区别于windows和Linux的版本,现在想起来很是羞愧。近期因为工作的原因需要掌握Linux,因此开启了一次全新的学习之旅。正所谓工欲善其事,必先利其器。对Linux的初步了解是必须的。
Linux概述
Linux是一个可以免费使用,传播的 Like-Unix操作系统,可以多用户、多任务、多线程和多CPU。如同Windows一样,它也有32位和64位两种版本,分别支持不同的硬件。严格来讲,Linux其实只能表示其内核(Kernel),只有结合了内核之上的各种库和应用工具才真正算得是一个完整的操作系统。但大家习惯都用Linux来指代整个含有Linux内核和软件,库的操作系统。
Linux发行版本
Linux由于其开源的特性,因此产生了很多的版本,但目前主流的应用为三大版本,包括: slackware,debian,redhat。这其中相对来说,redhat的知名度要略高一些。根据这三大主流发行版本,又产生了很多的二次乃至与三次开发版。比如,slackware的二次发行版中具有很高知名度的SUSE,debian中的Ubuntu等。而针对redhat的二次开发版,则包含了基于企业层面的 rhel 和桌面应用的 fedora。同时,由于rhel提供补丁升级包时,并非是直接提供经过编译后的二进制安装包,从而激发部分有能力的人员,发布了完全兼容 rhel 格式的 CentOS。
开源协议
学习Linux,开源协议这个话题是无论如何也不能绕开的。Linux本身是基于GPL (General Public Licence)协议来进行开发的。除了GPL协议,目前流行的几种开源协议中,还包含了LGPL,Apache,BSD等,从各自不同的规定内容也可以发现几个开源协议之间的不同。
GPL协议:主要是针对代码的开源,包括免费使用,修改,乃至于其衍生代码的开源和免费使用。但该协议明确禁止修改后或者是衍生的代码作为闭源的商业软件发布和销售。只要是你使用了采用GPL协议的代码,则你所写的代码也必须继承GPL协议,必须为开源和免费。
LGPL协议:LGPL主要是为类库使用设计的开源协议。它可以允许商业软件通过类库引用方式来使用LGPL类库,而不是直接使用开源代码,这样就避免了开源其商业软件代码,从而使商业软件可以发布及销售。
Apache协议:可以免费使用,修改代码。但必须尊重原作者的著作权,且再发布或商业软件时,必须遵循如下的条件:1、需要给代码的用户一份Apache Licence;2、如果你修改了代码,需要在被修改的文件中说明;3、在延伸的代码中(修改和有原代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明;4、如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。
BSD协议:与Apache协议一样,可以自由使用和修改源代码,并可以将修改的代码作为开源或者专有软件予以发布,但同样有前提:1、如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议;2、如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议;3、不可以用开源代码的作者/机构名字和原来产品的名字作市场推广。
总结
路漫漫其修远兮,吾将上下而求索。Linux的学习征程已经迈开了第一步,唯有努力方可见成效!
原创文章,作者:迷途小书僮,如若转载,请注明出处:http://www.178linux.com/11082