Linux学习之路-基础

一、GPL、BSD、MIT、Mozilla、Apache和LGPL的区别


1.BSD许可证(https://en.wikipedia.org/wiki/BSD_licenses)

BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:

如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。

如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。

不可以用开源代码的作者、机构名字和原来产品的名字做市场推广。

BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。

2.MIT许可证(The MIT License | Open Source Initiative)

MIT是和BSD一样宽范的许可协议。你必须在你的发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的。作者只想保留版权,而无任何其他了限制,较BSD协议宽松。

一般使用 MIT 授权的项目,需在源文件头部增加以下内容:

Copyright [yyyy] [name of copyright owner]. All rights reserved.

//[yyyy] 表示该源文件创建的年份。紧随其后的是 [name of copyright owner],即版权所有者。如果为个人项目,就写个人名称;若为团队项目,则宜写团队名称。

3.Apache许可证(http://www.apache.org/licenses/LICENSE-2.0)

Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件也和BSD类似:

需要给代码的用户一份Apache Licence;如果你修改了代码,需要再被修改的文件中说明。在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。

该许可证要求在所有的源文件中的头部放置以下内容才能算协议对该文件有效:

Copyright [yyyy] [name of copyright owner]

//[yyyy] 表示该源文件创建的年份。紧随其后的是 [name of copyright owner],即版权所有者。如果为个人项目,就写个人名称;若为团队项目,则宜写团队名称。

4.GPL许可证(How to use GNU licenses for your own software- GNU Project - Free Software Foundation)

1980,一个叫Richard Stallman的美国人因为无法容忍软件私有化,而建立了GPL许可证。他认为,软件的源代码是全人类的财富,应该允许程序员自由共享。

GPL许可证的核心含义是:允许任何人观看、修改,并散播程序软件里的原始程序码,条件是如果你要发布修改后的版本就要连源代码一起公布,不允许修改后和衍生的代码做为闭源的商业软件发布和销售。Linux就是采用了GPL协议,这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商业软件公司开发的免费软件了。

GPL协议的主要内容是只要在一个软件中使用(”使用”指类库引用,修改后的代码或者衍生代码)GPL 协议的产品,则该软件产品必须也采用GPL协议,即必须也是开源和免费。这就是所谓的”传染性”。GPL协议的产品作为一个单独的产品使用没有任何问题,还可以享受免费的优势。

由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。

5.LGPL许可证(GNU LGPL | Open Source Initiative)

LGPL 允许以动态链接使用开源库。采用LGPL的代码,一般情况下它本身就是一个第三方库(LGPL最早的名字就是Library GPL),这时候开发人员仅仅用到了它的功能,而没有对库本身进行任何修改,那么开发人员也不必公布自己的商业源代码。但是如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须开源,并且采用LGPL协议。

6.Mozilla许可证(Internet for people, not profit — Mozilla)

Mozilla公共许可证(英语:Mozilla Public License,简称MPL)  允许免费重发布、免费修改,但要求修改后的代码版权归软件的发起者。要求所有再发布者都得有一个专门的文件就对源代码程序修改的时间和修改的方式有描述。允许一个企业在自己已有的源代码库上加一个接口,除了接口程序的源代码以MPL 许可证的形式对外许可外,源代码库中的源代码就可以不用MPL许可证的方式强制对外许可。

总结:严格程度:MIT->BSD->Apache->LGPL->Mozilla->GPL

二、Linux操作系统的安装

       一些组织或厂商将 Linux 内核与各种软件和文档包装起来,并提供系统安装界面和系统配置、设定与管理工具,就构成了 Linux 的发行版本。Linux 的发行版本大体有4大体系:Arch系、Redhat系、Debian系、SUSE系。Redhat系中centos我们需要进行学会使用期安装同时在Debian系中我们着重注意Ubuntu的安装。

1、Ubuntu和centos的安装记录说明

准备Ubuntu和centos的镜像

清华、网易、阿里云的镜像源去下载即可

Ubuntu镜像源地址:

http://mirrors.aliyun.com/ubuntu-releases/

https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/

CentOS

http://mirrors.aliyun.com

http://mirrors.163.com

https://mirrors.tuna.tsinghua.edu.cn/centos/

centos官网下载:https://vault.centos.org

进入VMware的安装系统界面(注意:选择第三个选项)

需要注意VMware的有所安装的系统的版本

同时注意设置一下VMware的网络编辑器,开始进入Ubuntu系统的安装界面


进入下一步操作


直到以上Ubuntu安装完成。

下面是centos安装教程


注意:选择中国时区,硬盘的的分区问题,软件安装的问题


等待安装完成之后,再次重启即可注意网络的问题

三、Linux基础命令

1、ifconfig(configure a network interface)命令是系统管理员命令,用于查看和配置网络接口。

     如果想了解这个命令我们需要查看他的帮助 ifconfig -h或者ifconfig --help 或者 man ifconfig  来进行查看帮助信息。

下面是ifconfig的语法:

ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]

  [add <address>[/<prefixlen>]]

  [del <address>[/<prefixlen>]]

  [[-]broadcast [<address>]]  [[-]pointopoint [<address>]]

  [netmask <address>]  [dstaddr <address>]  [tunnel <address>]

  [outfill <NN>] [keepalive <NN>]

  [hw <HW> <address>]  [mtu <NN>]

  [[-]trailers]  [[-]arp]  [[-]allmulti]

  [multicast]  [[-]promisc]

  [mem_start <NN>]  [io_addr <NN>]  [irq <NN>]  [media <type>]

  [txqueuelen <NN>]

  [[-]dynamic]

  [up|down] ...

常用实例:

ifconfig -a

查看当前系统的网卡的所有信息

ifconfig ens160   192.168.10.12   

通过上述命令可以设置ens160 的ipv4的地址

ifconfig ens160 192.168.10.12   netmask 255.255.255.0

设置ens160 的ipv4地址以及子网掩码的地址

ifconfig ens160 192.168.10.12   netmask 255.255.255.0  broadcast 192.168.120.255

设置ipv4的地址 子网掩码的地址还有网关的地址

ifconfig ens160  mtu 1500  设置最大的传输单元

四、FHS结构

linux的文件系统分层结构FileSystem Hierarchy Standdard(简称FHS),定义了Linux系统的目录结构和目录的内容,同时Linux的FHS结构可以看成一个倒立的树形结构图,/  是Linux的根目录,每个路径均是由/作为分隔的。

/bin:所有用户使用的基本命令;

/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录

/lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)

