N68第一周作业

  • N68第一周作业已关闭评论
  • 8 次浏览
  • A+
所属分类:linux技术
摘要

1. 图文并茂解释开源许可证 GPL、BSD、MIT、Mozilla、Apache和LGPL的区别?BSD开源协议
BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。

1. 图文并茂解释开源许可证 GPL、BSD、MIT、Mozilla、Apache和LGPL的区别?

N68第一周作业

BSD开源协议
BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。

但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:

  1. 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。
  2. 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
  3. 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。

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

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

  1. 需要给代码的用户一份Apache Licence
  2. 如果你修改了代码,需要再被修改的文件中说明。
  3. 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
  4. 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。

Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。

GPL开源协议

我们很熟悉的Linux就是采用了GPL。GPL协议和BSD, Apache Licence等鼓励代码重用的许可很不一样。GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商业软件公司开发的免费软件了。

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

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

其它细节如再发布的时候需要伴随GPL协议等和BSD/Apache等类似。

 

LGPL 开源协议
LGPL是GPL的一个为主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。LGPL 允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售。

但是如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。因此LGPL协议的开源代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。

GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品

 

MIT开源协议

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

 

MPL 开源协议
MPL是The Mozilla Public License的简写,是1998年初Netscape的 Mozilla小组为其开源软件项目设计的软件许可证。MPL许可证出现的最重要原因就是,Netscape公司认为GPL许可证没有很好地平衡开发者对源代码的需求和他们利用源代码获得的利益。同著名的GPL许可证和BSD许可证相比,MPL在许多权利与义务的约定方面与它们相同(因为都是符合OSIA 认定的开源软件许可证)。但是,相比而言MPL还有以下几个显著的不同之处:

◆ MPL虽然要求对于经MPL许可证发布的源代码的修改也要以MPL许可证的方式再许可出来,以保证其他人可以在MPL的条款下共享源代码。但是,在MPL 许可证中对“发布”的定义是“以源代码方式发布的文件”,这就意味着MPL允许一个企业在自己已有的源代码库上加一个接口,除了接口程序的源代码以MPL 许可证的形式对外许可外,源代码库中的源代码就可以不用MPL许可证的方式强制对外许可。这些,就为借鉴别人的源代码用做自己商业软件开发的行为留了一个豁口。
◆ MPL许可证第三条第7款中允许被许可人将经过MPL许可证获得的源代码同自己其他类型的代码混合得到自己的软件程序。
◆ 对软件专利的态度,MPL许可证不像GPL许可证那样明确表示反对软件专利,但是却明确要求源代码的提供者不能提供已经受专利保护的源代码(除非他本人是专利权人,并书面向公众免费许可这些源代码),也不能在将这些源代码以开放源代码许可证形式许可后再去申请与这些源代码有关的专利。
◆ 对源代码的定义
而在MPL(1.1版本)许可证中,对源代码的定义是:“源代码指的是对作品进行修改最优先择取的形式,它包括:所有模块的所有源程序,加上有关的接口的定义,加上控制可执行作品的安装和编译的‘原本’(原文为‘Script’),或者不是与初始源代码显著不同的源代码就是被源代码贡献者选择的从公共领域可以得到的程序代码。”
◆ MPL许可证第3条有专门的一款是关于对源代码修改进行描述的规定,就是要求所有再发布者都得有一个专门的文件就对源代码程序修改的时间和修改的方式有描述。

 

2. 安装各发行版系统的安装(centos, rockylinux, ubuntu, 等)

rockylinux安装

1.新建虚拟机

N68第一周作业

 

 

 

2.选择标准典型

N68第一周作业

 

 

 

3.定制安装

N68第一周作业

 

 

 

4.N68第一周作业选择red Hat Enterprise Linux 8 64位

 

N68第一周作业

 

 

5. 选择文件夹命名

N68第一周作业

 

 

6. 选择储存为单个文件,容量不要太小,目前选200G

N68第一周作业

 

 

7.  完成

N68第一周作业

 

 

8. 设置内存2G

N68第一周作业

 

 

9.  处理器选择2个

N68第一周作业

 

 

10. 光盘载入映像文件

N68第一周作业

 

 

11. 虚拟网络配置

N68第一周作业

 

 N68第一周作业

 

 

12. 开启虚拟机

N68第一周作业

 

 

13. 语言选择

N68第一周作业

 

 

14.时区选择上海

N68第一周作业

 

 

15.选择安装,最小安装

N68第一周作业

 

 

16. 安装目标,硬盘分区,custom定制

N68第一周作业

 

 

17. 选择标准分区

N68第一周作业

 

 

18. 根100G

N68第一周作业

 

 

boot 1G

N68第一周作业

 

 

swap 2G

N68第一周作业

 

 

data 测试目录 50G

N68第一周作业

 

 

19. BIOS boot 选择ext4

N68第一周作业

 

 

20. KDUMP

N68第一周作业

 

 

21. network on

N68第一周作业

 

 

22. root 口令 

N68第一周作业

 

 

23. 创建普通用户

N68第一周作业

 

 

