第一周作业

1、作业内容

1. 图文并茂解释开源许可证 GPL、BSD、MIT、Mozilla、Apache和LGPL的区别?
2. 安装centos ubuntu系统.
3. 通过计算机基础和帮助的学习,完成学习ifconfig命令的使用。
4. 总结linux FHS结构。
5. 简要描述后期学习的计划。

2、作业解答

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

 1、GPL许可证

GPL:GNU General Public License,GNU 通用公共许可证。

特点:如果一个软件产品使用(包括类库引用、修改后的代码、或衍生代码)了GPL协议的产品,则该软件产品也必须遵循GPL许可证,即需要开源和免费,不允许修改后和衍生的代码作为闭源的商业软件进行发布和销售。

2、LGPL许可证

LGPL:GNU Lesser General Public License,GNU宽通用公共许可证。

LGPL 允许商业软件通过类库引用 (link) 方式使用 LGPL 类库而不需要开源商业软件的代码,这使得采用 LGPL 协议的开源代码可以被商业软件作为类库引用并发布和销售,但是前提是不能修改 LGPL 许可的软件部分。如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。

3、Mozilla许可证

Mozilla:Mozilla Public License,MPL协议允许免费重发布、免费修改,但要求修改后的代码版权归软件的发起者 。这种授权维护了商业软件的利益,它要求基于这种软件的修改无偿贡献版权给该软件。

4、BSD许可证

BSD 许可协议( Berkeley Software Distribution license )是自由软件中使用广泛的许可协议之一,BSD许可证非常宽松,它允许无限制地重用全部或部分软件,以集成到自由软件或所有者中。当发布使用了BSD协议的代码,或以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:(1)如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议;(2)如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议;(3)不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。

5、MIT许可证

MIT许可证之名源自麻省理工学院(Massachusetts Institute of Technology, MIT),又称 “X11条款”。作者只想保留版权,而无任何其他限制。MIT与BSD类似,但是比BSD协议更加宽松,是目前最少限制的协议。这个协议唯一的条件就是在修改后的代码或者发行包包含原作者的许可信息。

6、Apache许可证

Apache 许可证(Apache License),是一个由 Apache 软件基金会发布的自由软件许可证。这是一个由强大社区支持的流行且广泛部署的许可证,Apache许可证允许自由使用、修改和分发任何Apache许可产品。Apache许可证和BSD许可证类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。

2.2、安装CentOS、Ubuntu系统

2.2.1 安装CentOS系统

 

 

  

 

 2.2.2 安装Ubuntu系统

 

 

2.3 通过计算机基础和帮助的学习,完成学习ifconfig命令的使用

复制代码
#ifconfig命令功能说明
ifconfig命令用于配置或显示linux网络接口信息,如果linux系统中没有ifconfig命令,可以通过如下命令安装:
rocky/centos: yum install -y net-tools
ubuntu: apt install -y net-tools

[root@centos7 ~]# type ifconfig
ifconfig is /usr/sbin/ifconfig   #ifconfig是外部程序

[root@centos7 ~]# ifconfig --help  #查看ifconfig命令的使用说明
Usage:
  ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]
  [add <address>[/<prefixlen>]]
  [del <address>[/<prefixlen>]]
  [[-]broadcast [<address>]]  [[-]pointopoint [<address>]]
  [netmask <address>]  [dstaddr <address>]  [tunnel <address>]
  [outfill <NN>] [keepalive <NN>]
  [hw <HW> <address>]  [mtu <NN>]
  [[-]trailers]  [[-]arp]  [[-]allmulti]
  [multicast]  [[-]promisc]
  [mem_start <NN>]  [io_addr <NN>]  [irq <NN>]  [media <type>]
  [txqueuelen <NN>]
  [[-]dynamic]
  [up|down] ...

#ifconfig命令常用参数选项
-a: 显示所有的网络接口信息,包括活动的和非活动的
up: 激活指定的网络接口
down: 关闭指定的网络接口
hw: 设置网络接口的MAC地址

复制代码

ifconfig命令使用举例:

