第一周Sre作业

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

image

GPL

GPL(GNU General Public License):GNU通用公共许可协议。

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

BSD

BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。
但”为所欲为”的前提当你发布使用了BSD协议的代码,或者以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:
1.用户可以自由的使用、修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。
2.用户再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
3.不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。
BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。

MIT

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

MOZILLA

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

Apache

Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件也和BSD类似:
1.需要给代码的用户一份Apache Licence;
2.如果你修改了代码,需要再被修改的文件中说明。
3.在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
4.如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。
Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。

LGPL

LGPL是GPL的一个为主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售。
但是如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。因此LGPL协议的开源代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。
GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品。

2. 安装各发行版系统的安装(centos, rockylinux, ubuntu, 等) 【任选1个】

  • Vmware安装Ubuntu操作系统的步骤

  • 创建虚拟机
    image

  • 进入Ubuntu安装界面,选择安装Ubuntu server
    image

  • 选择语言(默认英语)
    image

  • 选择不在线更新系统
    image

  • 选择安装方式(此处选择最小化安装)
    image

  • 配置网络信息
    image

  • 配置镜像源地址(此处配置为阿里云的镜像源)
    image

  • 配置硬盘分区(默认即可)
    image

  • 配置系统用户和密码
    image

  • 安装SSHD服务
    image

  • 开始安装读条
    image

  • 系统安装完成
    image

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

  1. 通过man -k process 用来联机模糊搜索关于process的相关文档。
    image

  2. 通过man命令获取相关命令的文档
    image

  3. 不同类型的帮助称为不同的“章节”,统称为Linux手册,man 1 man

MAN 分为9部分
1:用户命令
2:系统调用
3:C库调用
4:设备文件及特殊文件
5:配置文件格式
6:游戏
7:杂项
8:管理类的命令
9:Linux 内核AP

man 帮助段落说明
NAME 名称及简要说明

SYNOPSIS 用法格式说明
[] 可选内容
<> 必选内容
a|b 二选一
{ } 分组
... 同一内容可出现多次
DESCRIPTION 详细说明
OPTIONS 选项说明
EXAMPLES 示例
FILES 相关文件
AUTHOR 作者
COPYRIGHT 版本信息
REPORTING BUGS bug信息
SEE ALSO 其它帮助参考

man 1 top

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

image
/dev/disk/by-uuid/72434e74-bd55-4b72-9311-ae4c8eea0001 /boot ext4 defaults 0 1
/dev/disk/by-uuid/72434e74-bd55-4b72-9311-ae4c8eea0001 #挂载的设备
/boot #挂载在那个目录下
ext4 #分区的格式
defaults #挂载类型
0 #存储频率
1 #是否检查文件系统顺序

5. 简要说明FHS结构。

image
FHS其定义了在Linux系统中的目录结构和目录内容,即让用户了解到已安装软件通常放在哪个目录下。FHS采用属性结构组织文件,定义了系统中每个区域的用途以及所需要的最小构成的文件和目录,同事还给出了例外处理和矛盾处理。
在Linux系统中,所有的目录和文件都是由 /(根目录)开始的,然后在一个一个分下来。我们将这种配置方式称为目录树.

/bin/:存放系统命令,普通用户和root用户都可以执行。放在/bin下的命令在单用户模式下也可以执行
/boot/:系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等
/dev/:设备文件保存位置
/etc/:配置文件保存位置。系统内所有采用默认安装方式(rpm安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用的服务配置文件等
/home/:普通用户的主目录,也称为家目录。在创建用户时,每个用户要有一个默认登陆和保存自己数据的位置,就是用户的主目录,所有普通用户的主目录是在/home/下建立一个和用户名相同的目录
/lib/:系统调用的函数库保存位置
/media/:挂载目录。系统建议用来挂载媒体设备,如软盘和光盘
/mnt/:挂载目录。早期Linux只有这一个挂载目录,并没有细分。系统建议这个目录用来挂载额外的设备,如U盘、系统硬盘和其他操作系统的分区
/misc/:挂载目录。系统建议用来挂载 NFS 服务的共享目录。虽然系统准备了三个默认挂载目录 /media/、/mnt/、/misc/,但是到底在哪个目录中挂载什么设备可以由管理员自己决定。例如,笔者在接触 Linux 的时候,默认挂载目录只有 /mnt/,所以养成了在 /mnt/ 下建立不同目录挂载不同设备的习惯,如 /mnt/cdrom/ 挂载光盘、/mnt/usb/ 挂载 U 盘
/opt/:第三方安装的软件保存位置。这个目录是放置和安装其他软件的位置,手工安装的源码包软件都可以安装在这个目录中。其次/usr/local/目录也可以用来安装软件
/root/:root的主目录。普通用户主目录在/home/下,root主目录直接挂载在"/"下
/sbin/:保存与系统环境设置相关的命令,只有root可以使用这些命令进行系统环境设置,但也有命令可以允许普通用户查看
/srv/:服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据
/tmp/:临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入

6. 用自己的理解总结 文件管理,用户管理,组用户,权限管理相关的命令。文件: 【touch/rm/rmdir/cat/head/less/more】。用户及组:user/group 【useradd/userdel/usermode; groupadd/groupdel/groupmod; chsh/...】。权限 【chmod/chown/setfacl】"

image

posted @ 2023-07-02 13:56  adacar  阅读(3)  评论(0)    收藏  举报