首先,在服务器硬件维护工作中发现当前Linux系统的使用率越来越高,在去机房维护服务器的时候也可以看到大部分机器都部署了Linux系统,作为服务器维修人员来说,不懂操作系统是不行的,尤其是不懂Linux系统更是万万不行的。原先,所接触的关于Linux系统的概念比较模糊,所以觉得很有必要系统化的学习一下Linux系统的知识。我选择从目前比较热门的红帽Linux系统开始学习。
Linux系统遵循开源共享的精神,一下是目前程序员最喜欢的前6名的开源许可证:
一、GNU通用公共许可证(General Public License,GPL)
1、使用自由:允许用户根据需要自由使用这个软件。
2、复制自由/传播自由:允许把软件复制到任何人的计算机中,并且不限制复制的数量。
3、修改自由:允许开发人员增加或删除软件的功能,但软件修改后必须依然基于GPL许可证。
4、衍生自由:允许用户深度定制化软件后,为软件注册自己的新商标,再发行衍生品的自由。
5、收费自由:允许在各种媒介上出售该软件,但必须提前让买家知道这个软件是可以免费获得 的。因此,一般来讲,开源软件都是通过为用户提供有偿服务的形式来营利的。
二、较宽松通用公共许可证(Lesser GPL, LGPL)
一个主要为保护类库权益而设计的GPL开源协议。与标准GPL许可证相比,LGPL允许商业软件以类库引用的方式使用开源代码,而不用将其产品整体开源,因此普遍被商业软件用来引用类库代码。简单来说,就是针对使用了基于LGPL许可证的开源代码,在涉及这部分代码,以及修改过或者衍生出来的代码时,都必须继续采用LGPL协议,除此以外的其他代码则不强制要求。
三、伯克利软件发布版(Berkeley Software Distribution, BSD)许可证
另一款被广泛使用的开源软件许可协议。相较于GPL许可证,BSD更加宽松,适合于商业用途。用户可以使用、修改和重新发布遵循该许可证的软件,并且可以将软件作为商业软件发布和销售,前提是需要满足下面3个条件。
1、如果再发布的软件中包含开源代码,则源代码必须继续遵循BSD许可证。
2、如果再发布的软件中只有二进制程序,则需要在相关文档或版权文件中声明原始代码遵循了 BSD许可证。
3、不允许用原始软件的名字、作者名字或机构名称进行市场推广。
四、Apache许可证(Apache License)
顾名思义,是由Apache软件基金会负责发布和维护的开源许可协议。作为当今世界上最大的开源基金会,Apache不仅因此协议而出名,还因市场占有率第一的Web服务器软件而享誉行业。目前使用最广泛的Apache许可证是2004年发行的2.0版本,它在为开发人员提供版权及专利许可的同时,还允许用户拥有修改代码及再发布的自由。该许可证非常适合用于商业软件,现在热门的Hadoop、Apache HTTP Server、MongoDB等项目都是基于该许可证研发的。程序开发人员在开发遵循该许可证的软件时,要严格遵守下面4个条件。
1、该软件及其衍生品必须继续使用Apache许可证。
2、如果修改了程序源代码,需要在文档中进行声明。
3、若软件是基于他人的源代码编写而成的,则需要保留原始代码的许可证、商标、专利声明及原 作者声明的其他内容信息。
4、如果再发布的软件中有声明文件,则需在此文件中注明基于了Apache许可证及其他许可证。
五、MIT许可证(Massachusetts Institute of Technology License)
源于麻省理工学院,又称为X11协议。MIT许可证是目前限制最少的开源许可证之一,用户可以使用、复制、修改、再发布软件,而且只要在修改后的软件源代码中保留原作者的许可信息即可,因此普遍被商业软件(例如jQuery与Node.js)所使用。也就是说,MIT许可证宽松到一个新境界,即用户只要在代码中声明了MIT许可证和版权信息,就可以去做任何事情,而无须承担任何责任。
六、Mozilla公共许可证(Mozilla Public License,MPL)
于1998年初由Netscape公司的Mozilla小组设计,原因是它们认为GPL和BSD许可证不能很好地解决开发人员对源代码的需求和收益之间的平衡关系,因此便将这两个协议进行融合,形成了MPL。2012年年初,Mozilla基金会发布了MPL 2.0版本(目前为止也是最新的版本),后续被用在Firefox、Thunderbird等诸多产品上。最新版的MPL公共许可证有以下特点。
1、在使用基于MPL许可证的源代码时,后续只需要继续开源这部分特定代码即可,新研发的软件 不用完全被该许可证控制。
2、开发人员可以将基于MPL、GPL、BSD等多种许可证的代码一起混合使用。
3、开发人员在发布新软件时,必须附带一个专门用于说明该程序的文件,内容要有原始代码的修 改时间和修改方式。
Linux系统好用主要基于以下四点:
1:低风险
2:高品质
3:低成本
4:更透明
此外Linux系统还具有稳定且高效,免费或少许免费,系统漏洞少且能快速修补,多任务多用户,更加安全的用户和文件权限策略,适合小内核的嵌入系统,硬件资源消耗小等优点。
Linux系统的大致发展历程:
1965年贝尔实验室(归属于AT&T公司) 开发了MULTICS系统。
1969年UNICS系统诞生,并未普及。
1973年C语言之父Dennis M. Ritchie用C语言重新编写了UNICS后,写出了UNIX系统。
1979年AT&T公司申请了UNIX的专利并收回其版权。
1983年GNU计划发起(开放源代码)
1987年出现了第一个免费gcc编译器
1989年GPL计划发起
1991年Linus Torvalds编写出Linux系统
1994年RedHat公司成立
1998年Intel,IBM,HP大力推动开放源代码软件,在此之后Linux系统得到了快速发展。
常见的Linux系统版本
1、红帽企业版系统(RHEL,RedHatEnterpriseLinux)
2、CentOS社区企业操作系统(Community Enterprise Operating System)
3、Fedora Linux
4、Debian Linux
5、Ubuntu Linux
6、openSUSE Linux
7、Kali Linux
8、Gentoo Linux
9、深度操作系统(deepin)
以上就是我初学Linux系统所学习和了解到的基本概念,希望后续的学习能够持续下去并不断深入。