1. GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
GPL
GPL许可证的核心:允许任何人观看、修改,并散播程序软件里的原始程序码,条件是如果你要发布修改后的版本就要连源代码一起公布,不允许修改后和衍生的代码做为闭源的商业软件发布和销售。Linux就是采用了GPL协议。
GPL协议的特点:只要在一个软件中使用GPL 协议的产品,则该软件产品必须也采用GPL协议,即必须也是开源和免费。
GPL协议的优势: 作为一个单独的产品使用没有任何问题,还可以免费享受。
GPL协议的劣势:由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。
BSD
BSD开源协议特点:可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布,鼓励代码共享的同时,需要尊重代码作者的著作权。
尊重著作权体现在以下三个方面:
(1)、如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。
(2)、如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
(3)、不可以用开源代码的作者、机构名字和原来产品的名字做市场推广。
BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,是对商业集成很友好的协议,因为可以完全控制这些第三方的代码。
MIT
MIT是和BSD一样宽范的许可协议,作者只想保留版权,而无任何其他了限制,较BSD协议宽松。
一般使用 MIT 授权的项目,需在源文件头部增加源文件创建的年份,版权所有者等内容。
Mozilla
Mozilla公共许可证(英语:Mozilla Public License,简称MPL) 允许免费重发布、免费修改,但修改后的代码版权归软件的发起者,
得有一个专门的文件就对源代码程序修改的时间和修改的方式有描述。
允许在自己已有的源代码库上加一个接口,除了接口程序的源代码以MPL 许可证的形式对外许可外,源代码库中的源代码就可以不用MPL许可证的方式强制对外许可。
Apache
Apache Licence是Apache采用的协议。
Apache许可证要求被授权者保留版权和放弃权利的申明,该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。
需要满足的条件如下:
(1)、需要给代码的用户一份Apache Licence;
(2)、如果你修改了代码,需要再被修改的文件中说明。
(3)、在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。
该许可证也要求在所有的源文件中的头部放置该源文件创建的年份,版权所有者等内容。
LGPL
LGPL 允许以动态链接使用开源库。采用LGPL的代码,一般情况下它本身就是一个第三方库(LGPL最早的名字就是Library GPL),这时候仅仅用到了它的功能,而没有对库本身进行任何修改,不必公布自己的商业源代码。
但如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须开源,并且采用LGPL协议。
2. 安装各发行版系统的安装(centos, rockylinux, ubuntu, 等) 【任选1个】
3. Linux中总结
1)如何通过一个简短的关键字 【man -k man -k process 】,例如process 获取相关的命令。
使用关键字搜索所有与“process”相关的手册页,以下为执行结果。man提供了对 linux操作系统中的命令 函数,库等的详细说明。
2)通过命令的描述,选择一个命令,获取命令的man文档。【 man yum】
3)解读man文档,man分几个部分?man每个部分的解释,特别是语法部分。<>, [] ...等各代表什么含义。
NAME 命令名称,
SYNOPSIS 语法,用的方法
DESCRIPTION 描述
OPTIONS 选项
SEE ALSO 相关的命令
[ ] 为可选内容
<>为必选内容
a|b 为a或b
{}为分组
... 为同一内容可以多次出现
4)根据语法部分 简要的写几个操作。
4. 切换到/etc/目录,列出fstab文件的详细信息,详细解决fstab一行,每个或每几个字符的详细含义。 【cd /etc; ls -l /etc/fstab】
1:文件类型 2:所有者权限 读写 3:所属组权限 读 4:其他人权限 读 5:链接数1 6:所有者 root账号 7:所属组 root组 8:文件大小 655 Byte 9:文件修改日期 10:文件名
1:设备的UUID或者设备名称:swap分区要用设备名称,其他要用UUID 2:设备挂载点目录 3:设备分区文件类型 4:defaults 默认值不变 5:备份频率(0表示不备份)
6:开机检测次序(0为不检测)
5. 简要说明FHS结构
/:根目录:是linux文件系统的起点,根目录所在的分区为根分区。
/boot目录:用与存放linux系统启动所必需的文件,通常为独立的分区。
/var目录:用于存放系统中经常需要变化的文件,如系统日志等。
/home:普通用户的宿主目录
/root:是linux系统管理员(超级用户)root的宿主目录.
/bin:存放基本的普通用户可以执行的命令,binary ,为二进制可执行文件。
/sbin: 系统基本的管理命令,只有管理员可以执行。
/usr:用于存放大量的系统应用程序,/usr目录下的子目录,用于存放不同类型的应用程序。
/etc:存放系统和各种应用程序的配置文件
/dev:device,linux系统的设备文件,系统所使用的外部设备,是访问外部设备的端口。
6. 用自己的理解总结 文件管理,用户管理,组用户,权限管理相关的命令。
文件: 【touch/rm/rmdir/cat/head/less/more】
touch 创建文件:touch
rm:删除文件或文件夹 -r:文件夹 -f:直接删除
rmdir:删除文件夹
cat:显示标准输入或文件的内容
head:取文件的头几行内容 -n:3(前三行)-3 (后三行)
less:分页显示文件内容,到文件最后不退出
more:分页显示文件内容,到最后自动退出
用户及组:user/group 【useradd/userdel/usermode; groupadd/groupdel/groupmod; chsh/...】
useradd/del/mod:创建删除修改用户
grpadd/del/mod:创建删除修改用户组
权限 【chmod/chown/setfacl/chattr】
chmod:修改文件的权限:chmod +(u+x) + 文件名 或 chmod +760 +文件名
chown:修改所有者 chown +han(新所有者) +文件名
setfacl:设acl权限,单独针对某一类用户或组的权限
setfacl -m u:han:0 a.txt (在a.txt上给用户han设定权限为0,无权限)
getfacl + 文件名:查看acl权限
setfacl -b 文件名:取消文件的acl权限
chattr:设定特殊属性
chattr +i(-i) 文件名: root账户也不可以改名修改或删除文件,但可以查看,防止root失误操作。
chattr +a(-a) 文件名: root账户也不可以改名 或 减少文件内容,删除文件,但可以查看和“追加”,防止root失误操作。
lsattr:查看特殊属性。
标签:GPL,文件,计算机,代码,基础,修改,linux,BSD,源代码 From: https://www.cnblogs.com/song82/p/17448856.html