week01-homework
1,图文并茂解释开源许可证 GPL、BSD、MIT、Mozilla、Apache和LGPL的区别?
参考文档:各大开源协议的比较_Robin_zero的博客_开源协议对比
参考文档:细数一些常用的软件开源许可证
六个主流开源协议关系图:
列成表格概要信息对比:
协议名称 | 协议内容 | 开源产品案例 | 协议特点 | 备注 |
LGPL | GNU LGPL Open Source Initiative | Qt、Glances | 不需要公开源码,开发者在不修改源码的前提,只引用源码的功能,无需强制开源自己的代码。但是修改源码必须要声明,并采用相同的许可证。 | |
MPL | Mozilla Public Licence — Mozilla | Mozilla Firefox | 不需要公开源码,修改代码必须声明,修改代码必须要无偿贡献版权给原作者。 | |
GPL | The GNU General Public License v3.0 - GNU Project - Free Software Foundation | Bash、Linux、Ansible | 强制公开所有的代码,必须要使用相同的许可证,修改源码必须要声明。 | jumpserver、notepad ++ |
BSD | License:BSD-4-Clause - Free Software Directory (fsf.org) | Chromium、Unix | 不需要公开源码,软件产品文档必须声明许可证,但禁止用开发者名义进行推广。 | 腾讯物联网终端操作系统TencentOS Tiny |
MIT | MIT License (mit-license.org) | react.js、vue.js、Visual Studio Code | 不需要公开源码,基本可以为所欲为,最低限度声明原开发者版权。 | |
Apache | Apache License, Version 2.0 | Spring Boot、Kubernetes、Netty | 不需要公开源码,修改源码必须声明,但禁止用开发者名义进行推广。 | 国产数据库tidb |
总结严格程度:MIT>BSD>Apache>LGPL>Mozilla>GPL
2,安装centos ubuntu系统.
2.1 安装rocky9
rocky和centos都源自RHEL,安装方法类似。
2.1.1 提前准备:
- 虚拟机安装环境:VMware workstations 15 Pro(15.5.7 build-17171714)
- rocky9安装文件:Rocky-9.0-x86_64-dvd.iso(下载 Rocky | Rocky Linux)
2.1.2 开机选择安装rocky9.0 并设置网卡名
虚拟机开机后,点击鼠标左键进启动页面,然后键盘上下键选择Install Rocky linux9.0
这一项。下一步修改rocky9.0的默认网卡命名规则,以eth0命名,按tab
键,增加 net.ifnames=0 biosdevname=0
,回车。
2.1.3 选择安装的系统语言(默认用英语)
2.1.4 选择时区
step1点击之后,step2直接鼠标点击中国版图时区自动会更改为Asia/Shanghai
2.1.5 设置最小化安装
不带图形界面,不安装额外的工具,相当于裸机安装,后续再按需安装工具就行
2.1.6 关闭KDump
2.1.7 配置磁盘,并选择自定义方式配置
添加boot分区
添加swap分区
添加/
根分区
最终结果,确认一遍,点击“done”,然后再点击“Accept Changes”。
2.1.8 设置主机名和IP地址
2.1.9 设置root密码
2.1.10 设置完成,开始安装
2.1.11 安装完成重启
2.2 ubuntu系统安装
2.2.1 前期准备
- 虚拟机安装环境:VMware workstations 15 Pro(15.5.7 build-17171714)
- DVD镜像下载:ubuntu-22.04.1-live-server-amd64.iso(下载地址:获取Ubuntu服务器版 | Ubuntu)
2.2.2 开启虚拟机,选择安装Ubuntu
2.2.3 选择系统语言
2.2.4 选择最小化安装
空格建选择(括号里面有一个X代表选中),回车确定。
2.2.5 配置静态IP地址
2.2.6 忽略proxy代理配置(直接回车)
2.2.7 配置阿里云镜像地址(https://mirrors.aliyun.com/ubuntu/)
2.2.8 默认不更新(太费时间)
2.2.9 磁盘分区,按照自定义的方式进行分配
默认系统分2G空间给到/boot,其余的我都设置为了/根目录。
2.2.10 设置完成之后继续
2.2.11 设置用户名密码和hostname
2.2.12 选择安装OpenSSH Server
这一步非必须,主要目的是安装之后可以方便远程登陆主机进行维护。
2.2.13 第三方光盘没找到,忽略
2.2.14 选择预安装哪些服务工具
主要是看服务器拿来干嘛的,一些工具可以现在装,到后边在装也是可以的。我选择一个都不要。
2.2.15 设置完成,准备安装
动态更新,时间稍微久一点,倒杯水喝。
3,通过计算机基础和帮助的学习,完成学习ifconfig命令的使用。
参考文档:ifconfig vs ip:有什么区别和比较网络配置 (linux-console.net)
linux 的 ip 命令 和 ifconfig 命令_擒贼先擒王的博客-_ifconfig flush
ip --help
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
ip [ -force ] -batch filename
where OBJECT := { address | addrlabel | amt | fou | help | ila | ioam | l2tp |
link | macsec | maddress | monitor | mptcp | mroute | mrule |
neighbor | neighbour | netconf | netns | nexthop | ntable |
ntbl | route | rule | sr | tap | tcpmetrics |
token | tunnel | tuntap | vrf | xfrm }
OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |
-h[uman-readable] | -iec | -j[son] | -p[retty] |
-f[amily] { inet | inet6 | mpls | bridge | link } |
-4 | -6 | -M | -B | -0 |
-l[oops] { maximum-addr-flush-attempts } | -br[ief] |
-o[neline] | -t[imestamp] | -ts[hort] | -b[atch] [filename] |
-rc[vbuf] [size] | -n[etns] name | -N[umeric] | -a[ll] |
-c[olor]}
ip命令和nmcli命令相结合
nmcli --help
Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }
OPTIONS
-a, --ask ask for missing parameters
-c, --colors auto|yes|no whether to use colors in output
-e, --escape yes|no escape columns separators in values
-f, --fields <field,...>|all|common specify fields to output
-g, --get-values <field,...>|all|common shortcut for -m tabular -t -f
-h, --help print this help
-m, --mode tabular|multiline output mode
-o, --overview overview mode
-p, --pretty pretty output
-s, --show-secrets allow displaying passwords
-t, --terse terse output
-v, --version show program version
-w, --wait <seconds> set timeout waiting for finishing operations
OBJECT
g[eneral] NetworkManager's general status and operations
n[etworking] overall networking control
r[adio] NetworkManager radio switches
c[onnection] NetworkManager's connections
d[evice] devices managed by NetworkManager
a[gent] NetworkManager secret agent or polkit agent
m[onitor] monitor NetworkManager changes
4,总结linux FHS结构。
常见的文件系统目录功能
/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录
/bin:所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
/sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
/lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
/lib64:专用于x86_64系统上的辅助共享库文件存放位置
/etc:配置文件目录
/home/USERNAME:普通用户家目录
/root:管理员的家目录
/media:便携式移动设备挂载点
/mnt:临时文件系统挂载点
/dev:设备文件及特殊文件存储位置
b: block device,随机访问
c: character device,线性访问
/opt:第三方应用程序的安装位置
/srv:系统上运行的服务用到的数据
/tmp:临时文件存储位置
/usr: universal shared, read-only data
bin: 保证系统拥有完整功能而提供的应用程序
sbin:
lib:32位使用
lib64:只存在64位系统
include: C程序的头文件(header files)
share:结构化独立的数据,例如doc, man等
local:第三方应用程序的安装位置
bin, sbin, lib, lib64, etc, share
/var: variable data files
cache: 应用程序缓存数据目录
lib: 应用程序状态信息数据
local:专用于为/usr/local下的应用程序存储可变数据
lock: 锁文件
log: 日志目录及文件
opt: 专用于为/opt下的应用程序存储可变数据
run: 运行中的进程相关数据,通常用于存储进程pid文件
spool: 应用程序数据池
tmp: 保存系统两次重启之间产生的临时数据
/proc: 用于输出内核与进程信息相关的虚拟文件系统
/sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
/selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置
5,简要描述后期学习的计划。
紧跟节奏,不掉队。其实这个作业已经是第六周才补,还要继续加油。