24. 完成安装

N68第一周作业

 

 

3. Linux中总结,1)如何通过一个简短的关键字,例如process 获取相关的命令。2)通过命令的描述,选择一个命令,获取命令的man文档。3)解读man文档,man分几个部分?man每个部分的解释,特别是语法部分。<>, [] ...等各代表什么含义。4)根据语法部分 简要的写几个操作。

1)

l whatis 使用数据库来显示命令的简短描述 

l help COMMAND 获取内部命令帮助

l COMMAND --help 或 COMMAND -h 获取外部命令帮助

l man 提供命令帮助的文件,手册页存放在/usr/share/man

l info 适合通用文档参考

 

2) 如rm;首先从whatis rm 获取章节号

N68第一周作业

 

 

 

获得章节号为1,用man命令获取帮助文档

N68第一周作业

 

 

 N68第一周作业

 

 

 N68第一周作业

 

 

 

3)man分7个部分,不同类型的帮助称为不同的“章节”

 

1:用户命令

2:系统调用

3:C库调用

4:设备文件及特殊文件

5:配置文件格式

6:游戏

7:杂项

 

查看man手册页

man [OPTION...] [SECTION] PAGE...

man [章节] key

 

man 帮助段落说明

NAME 名称及简要说明

SYNOPSIS 用法格式说明

[] 可选内容

<> 必选内容

a|b 二选一

{ } 分组

... 同一内容可出现多次

DESCRIPTION 详细说明

OPTIONS 选项说明

EXAMPLES 示例

FILES 相关文件

AUTHOR 作者

COPYRIGHT 版本信息

REPORTING BUGS bug信息

SEE ALSO 其它帮助参考

 

常用选项

列出所有帮助

man -a keyword

搜索man手册

#列出所有匹配的页面,使用 whatis 数据库

man -k keyword

相当于 whatis

man -f keyword

打印man帮助文件的路径

man -w [章节] keyword

 

4)man -f tree

   man -k tree

   man 1 tree

 

4.切换到/etc/目录,列出fstab文件的详细信息,详细解决fstab一行,每个或每几个字符的详细含义。

 

[root@centos8 etc]#ll ./fstab

-rw-r--r--. 1 root root 709 Jun  9 15:57 ./fstab

 

-:普通文件

rw-:所有者拥有读写权限

r--:所有组拥有读权限

r--:其他用户拥有读权限

1:拥有一个链接

root:属主

root:属组

709:UID

 

5.简要说明FHS结构。

l 文件和目录被组织成一个单根倒置树结构

l 文件系统从根目录下开始,用“/”表示根文件系统(rootfs):root filesystem

l 标准Linux文件系统(如:ext4),文件名称大小写敏感,例如:MAIL, Mail, mail, mAiL

l 以 . 开头的文件为隐藏文件

l 路径分隔的 /

l 文件名最长255个字节

l 包括路径在内文件名称最长4095个字节

l 蓝色-->目录 绿色-->可执行文件 红色-->压缩文件 浅蓝色-->链接文件 灰色-->其他文件

l 除了斜杠和NUL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引 号来引用

l 每个文件都有两类相关数据:元数据:metadata,即属性, 数据:data,即文件内容

 

 

 

6. 用自己的理解总结 文件管理,用户管理,组用户,权限管理相关的命令。

文件管理:

pwd:显示当前shell CWD的绝对路径

cd:改变目录

ls:列出当前目录的内容或者指定目录

stat:查看文件状态

file:检查文件类型

touch:创建文件或者刷新时间

cp:复制文件或者目录

mv:移动或者重命名文件

rm:删除文件

tree:显示树目录

mkdir:创建目录

rmdir:删除目录

ln:创建硬链接  ;  ln-s 创建软链接

1>/>:把标准输入重定向到文件;2>:把标准错误重定向到文件;&>:把标准输出和错误都重定向

>>:追加内容

<:标准输入重定向

tr:转换和删除字符;-s:去重;-c:补集;-d:删除所有属于第一字符集的字符

多行重定向:xxx<<EOF

  >

>EOF

|: 管道连接多个命令

tee:重定向到多个目标

 

用户管理:

useradd:创建新用户-r -u UID -g GID -s SHELL -d HOME_DIR

usermod:修改用户属性

userdel:删除用户

id:查看用户的UID GID

su:切换用户

passwd USERNAME:修改用户密码

groupadd:创建组 -g GID -r 创建系统组

groupmod:修改组属性

groupdel:删除组

gpasswd GROUP:修改组密码

newgrp:切换组

groupmens:管理附加组成员关系

 

权限管理:

chown:修改文件属主

chgrp:修改文件属组

chmod:修改文件权限,模式法:u= g= o= (+-=)

root的umask默认是022

SUID:chmod u+s/4xxx

chattr +i :不能删除,改名更改

chattr +a:只能追加内容,不能删除改名

lsattr:显示特定属性

ACL:除了文件的所有者,所属组和其它人,可以对更多的用户设置权限

setfacl:可设置ACL权限

getfacl:可查看设置的ACL权限