复制代码
root@ubuntu2204:~# ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.12  netmask 255.255.255.0  broadcast 192.168.100.255
        inet6 fe80::20c:29ff:fe75:bab4  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:75:ba:b4  txqueuelen 1000  (Ethernet)
        RX packets 725  bytes 499242 (499.2 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 568  bytes 183134 (183.1 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 118  bytes 10036 (10.0 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 118  bytes 10036 (10.0 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33: 网络接口名称
lo: 回环接口

root@ubuntu2204:~# ifconfig ens33  
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.12  netmask 255.255.255.0  broadcast 192.168.100.255
        inet6 fe80::20c:29ff:fe75:bab4  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:75:ba:b4  txqueuelen 1000  (Ethernet)
        RX packets 803  bytes 507327 (507.3 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 622  bytes 191038 (191.0 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
命令返回信息解析:
第1行:UP表示网卡的开启状态,RUNNING表示网卡处于连接状态,MULTICAST表示支持组播,mtu 1500表示最大传输单元为1500字节。
第2行:inet表示网卡的IP地址,netmask表示子网掩码,broadcast表示广播地址。
第3行:inet6表示网卡ipv6协议的链路本地地址,prefixlen表示子网掩码长度为64。
第4行:ether表示网卡的物理地址即MAC地址。
第5行:RX packets表示网卡的收包统计信息。
第6行:RX errors/dropped表示网卡的RX方向错包/丢包统计信息。
第7行:TX packets表示网卡的发包统计信息。
第8行:TX errors/dropped表示网卡的TX方向错包/丢包统计信息。
复制代码

对网卡进行up/down操作:

复制代码
[root@centos7 network-scripts]# ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.11  netmask 255.255.255.0  broadcast 192.168.100.255
        inet6 fe80::c94d:df7b:3ac8:5849  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:81:1d:02  txqueuelen 1000  (Ethernet)
        RX packets 265  bytes 30129 (29.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 181  bytes 38025 (37.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens35: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 00:50:56:2a:72:b1  txqueuelen 1000  (Ethernet)
        RX packets 3  bytes 746 (746.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 15  bytes 1706 (1.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 36  bytes 3060 (2.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 36  bytes 3060 (2.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[root@centos7 ~]# ifconfig ens35 up       
[root@centos7 ~]# ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.11  netmask 255.255.255.0  broadcast 192.168.100.255
        inet6 fe80::c94d:df7b:3ac8:5849  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:81:1d:02  txqueuelen 1000  (Ethernet)
        RX packets 338  bytes 37823 (36.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 223  bytes 45335 (44.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens35: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.200.201  netmask 255.255.255.0  broadcast 192.168.200.255
        inet6 fe80::e658:a630:c9b3:e169  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:2a:72:b1  txqueuelen 1000  (Ethernet)
        RX packets 4  bytes 1088 (1.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 24  bytes 2736 (2.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 48  bytes 4080 (3.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 48  bytes 4080 (3.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      
[root@centos7 ~]# ifconfig ens35 down
[root@centos7 ~]# ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.11  netmask 255.255.255.0  broadcast 192.168.100.255
        inet6 fe80::c94d:df7b:3ac8:5849  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:81:1d:02  txqueuelen 1000  (Ethernet)
        RX packets 410  bytes 45383 (44.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 265  bytes 54239 (52.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens35: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 00:50:56:2a:72:b1  txqueuelen 1000  (Ethernet)
        RX packets 4  bytes 1088 (1.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 26  bytes 2860 (2.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 60  bytes 5100 (4.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 60  bytes 5100 (4.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
复制代码

给网卡配置IP地址(临时生效,重启丢失配置):

复制代码
[root@centos7 ~]# ifconfig ens35 192.168.200.11
[root@centos7 ~]# ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.11  netmask 255.255.255.0  broadcast 192.168.100.255
        inet6 fe80::c94d:df7b:3ac8:5849  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:81:1d:02  txqueuelen 1000  (Ethernet)
        RX packets 458  bytes 50423 (49.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 293  bytes 59629 (58.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens35: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.200.11  netmask 255.255.255.0  broadcast 192.168.200.255
        ether 00:50:56:2a:72:b1  txqueuelen 1000  (Ethernet)
        RX packets 4  bytes 1088 (1.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 26  bytes 2860 (2.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 72  bytes 6120 (5.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 72  bytes 6120 (5.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


[root@centos7 ~]# ifconfig ens35:0 192.168.200.111  #给网卡配置多个IP地址
[root@centos7 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.11  netmask 255.255.255.0  broadcast 192.168.100.255
        inet6 fe80::c94d:df7b:3ac8:5849  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:81:1d:02  txqueuelen 1000  (Ethernet)
        RX packets 623  bytes 68140 (66.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 389  bytes 80325 (78.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens35: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.200.11  netmask 255.255.255.0  broadcast 192.168.200.255
        ether 00:50:56:2a:72:b1  txqueuelen 1000  (Ethernet)
        RX packets 5  bytes 1331 (1.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 26  bytes 2860 (2.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens35:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.200.111  netmask 255.255.255.0  broadcast 192.168.200.255
        ether 00:50:56:2a:72:b1  txqueuelen 1000  (Ethernet)

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 72  bytes 6120 (5.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 72  bytes 6120 (5.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
复制代码

网卡配置文件:

复制代码
[root@centos7 network-scripts]# cat ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=48770d6b-d56f-4438-9c04-fc17f9fe9872
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.100.11
PREFIX=24
GATEWAY=192.168.100.2
DNS1=114.114.114.114
IPV6_PRIVACY=no

[root@centos7 network-scripts]# cat ifcfg-ens35
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens35
UUID=890c81cc-e4a6-355e-95cf-0012d75a99b8
DEVICE=ens35
ONBOOT=yes
IPADDR=192.168.200.11
PREFIX=24
IPV6_PRIVACY=no
复制代码

 

2.4 总结linux FHS结构

FHS:Filesystem Hierarchy Standard(文件系统层次化标准),定义了在Linux系统中的目录结构和目录内容,大多数Linux版本均采用这种文件组织形式,FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。

FHS的重点在于规范每个特定的目录下应该要放置什么样的数据,针对目录树架构仅定义3层目录:

(1)/目录:--root

(2)/usr目录:--Uninx Software Resource

(3)/var目录:--Variable

 

2.5 简要描述后期学习的计划

学习计划:

1、快速看完一遍视频课程;

2、重点操作练习每节课程中的知识点;

3、归纳总结重点知识点涉及的面试考点;

posted @   zcloudsre  阅读(69)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示