N80第一周作业

发布时间 2023-07-03 11:10:23作者: Boda_chen

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

开源许可证是指允许软件源代码被公开查看、使用、修改和分发的法律条款集合。以下是GPL、BSD、MIT、Mozilla、Apache和LGPL这些常见开源许可证之间的区别:

1. GPL(General Public License):GPL是自由软件基金会(Free Software Foundation)推出的最流行的开源许可证之一。它要求任何以GPL许可的软件的派生作品也必须以GPL协议进行发布,即要求对扩展和修改后的代码都要公开源代码。这种"传染性"让GPL成为了保护开源社区的首选许可证。

2. BSD(Berkeley Software Distribution):BSD许可证以加州大学伯克利分校开发的UNIX操作系统为背景而命名。BSD许可证比较宽松,允许软件的自由修改、使用和分发,并且不要求公开源代码。这使得BSD许可证非常灵活,适合商业软件的开发和集成。

3. MIT许可证:MIT许可证是一种非常宽松的许可证,允许使用、复制、修改、合并、发布、分发、再授权和销售软件的副本。它要求保留版权声明和许可条件,但未要求公开源代码。MIT许可证被广泛用于各种项目,包括开源和商业软件。

4. Mozilla Public License(MPL):MPL是由Mozilla基金会创建的一种开源许可证。它要求源代码的修改部分必须以MPL或其他兼容的许可证分发,但不要求整个应用程序都必须以开源形式发布。MPL适用于希望保持开放源代码的同时允许专有衍生作品的开发者。

5. Apache许可证:Apache许可证是适用于Apache软件基金会项目的开源许可证。它允许修改、使用和分发源代码或二进制形式的派生作品,要求保留原始许可证和版权声明。Apache许可证与GPL不兼容,但它允许在同一产品中结合Apache许可证和其他非GPL许可证的代码。

6. LGPL(Lesser General Public License):LGPL是GPL的一个变种,主要针对软件库进行许可。与GPL不同,LGPL允许在非自由软件中使用LGPL许可的库,而无需将非自由软件以GPL授权发布。LGPL要求任何对库进行修改的衍生作品都需要公开源代码。

总的来说,这些许可证在要求开源软件的公开度和限制衍生作品使用方面存在差异。选择适当的许可证非常重要,因为它会对软件的使用、分发和修改方式产生重大影响。

 

 

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

Rocky-8.5-x86_64 安装

 

 

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

man -k process

man -k time

 

 man COMMAND

          man目录       /usr/share/man

          man命令的配置文件  /etc/man.config

          man1~man8

                   man1:用户命令

                   man2:系统调用命令

                   man3:c库调用命令

                   man4:设备文件及特殊文件命令

                   man5:配置文件格式命令

                   man6:game命令

                   man7:杂项命令

                   man8:管理类命令

man 每个部分说明

   NAME 名称和简要说明

   SYNOPSIS 用法格式说明

   DESCRIPTION  详细说明

   EXAMPLES  示例

   AUTHOW  作者

   COPYRIGHT  版本信息

   REPORTING BUGS  BUG信息

   SEE ALSO  其他帮助参考

   [ ]      可选择内容

   <>      必选内容

   {}      分组

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

 

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

[root@rocky ~]# cd /etc
[root@rocky etc]# pwd
/etc

  

[root@rocky etc]# ls -l /etc/fstab 
-rw-r--r--. 1 root root 655 Jun 10 08:18 /etc/fstab
-rw-r--r--. 1 root root 655 Jun 10 08:18 /etc/fstab

[ - ] 代表是文件;

RW-  拥有者权限

R--   所属组权限

R---  其他人权限

(权限说明:

R (read)             代表可读权限

W (write)          代表可写权限

X (execute)       代表可执行权限)

 

1       连接数

root      所属者

root      所属组     

655      文件大小容量

Jun 10 08:18  文件修改日期    

/etc/fstab    文件名称

 

五、简要说明FHS结构

 

FHS(Filesystem Hierarchy Standard)是一个规定了Linux和其他类Unix系统中文件系统的标准布局的标准。它定义了文件和目录在系统中的组织结构,以提供一致性和可移植性。

FHS结构的主要目的是使不同的Linux发行版和Unix系统能够在文件系统的组织和使用上保持一致,使开发者和用户更容易在不同系统之间进行迁移和交互。

以下是FHS结构的主要组成部分:

1. /:根目录,是整个文件系统的起点。

2. /bin:存放基本系统命令(如ls、cp、mv等)的目录。

3. /boot:存放启动系统时所需的文件,如内核和引导加载程序。

4. /dev:存放设备文件,包括硬件设备、随机设备以及其他外部设备。

5. /etc:存放系统的配置文件,如网络、用户账户和服务配置。

6. /home:存放用户的主目录,每个用户在这个目录下有一个以用户名命名的子目录。

7. /lib:存放系统所需的库文件,这些库文件被可执行文件使用。

8. /media:存放可移动媒体设备(如光盘、U盘等)的挂载点。

9. /opt:存放本地安装的额外软件的目录。

10. /root:超级用户(root)的主目录。

11. /sbin:存放系统管理员命令(如shutdown、reboot等)的目录。

12. /tmp:存放临时文件的目录,系统重启后将被清空。

13. /usr:存放用户应用程序和文件的目录,它包含了众多子目录,如/usr/bin、/usr/lib等。

14. /var:存放可变的数据文件,如日志文件、邮件和打印队列等。

 

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

文件管理:

touch  命令用于创建空白文件或者修改文件的访问和修改时间戳;

rm    命令是系统中用于删除文件或者目录的命令

rmdir  命令用于删除空目录

cat   命令用于显示文件内容

head  命令显示文件的开头部分内容

less   命令用于分页的方式浏览文件的内容

more   命令也是用于分页方式浏览文件的容,与less相比,more提供了较比简单的界面和操作方式,只能向下翻页,不能向上翻页或搜索

 

管理用户及组:

useradd  命令用于添加用户

userdel    命令用于删除用户

usermod  命令用于修改用户账户属性和配置

groupadd  命令用于添加用户组

groupdel  命令用于删除用户组

groupmod  命令用于修改用户组属性和配置

chsh    命令用于修改用户的登录shell(默认是shell)

 

管理权限:

chmod    命令用于修改文件或目录的权限

chown   命令用于更改文件或目录的所有者和所有组

setfacl   命令用于设置文件或目录的访问控制列表(ACL)