1,各种开源许可证的区别
开源协议的作用
- 开源协议规定了用户在使用开源软件时的权利和责任,协议规定了用户可以做那些事情,不可以做哪些事情。虽然开源协议不一定具备有效的法律效力,但是当涉及软件版权纠纷时,开源协议也是非常重要的证据之一。
- 对于准备编写一款开源软件的开发人员,建议先了解一下当前热门的开源协议,选择一个适合自己的开源协议用来最大限度保护自己的软件权益。
开源协议有LGPL、Mozilla、GPL、BSD、MIT和Apache,这些都是OSI 批准的协议,也是大部分公司都会用到的协议。
通过下面这一张图,大家可以大概的了解一下
LGPL
LGPL是GPL的一个为主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。
GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品。
MPL(Mozilla Public License 1.1)
MPL协议允许免费重发布、免费修改,但要求修改后的代码版权归软件的发起者 。这种授权维护了商业软件的利益,他要求基于这种软件的修改无偿贡献版权给该软件。这样,围绕该软件的所有代码的版权都集中在发起开发人的手中。但MPL是允许修改,无偿使用得。MPL软件对链接没有要求。
GPL(GNU General Public License):GNU通用公共许可协议
Linux采用了GPL。GPL协议和BSD,Apache Licence等鼓励代码重用的许可很不一样。GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。这也就是为什么我们能用免费的各种Linux,包括商业公司的Linux和Linux上各种各样的由个人,组织,以及商业软件公司开发的免费软件了。
BSD是"Berkeley Software Distribution"的缩写,意思是"伯克利软件发行版"
BSD开源协议:是一个给于使用者很大自由的协议。可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。 当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:
如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。
如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。
BSD代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。
MIT
MIT是和BSD一样宽范的许可协议,源自麻省理工学院(Massachusetts Institute of Technology, MIT),又称X11协议。作者只想保留版权,而无任何其他了限制。MIT与BSD类似,但是比BSD协议更加宽松,是目前最少限制的协议。这个协议唯一的条件就是在修改后的代码或者发行包包含原作者的许可信息。适用商业软件。
Apache License
Apache License(Apache许可证),是Apache软件基金会发布的一个自由软件许可证。Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和最终原作者的著作权,同样允许源代码修改和再发布。
2,安装各发行版系统的安装centos, rockylinux, ubuntu等
*首先需要有一个平台VMware,KVM,Citrix等虚拟化产品
- 这里以VMware为例
- 下载VMware Workstation Pro
网站里随便找一个免费的Key,软件试用30天
官网里下载镜像,有阿里云,网易的清华的镜像站可以免费下载
PS:建议使用国内的下载,国外网站的速度。。。
例如:
- 阿里云:https://mirrors.aliyun.com/
- 清华镜像站:https://mirrors.tuna.tsinghua.edu.cn/
- 网易镜像站:http://mirrors.163.com/
下载完成后就可以打开VMware,点击“创建新的虚拟机”选择“稍后安装操作系统”
然后点击下一步,选择自己需要安装的操作系统及版本。
“虚拟机名称就是安装过后虚拟机标签页的名称”
“位置就是安装虚拟机文件存放的目录(建议不要放在C盘下,因为虚拟机在使用的过程中也会占用一部分空间)”
然后就时是选择虚拟机的磁盘大小(可以随便定义,并不会真正占用磁盘空间,建议还是按需分配)
点击“下一步”然后我们的虚拟机就创建好了。当然我们下载的镜像ISO文件这个时候就开始派上用场了,
点击“编辑虚拟机设置”,选择CD那一栏,点击使用ISO映像文件,选择到下载的ISO文件即可
然后点击确定就可以启动我们的虚拟机了
CentOS和Ubuntu和上面的过程相似
3,man帮助详解
- man页面分组
-
不同类型的帮助称为不同的”章节“,统称为Linux手册,man 1 man
- 1 用户命令
- 2 系统调用
- 3 库调用
- 4 设备文件及特殊文件
- 5 配置文件格式
- 6 游戏
- 7 杂项
- 8 系统管理类命令
- 9 Linux内核API
-
man帮助段落说明
- NAME:名称及简要说明
- SYNOPSIS:用法格式说明
- [ ]:可选说明
- a | b:二选一
- { }:分组
- …:同一内容可出现多次
- DESCRIPTION:选项说明
- EXAMPLES:示例
- FILES:相关文件
- AUTHOR:作者
- COPYRIGHT:版本信息
- REPORTING BUGS:bug信息
- SEE ALSO:其他帮助参考
-
ip a:查看所有网卡的详细信息
-
ip-s link:显示当前的网络设备的详细运行状态
-
ip route list:显示当前核心路由表信息
4,详解/etc/fstab文件
- 一共有6项
- 1,要挂载的设备或伪文件系统
- 设备文件
- LABEL:LABEL=“”
- UUID:UUID=“”
- 伪文件系统的名称:proc,sysfs
- 2,挂载点:必须是存在的目录
- 3,文件系统类型;ext4,xfs,iso9660,nfs,none,swap等
- 4,挂载选项:defaults,acl,bind
- 5,转储频率:
- 0:不做备份
- 1:每天转储
- 2;每隔一天转储
- 6,fsck检查的文件系统的顺序:允许的数字是0,1,2
- 0:不自检
- 1:首先自建;一般只有rootfs才用
- 2;非rootfs使用
添加新的挂载选项需要执行mount -a命令
- 1,要挂载的设备或伪文件系统
5,FHS文件系统层次结构
1,FHS结构
根目录下的各个文件
- / 根目录,通常不在这里存储文件
- /etc 配置文件
- /bin 可执行文件,ls,cd
- /sbin 可执行文件
- /boot 开机启动的文件,包括linux内核以及开机菜单与开机所需配置文件等
- /dev 设备文件,任何设备与接口设备都是以文件形式存在于这个目录的
- /root root用户的主目录
- /home 普通用户的主目录
- /mnt 挂载点目录。光盘必须和/下的某个目录节点建立联系才能使用,把光盘和指定的挂载点目录建立联系的过程叫做挂载。mount /dev/sr0 /mnt
- /media 媒体目录,也是挂载点目录
- /opt 可选目录。存放第三方软件包和数据文件
- /var 可变目录,用以存放经常变化的文件,如日志文件
- /lib 系统的函数库
- /proc 该目录是一个虚拟文件系统,它放置的数据都在内存当中(是linux内核在内存中所建立的系统内核映象),proc文件系统被用于从内存读取进程的信息。
- /run 系统运行时所需文件
- /usr unix software resource放置的数据为可分享的与不可变动的,unix操作系统软件资源所放置的目录,而不是用户数据
- /srv service的缩写,是一些网络服务启动之后,这些服务所需要取用的数据目录
- /tmp 让一般用户或者是正在执行的程序暂时放置文件的地方
- /sys 这个目录其实跟/proc非常类似,也是一个虚拟的文件系统,主要是记录与内核相关的信息