/lib64:专用于x86_64系统上的辅助共享库文件存放位置

/etc:配置文件目录(用户的密码,用户的配置等均在里面)

/home/USERNAME:普通用户家目录

/root:管理员的家目录

/media:便携式移动设备挂载点

/mnt:临时文件系统挂载点

/opt:第三方应用程序的安装位置

/srv:系统上运行的服务用到的数据

/tmp:临时文件存储位置

/usr:这个目录下存放的内容是系统的软件资源,并不是用户数据,所有的系统默认软件都会放到/usr下,系统刚安装完毕,这个目录会占用最多的硬盘空间

/var:与目录/usr不同,/var系统运行之后才会渐渐占用硬盘容量的目录。这个目录中存放的是一些经常变动的数据文件,例如缓存文件、邮件(mail)、日志文件等等

五、计划

    根据这几天Linux的学习,发现Linux与windows存在着很大的不同。Linux均由各个文件所组成,也是各个命令所运行。要在一个月内可以写出上百行的Linux的脚本出来,在学完Linux的基础后可以做到Linux的基础运维工程师,学到各种架构后可以实现软件平台化,做一个架构。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • <td bgcolor=#0000FF一,计算机组成及其功能 简单来说,计算机分为硬件系统运算器、控制器、存储器和...
    stephe_c阅读 498评论 1 0
  • 在学习Linux前大家先要对计算机有相应了解,计算机系统,计算机硬件构成,操作系统,Linux相关介绍,获取Li...
    不知岁月惜阅读 717评论 0 2
  • GPL、BSD、MIT、Mozilla、Apache和LGPL的区别 BSD许可证(https://en.wiki...
    zzzed阅读 664评论 0 0
  • 1. 计算机组成 冯·诺依曼体系结构中,计算机要有五大基础硬件:输入设备、输出设备、运算器,存储器、控制器。 功能...
    N38liangqingyun阅读 430评论 0 0
  • 一、描述计算机的组成及其功能 计算机的主要组成部分可以归纳为以下五个部分:控制器、运算器、存储器、输入设备、和输出...
    无法成为野兽阅读 545评论 0 0