【Linux上分之路】第一篇:Linux简介、发行版、开源协议

冲

Linux

Linux是一套开放源代码程序操作系统软件,Linux提供了一个完整操作系统当中最底层硬件控制与资源管理的完整架构,这个架构是沿袭UNIX来的,UNIX系统也是Linux系统的前身

Linux核心最初是由李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学时编写的,之后并开放了源代码,现在普遍使用的Linux,是由Linux爱好者与托瓦兹共同开发完成的

Linux企鹅标志

Linux的优点

  • 大量可用软件及免费软件
  • 良好的可移植性
  • 优良的稳定性和安全性
  • 支持几乎所有的网络协议和编程语言

Linux分类

Linux发行版本可以根据维护组织不同分为两类:

  • 商业公司维护的发行版本,代表为RedHat
  • 社区组织维护的发行版本,代表为Debian

Linux发行版本可以根据软件管理方式的不同分为两类:

  • 以RPM软件管理为主的RHEL、Fedora、SUSE、CentOS
  • 以dpkg软件管理为主的debian、Ubuntu

Linux发行版本

李纳斯·托瓦兹开发的Linux只是一个内核,内核指的是提供设备驱动、文件系统、进程管理、网络通信等功能的系统软件,只是一个操作系统的核心,并不能构成一套完整的操作系统

一些组织和厂商将Linux内核与各种软件和文档包包装起来,并提系统安装界面和系统配置、设定和管理工具,这就是Linux发行版本

RedHat Linux

LinuxRedHat发行版

Red Hat是目前最资深的Linux产商,RedHat公司的主要产品有RHEL(RedHat Enterprise Linux,收费版本)和CentOS(RHEL的社区克隆版本,免费版本)、Fedora Core(由RedHat桌面版发展而来,免费版本)

Ubuntu Linux

LinuxUbuntu发行版

Ubuntu基于著名的Debian Linux发展而来,界面友好,是免费版本

Linux系统结构

UNIX/Linux 系统可以粗糙地抽象为 3 个层次(所谓粗糙,就是不够细致、精准,但是便于初学者抓住重点理解),如图 3 所示。底层是 UNIX/Linux 操作系统,即系统内核(Kernel);中间层是 Shell 层,即命令解释层;高层则是应用层
Linux系统结构

1、内核层

内核层是 UNIX/Linux 系统的核心和基础,它直接附着在硬件平台之上,控制和管理系统内各种资源(硬件资源和软件资源),有效地组织进程的运行,从而扩展硬件的功能,提高资源的利用效率,为用户提供方便、高效、安全、可靠的应用环境

2、Shell层

Shell 层是与用户直接交互的界面。用户可以在提示符下输入命令行,由 Shell 解释执行并输出相应结果或者有关信息,所以我们也把 Shell 称作命令解释器,利用系统提供的丰富命令可以快捷而简便地完成许多工作

3、应用层

应用层提供基于 X Window 协议的图形环境。X Window 协议定义了一个系统所必须具备的功能(就如同 TCP/IP 是一个协议,定义软件所应具备的功能),可系统能满足此协议及符合 X 协会其他的规范,便可称为 X Window

Linux主要应用的领域

  • 网站服务器
  • 电影工业
  • 嵌入式应用

开源软件

Linux是一款开源软件,Linux本身就是开源精神的受益者

开源软件就是把软件程序与源代码文件一起打包提供给用户,用户既可以不受限制的使用该软件的全部功能,也可以根据自己的需求修改源代码,甚至把由此衍生出的产品再次发布

开源软件的优点

低风险:开源软件的源代码参与维护的人越多,软件的漏洞和风险就会越低

高品质:开源软件通常是由开源社区来研发和维护的,参与编写和维护的人越多,软件越能经受检查

典型的开源软件

Linux开源软件

开源协议

开源协议规定了在使用开源软件的权利和义务,虽然开源协议没有法律效力,但是涉及软件版权纠纷时,开源协议是很重要的证据

1、GNU GPL(GNU General Public License,GNU通用公共许可证)

LinuxGNU开源协议

只要软件中包含了遵循GPL协议的产品和代码,该软件就必须遵循GPL许可协议,也就是开源免费

GPL开源协议的主要特点:复制自由、传播自由、收费传播、修改自由

  1. 复制自由:允许把软件复制到任何人的电脑中,并且不复制复制的数量
  2. 传播自由:允许软件以各种形式进行传播
  3. 收费传播:允许在各种媒介上出售软件,但前提示必须让买家知道该软件是可以免费获取的
  4. 修改软件:允许开发人员增加或删除软件的功能,但是软件修改后必须遵循GPL许可协议授权

2、BSD(Berkeley Software Distribution,伯克利软件发布版)协议

LinuxBSD协议

BSD协议允许用户使用、修改和重新发布遵循该许可的软件,并可以将软件作为商业软件发布和销售,但得满足三个前提条件:

  1. 如果再发布的软件包含源代码,则源代码必须遵循BSD许可协议
  2. 如果再发布的软件中只有二进制程序,则需要在相关文档或版权文件中声明原始代码遵循了 BSD 协
  3. 不允许用原始软件的名字、作者名字或机构名称进行市场推广

3、Apache许可证协议

LinuxApache协议

Apache 和 BSD 类似,都适用于商业软件。Apache 协议在为开发人员提供版权及专利许可的同时,允许用户拥有修改代码及再发布的自由

程序开发人员在开发遵循该协议的软件时,要严格遵守下面的四个条件:

  1. 该软件及其衍生品必须继续使用 Apache 许可协议
  2. 如果修改了程序源代码,需要在文档中进行声明
  3. 若软件是基于他人的源代码编写而成的,则需要保留原始代码的协议、商标、专利声明及其他原作者声明的内容信息
  4. 如果再发布的软件中有声明文件,则需在此文件中标注 Apache 许可协议及其他许可协议

4、MIT协议

目前限制最少的开源许可协议之一(比 BSD 和 Apache 的限制都少),只要程序的开发者在修改后的源代码中保留原作者的许可信息即可,因此普遍被商业软件所使用

5、GUN LGPL(GNU Lesser General Public License,GNU 宽通用公共许可证)

LGPL 是 GPL 的一个衍生版本,也被称为 GPL V2,该协议主要是为类库设计的开源协议

LGPL 允许商业软件通过类库引用(link)的方式使用 LGPL 类库,而不需要开源商业软件的代码。这使得采用 LGPL 协议的开源代码可以被商业软件作为类库引用并发布和销售

选择开源协议

Linux开源协议的选择

总结

Linux本身就是个最普通的操作系统,常见的:Linux发行版有"商业、分类"分类法,或者通过软件管理分为RPM、DPKG,以及保护软件权益的各种开源协议和开源协议的选择

赶紧学习起来吧!我是一个正在努力找回自我的人,希望能和一起学习的人成长,有错误的地方请各位大佬帮忙指正,如果觉得有帮助就点个赞当作对我的一个小肯定❤,peace&love

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值