1、开源许可证 GPL、BSD、MIT、Mozilla、Apache和LGPL的区别?
GPL:GPL是GNU通用公共许可证,是由自由软件基金会发行的用于计算机软件的协议证书,使用该证书的软件被称为自由软件。
BSD:BSD许可证原先是用在加州大学伯克利分校发表的各个4.4BSD/4.4BSD-Lite版本上面(BSD是Berkeley Software Distribution的简写)的,后来也就逐渐沿用下来。1979年加州大学伯克利分校发布了BSD Unix,被称为开放源代码的先驱,BSD许可证就是随着BSD Unix发展起来的。BSD许可证现在被Apache和BSD操作系统等开源软件所采纳。
MIT:MIT许可证是许多软件授权条款中,被广泛使用的其中一种。与其他常见的软件授权条款(如GPL、LGPL、BSD)相比,MIT是相对宽松的软件授权条款。它赋予软件被授权人更大的权利与更少的限制。
Mozilla:Mozilla许可证是个自由、开源、详细的软件许可证,由Mozilla基金会开发并维护。该协议融合了BSD许可证和GNU通用公共许可协议的特性,追求平衡专有软件和开源软件开发者之间的顾虑。
Apache:Apache许可证(Apache License),是一个在Apache软件基金会发布的自由软件许可证,最初为Apache http服务器而撰写。Apache许可证要求被授权者保留版权和放弃权利的申明,但它不是一个反版权的许可证。Apache许可证在Apache社区内外被广泛使用。Apache基金会下属所有项目都使用Apache许可证,许多非Apache基金会项目也使用了Apache许可证。
LGPL:LGPL是 GNU Lesser General Public License (GNU 宽通用公共许可证)的缩写形式,旧称 GNU Library General Public License (GNU 库通用公共许可证);是自由软件(Free Software)的通用版权认证协议,由自由软件基金会(FSF)制定和发布。
LGPL是GPL的一个为主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并 发布和销售。
但是如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。因 此LGPL协议的开源 代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。
GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品。
2、安装rockylinux系统
我们以安装Rocky8.5为例
1)到官网下载镜像Rocky Linux
最新版本在首页可以直接下载,历史版本找起来会比较麻烦,如下所示:
可以直接下载Rocky-8.5-x86_64-dvd1.iso文件,但是比较慢,也可以下载Rocky-8.5-x86_64-dvd1.torrent文件,然后通过迅雷打开下载,会比较快。
2)安装镜像
打开VMware,新建虚拟机:
选择典型,点击下一步:
选择稍后安装操作系统,点击下一步:
选择Linux->CentOS 8 64位,然后点击下一步:
更改虚拟机名称和安装位置:
更改磁盘配置:
点击保存:
编辑虚拟机设置,内存改为2G,CPU数量改成2, CD/DVD选择使用ISO映像文件,选择刚才下载好的ISO文件,然后点击确认:
开启虚拟机:
选择前面两个都可以,第二个多一步校验安装媒体,此处最好选择第二个:
语音默认英语:
Time& Date选择中国上海:
安装的磁盘分区,点击进去,保留默认配置即可,点击Done:
启动网络,主机名也可以改一下:
配置root用户密码和添加普通用户:
点击开始安装:
点击重启:
勾选一下许可:
完成安装:
3、man命令的相关使用
1)通过关键词搜索man手册
如:man -k passwd
2)通过man命令获取帮助文档
如:man top
3)man分几个部分
- NAME 名称及简要说明
- SYNOPSIS 用法格式
- [] 可选内容
- <> 必选内容
- a|b 二选一
- {} 分组
- ... 同一内容可出现多次
- DESCRIPTION 详细说明
- OPTION 选项说明
- EXAMPLES 实例
- FILES 相关文件
- AUTHOR 作者
- COPYRIGHT 版本信息
- REPORTING BUGS bug信息
- SEE ALSO 其他帮助参考
4)简要操作
man -k echo
man 1 echo
echo -n "hello world"
echo -e "hello\nworld"
4、切换到/etc/目录,列出fstab文件的详细信息,解释每一列的含义
1)文件类型
Linux的文件类型:
- - 普通文件
- d 目录文件directory
- l 符合链接文件link
- b 块设备block
- c 字符设备character
- p 管道文件pipe
- s 套接字文件socket
2)文件权限
文件的权限为644:前面三位rw-,表示文件所属主具有读写的权限;中间三位r--,表示文件所属组具有读的权限;后面三位r--,表示其他用户具有读的权限。
3)文件的硬链接数
4)文件所属主
5) 文件所属组
6)文件的大小
7)文件修改的日期和时间
8)文件名称
5、简要说明FHS(Filesystem Hierarchy Standard 文件系统层次化标准)结构
/:根目录
/bin:所有用户使用的基本命令,可执行程序
/boot:引导文件存放目录,内核文件、引导加载器都存放于此目录
/dev:设备文件及特殊文件存放位置
/etc:配置文件存放目录
/home:存放普通用户的家目录
/root:管理员的家目录
/run:存放系统中正在运行程序的临时文件
/sbin:管理类的基本命令
/tmp:存放临时文件
/usr:universal shared,read-only data
bin:保证系统拥有完整功能而提供的应用程序
sbin:管理类命令
local:存放安装软件
tmp:存放临时文件
/var:存放经常变化的数据,日志等
/media:便携式移动设备挂载点
/mnt:临时文件系统挂载点
/opt:第三方应用程序的安装位置
6、文件管理,用户管理,用户组管理,权限管理相关的命令的总结
1)文件管理
创建文件:touch
移动或者重命名文件:mv
复制文件:cp
删除文件:rm
创建目录:mkdir
删除空的目录:rmdir
查看文件内容:cat、less、more(less和more可以翻页)
查看前几行文件内容:head
查看后几行文件内容:tail
2)用户管理
添加用户:useradd
-u 指定用户ID号
-d 指定用户家目录
-g 指定用户组
-G 指定用户附加组
-s 指定用户的登录shell
-m 自动创建用户家目录
-M 不自动创建用户家目录
修改用户:usermod
-u 修改用户ID号
-d 修改用户家目录
-g 修改用户所属的群组
-G 修改用户所属的附加群组
-s 修改用户登入后所使用的shell
删除用户:userdel
-f 强制删除
-r 连同家目录一起删除
修改用户密码:passwd
查看用户:id
3)用户组管理
添加用户组:groupadd
-g 指定用户组ID号
修改用户组:groupmod
-g 修改用户组ID号
-n 指定新的用户组名称
删除用户组:groupdel
-f 强制删除
4)权限管理
设置文件的所有者或所属组:chown
chown owner #只修改所有者
chown owner:group #同时修改所有者和所属组
chown :group #只修改所属组
chown -R #递归修改,适用于目录
设置文件的属主信息:chgrp
chgrp -R #递归修改
设置文件权限:chmod
数字法的修改,如:chmod 777 test.txt
模式法(为谁添加,删除,赋予读、写或者执行的权限)修改权限:
who:u,g,o,a
opt:+,-,=
permission:r,w,x
例如:
chmod u-x test.sh #文件所有者删除执行权限
chmod -R #递归修改权限
设置访问控制列表ACL权限:setfacl
查看设置的访问控制列表ACL权限:getfacl