第一周作业

文章介绍了开源许可证的法律意义和主要类型,包括宽松式许可证如MIT、Apache2和BSD,以及Copyleft许可证如GPL和LGPL。各许可证的特点和使用条件被详细阐述,如GPL要求整个项目开源,而LGPL允许动态链接时不强制开源。此外,文章还提到了一些常见的许可证具体条款和FHS文件系统标准。
摘要由CSDN通过智能技术生成

开源许可证

首先开源许可证是一种法律认可。通过它,版权拥有者可以明确使用,修改,共享版权软件。版权法默认禁止共享。也就是说没有版权的软件,就等同于保留版权。虽然开源了,用户只能看看源代码,不可以使用。

一.开源许可证的种类

根据使用条件不同,大致可以分为两类:

1.宽松式许可证

2.Copyleft许可证

二 宽松式许可证的特点

宽松式许可证是最基本的类型,对用户没有任何限制。用户可以修改代码后闭源。

宽松式许可证有三个特点:

1.没有使用限制

用户可以使用代码,做任何想做的事。

2.没有担保

不保证代码质量,用户自担风险

3.披露要求

用户必须披露原作者

三.常见的宽松式许可证

1 BSD(二条款版)

分发软件时,必须保留原始的许可证声明

2 BSD(三条款版)

分发软件时,必须保留原始的许可证声明。不得使用原始作者的名字为促销软件。

3 MIT

分发软件时,必须保留原始的许可证声明,与BSD(二条款版)基本一致。

4 Apache2

分发软件时,必须保留原始的许可证声明。凡是修改过的文件,必须向用户说明该文件修改过;

没有修改过的文件,必须保持许可证不变。

四.Copyleft许可证

含义:

可以不经许可,用户可以随便复制。

与宽松式许可证相比有前提条件,限制多。

例如。

分发二进制格式,必须提供源代码

修改后的源码,必须与修改前保持许可证保持一致,不得在原始许可证以外,附加其他限制。

五.常见的Copyleft许可证

对用户限制从强到弱排序

1.GPL

如果项目包含了GPL许可证的代码,那么整个项目都必须使用GPL许可证

2.LGPL

如果项目采用动态链接调用该许可证的库,项目可以不用开源。

3.Mozilla(MPL)

只要改许可证的代码在单独的文件中,新增的其他文件可以不用开源。

六.各开源许可证的详细讲解

(一)BSD许可证

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

但是要满足以下条件

1.用户在发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。如果在发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。

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

(二)Apache许可证

该协议和BSD类似,鼓励代码共享和尊重原作者的著作权,同样允许代码修改,在发布。需要满足以下条件:

1.需要给代码的用户一份Apache Licence;

2.如果修改了代码,需要再被修改的文件中说明。

3.在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码的协议,商标,专利声明和其他原来作者规定需要包含的说明。

4.如果在发布的产品中包含一个Notice文件,则在Notice文件中需要的时候修改代码来满足需要作为开源或商业产品发布/销售。

(三)MIT许可证

你必须在你的发行版里包含原许可协议的声明,无论你是以二进制文件发布的还是以源代码发布的。作者只想保留版权。

(四)GPL许可证

允许任何人观看,修改,并散播程序软件里的原始程序码,条件是如果你发布修改后的版本就要连源代码一起发布,不允许修改后的衍生的代码做为闭源的商业软件发布和销售

(五)LGPL许可证

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

(六)Mozilla许可证

允许免费重发布,免费修改,但要求修改后的代码版权归软件的发起者

七 开源许可证严格程度总结

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

八 开源许可证总结图

安装rockylinux

打开虚拟机,点击创建新的虚拟机

选择典型,点击下一步

 选择稍后安装操作系统,点击下一步

选择Linux系统centos8 64位,点击下一步 

给虚拟机起名选择虚拟机的位置建议放在内存大的磁盘里,点击下一步 

磁盘大小建议200G,点击下一步 

点击完成 

 点击编辑虚拟机设置

选择CD/DVD,点击使用ISO映像文件 

选择好文件后点击完成,启动虚拟机 

选择语言点击下一步

 选择时区,点击done

 点击software selection 点击minimal install点击done

点击network把网络打开点击done 

添加root密码 

添加一个普通用户 

点击安装,然后等待 

通过man man命令可以得到man相关的命令

使用方法就是  man 

 

 man分为9个部分

1*可执行程序和xshell命令

2*系统调用

3*库函数

4特殊文件

5文件格式

6游戏

7*杂项

8系统管理员命令

9内核例程

进入etc目录,然后列出fstab文件的详细信息

-是普通文件,rw-r--r--的意思是管理员有读写的权限,普通用户和其他都有读的权限

1是链接数,第一个root与第二个root分别是所属者和所属组,709是文件大小,jun 28 02:10是文件创造时间 、etc/fstab是文件名

 

FHS结构

定义了系统中每个区域的用途,所需要的最小构成的文件和目录,同时还给出了例外处理和矛盾处理

FHS定义了两层规范

第一层, /下面的各个目录应该要放什么文件数据。

例:/etc应该要放置可执行文件, /bin和/sbin则应该放置可执行文件等等。

第二层则是针对/usr和/var这两个目录的子目录来定义。

例:/var/log放置系统登录文件、/usr/share放置共享数据等等。

文件管理常用命令

1.创建文件 touch ,echo

2. 创建以及删除目录mkdir,rmdir mkdir -p 创建连级目录

3.复制 cp

-r拷贝目录时将目录中的文件一起拷贝

4.切换目录 cd

切换至父目录cd..

切换至以前工作的目录 cd-

5.mv 移动

6.删除 rm

-r 递归删除

-f 强制删除

7.查看文件内容 cat

-n 显示行号

8.列出目录内容 ls

-l 显示文件详细内容

9.显示当前目录pwd

-p显示真实物理路径

-l 显示链接路径(默认)

10less和more

more:显示更多

less:有退后功能

11.head查看文件开头部分的内容

用户管理和组用户的常用命令

1. 添加用户useradd

-u UID 人为指定用户UID号

-d 目录 认为指定用户家目录

-g 组名 人工指定用户组

-G 组名 人工指定用户附加组

-s shell 人工指定用户的登录shell。 默认是/bin/bash

2.id 查看用户的id

3.修改用户密码 passwd

-S 查询用户密码状态,仅root可用

-l 暂时锁定用户, 仅root可用

-u 解锁用户,仅root可用

4.修改用户信息usermod

-u UID 修改用户的UID号

-G 组名 修改用户附加组

-L 临时锁定用户

-U 解锁用户

5.删除用户 userdel

-r 连同用户家目录一起删除

6.切换用户 su

- 连带用户的环境变量一起切换

-C 使用该用户执行一次命令,不切换用户身份

7.添加用户组groupadd

-g GID 指定组ID

8.修改用户组 groupmod

-g GID 修改组ID

-n 组名 修改组名

 9. 删除用户组 groupdel

10.查看用户组关系groups

权限管理常用命令

1.修改文件的属主和属组

chown [options]... [owner][:[group]] file

chown [options]... --reference=rfile file

2.修改权限 chmod[用户类]+/-[权限][文件名]

用户类选项 : u文件所有者,g该用户的用户组,o其他用户,a所有用户

+表示增加权限,-表示减少权限

权限选项:r读w写x可执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值