第一周作业:2022-11-20

author author     2022-12-07     411

关键词:

就业课程第一周作业:

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

=================================================================

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

第一周作业:2022-11-20_商业

GPL许可证

1980年,一个叫 Richard Stallman 的美国人因为无法容忍软件私有化,而建立了GPL许可证。他认为,软件的源代码是全人类的财富,应该允许程序员自由共享。

GPL许可证的核心含义是:允许任何人观看、修改,并散播程序软件的原始程序代码。条件是如果你要发布修改后的版本,就要连通源代码一起公布,不允许修改后和衍生的代码作为闭源的商业软件发布和销售。Linux就是采用了GPL协议,这也就是为什么我们能用到免费的各种版本的Linux系统,包括商业公司的Linux和Linux上各种各样的由个人、组织,以及商业软件公司开发的免费软件了。

GPL协议的主要内容是只要在一个软件中使用(“使用”指类库引用,修改后的代码或者衍生代码)GPL协议的产品,则该软件产品必须也采用GPL协议,即必须也是开源和免费。这就是所谓的“传染性”。GPL协议的产品作为一个单独的产品使用没有任何问题,还可以享受免费的优势。

由于GPL严格要求,使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。

BSD许可证

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

但是“为所欲为”的前提是当你发布使用了BSD协议的代码,或者以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件

(1) 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。
(2) 如果再发布的只是二进制类库/软件,则需要再类库/软件的文档和版权声明中包含原来代码中的BSD协议。
(3) 不可以用开源代码的作者、机构名字和原来产品的名字做市场推广。

BSD代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方代码,在必要的时候可以修改或者二次开发。

MIT许可证

MIT是和BSD一样宽泛的许可协议。你必须在你的发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的。作者只想保留版权,而无任何其他的限制,较BSD协议宽松。

Mozilla许可证

Mozilla公共许可证(英语:Mozilla Public License,简称MPL) 允许免费重发布、免费修改,但要求修改后的代码版权归软件的发起者。要求所有再发布者都得有一个专门的文件就对源代码程序修改的时间和修改的方式有描述。允许一个企业在自己已有的源代码库上加一个接口,除了接口程序的源代码以MPL 许可证的形式对外许可外,源代码库中的源代码就可以不用MPL许可证的方式强制对外许可。

Apache许可证

Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件也和BSD类似:

需要给代码的用户一份Apache Licence; 如果你修改了代码,需要再被修改的文件中说明。 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。 Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。

该许可证要求在所有的源文件中的头部放置以下内容才能算协议对该文件有效: Copyright [yyyy] [name of copyright owner]

//[yyyy] 表示该源文件创建的年份。紧随其后的是 [name of copyright owner],即版权所有者。如果为个人项目,就写个人名称;若为团队项目,则宜写团队名称。

LGPL许可证

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

总结

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

=================================================================

问题2:安装centos ubuntu系统

详见我的博客地址:

​https://blog.51cto.com/u_4183862/2581444​

=================================================================

问题3:通过计算机基础和帮助的学习,完成学习ifconfig命令的使用。

最小化安装的centos系统,默认没有安装ifconfig命令需要先安装net-tools-2.0-0.25.20131004git.el7.x86_64

[root@Linux1 ~]#yum provides ifconfig
Loaded plugins: fastestmirror
Repository cr is listed more than once in the configuration
Repository fasttrack is listed more than once in the configuration
Loading mirror speeds from cached hostfile
extras/7/x86_64/filelists_db | 277 kB 00:00:00
mysql-connectors-community/x86_64/filelists_db | 35 kB 00:00:00
mysql-tools-community/x86_64/filelists_db | 325 kB 00:00:00
mysql80-community/x86_64/filelists_db | 1.9 MB 00:00:00
updates/7/x86_64/filelists_db | 8.7 MB 00:00:01
net-tools-2.0-0.25.20131004git.el7.x86_64 : Basic networking tools
Repo : @base
Matched from:
Filename : /usr/sbin/ifconfig

在linux中我们可以使用ifconfig命令查看网卡配置与网络状态等信息,好比我们在windows中查看网络配置信息ipconfig命令一样。

[root@Linux1 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.135.101.1 netmask 255.255.255.0 broadcast 10.135.101.255
inet6 fe80::3650:e415:dbdb:dde2 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:90:7e:94 txqueuelen 1000 (Ethernet)
RX packets 49579 bytes 3490314 (3.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1924 bytes 142574 (139.2 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

virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:c5:c6:9a txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

​如上所示,使用ifconfig命令获取到的主要信息有:

  • 主机被检测到的网卡有ens33,UP表示“接口已启用”,RUNNING表示“接口在工作中”,BROADCAST表示“主机支持广播”,MULTICAST表示“主机支持多播”,mtu 1500表示“最大传输单元 1500字节”

inet 192.168.126.12 netmask 255.255.255.0 broadcast 192.168.126.255

解释:inet :网卡的IP地址;netmask :网络掩码;broadcast :广播地址。

ether 00:0c:29:d7:a2:4c txqueuelen 1000 (Ethernet)

解释:连接类型:Ethernet (以太网)或者HWaddr (此网卡的硬件mac地址);txqueuelen (网卡设置的传送队列长度)

RX packets 1183 bytes 100770 (98.4 KiB) RX errors 0 dropped 0 overruns 0 frame 0

解释:接收时,正确的数据包数1183;接收的数据量(98.4 KiB);

接收时,产生错误的数据包数为0,丢弃的数据包数为0;overruns 表示接收时,由于速度过快而丢失的数据包数为0;RX frame 表示接收时,发生frame错误而丢失的数据包数为0。

ifconfig不仅可以查看网卡配置与网络状态,还可以进行网络配置,常见用法如下

第一周作业:2022-11-20_apache_02

​注意:用ifconfig命令配置的网卡信息,在网卡重启或者机器重启后,所做的配置就不存在了。如果需要网络配置永久生效,需要修改相应的配置文件。

[root@Linux1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
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=27ca7b12-d136-4f0c-a53c-8cf338cf8ca5
DEVICE=ens33
ONBOOT=yes

=================================================================================

问题4:总结linux FHS结构

linux的文件系统分层结构FileSystem Hierarchy Standdard(简称FHS)。

定义了在Linux系统中的目录结构和目录内容,即让用户了解到已安装软件通常放置哪个目录下。类似于Windows操作系统中C盘的文件目录,FHS采用树形结构组织文件,定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理和矛盾处理。

  1. 文件系统目录结构:

第一周作业:2022-11-20_商业_03

  1. 文件和目录被组织成一个单根倒置树结构 ;
  2. 文件系统从根目录下开始,用“/”表示;
  3. 常见文件系统的目录功能:

/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 :第三方应用程序的安装位置 /tmp :临时文件存储位置

==============================================================

问题5:简要描述后期学习计划

  1. 每天只要有时间就学习,见缝插针的学习。
  2. 按要求完成每周的学习任务。
  3. 必须动手跟随老师做实操实验。
  4. 虽然时间很紧凑,但是要努力按时完成每周的学习笔记(不懂的知识点自己要添砖加瓦做扩展)。


软件工程第一周作业-导航

本周作业内容链接 软件工程第一周作业-关于计算机、职业生涯http://www.cnblogs.com/vector121/p/7496387.html  查看详情

第一周作业

...方法*********************问题1:不会git上传文件解决方案:第一次使用git,比较陌生,在一位博主发表的博客上了解并学习如何使用http://www.cnblogs.com/best/ 查看详情

就业班第一周作业

就业班第一周作业一、按系列罗列Linux的发行版本,并描述不同发行版本之间的联系与区别。1、SlackwareLinux是由PatrickVolkerding开发的[GNU/Linux]发行版,于1993年创建,最初基于SoftlandingLinuxSystem。典型代表 查看详情

课下作业(第一周)

课下作业(第一周)一、相关知识点总结(一)、教材代码完成情况测试P14(相关知识点:运行第一章所有代码并截图)(二)、带包的代码编译运行测试在Ubuntu或Windows命令行中,建如下目录结构(参考附图)2016XXXX(学号)src... 查看详情

第一周作业

*********************学习总结*********************1.所用词典:2.Git截图:学习进度条时间代码行数时间(min)博客字数博客时间min知识点9.232010000基础练习9.243010000Pta作业9.25101000 9.261010 50 9.271010 100 9.281010 6 查看详情

第二课第一周大作业--构建和评估一个线性风险模型(代码片段)

之前教程:第二课第一周第1节-AI用于医学预后简介第二课第一周第2节-做医学预后,你需要掌握什么?第二课第一周第3-4节-什么是预后?第二课第一周第4-7节医学预后案例欣赏+作业解析第二课第一周第8节风险得分... 查看详情

第二课第一周大作业--构建和评估一个线性风险模型(代码片段)

之前教程:第二课第一周第1节-AI用于医学预后简介第二课第一周第2节-做医学预后,你需要掌握什么?第二课第一周第3-4节-什么是预后?第二课第一周第4-7节医学预后案例欣赏+作业解析第二课第一周第8节风险得分... 查看详情

第一周作业

  第一周作业一.学习内容总结:1.选择安装了金山词霸。  2.已经安装了DEVc++.3.关于小组的问题   点击小组右边的发言就可以发言。4.PTA  二.遇到的问题和解决方法:1.在PTA上做题时做第二题时... 查看详情

第一周作业

第一周作业学习内容总结:本周的学习内容比上一周复杂许多,尽管自己对本周学习内容并没有完全地掌握,但依旧感觉收获颇多。了解了C++软件的使用,能够通过模仿自己打代码,并且通过PTA平台上的作业对本周学习进行了回... 查看详情

第一周作业附加作业

              《浪潮之巅》读后感        之前除了看小说没有这么认真的看过一本书,但这次看了吴军博士的书后,有一种醍醐灌顶的感觉。《浪潮... 查看详情

第一周作业

学习内容总结训练编程,安装使用git问题1:下载内容无法应用解决方法:将下载软件卸载重试,并记录好安装位置,根据教程依次进行问题2:文件上传不上缺少一个步骤,将文件录入位置改变,并经过多次尝试git地址:145632asdfg学... 查看详情

第一阶段第一周作业

1、描述计算机的组成及其功能。2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。Linux三大主流分支:Debianubuntumintknopix:以安全著称,短小精悍SlackwareS.u.S.ESLESOpenSUSERedHatRedHatEnterpriseLinux/RHELCentOSFedoraCore:个人... 查看详情

第一周作业

学习内容总结这一次作业,内容比较多,难度较上次有所提升,不仅通过线上作业的形式考察我们知识的掌握情况,而且通过网上查阅资料与下载来考校我们电脑的技能掌握遇到的问题和解决方法   问题1:对于一些... 查看详情

第一周作业

#count=0#whilecount<=11:#ifcount!=7:#count+=1#print(count)#1、使用while循环输出1234568910#2、求1-100的所有数的和#count=1#i=0#whilecount<=100:#i+=count#count+=1#print(i)#3、输出1-100内的所有奇数#count=1#whilecount<=1 查看详情

第一周作业。

代码托管:[email protected]学习进度条时间    代码行数    时间      博客字数    时间      知识点0929&nb 查看详情

第一周作业

...给的作业最让我留下深刻印象的是PTA编程作业部分,当我第一次接触它时,首先感到的是对它的陌生感,之后几次编译错误直到最后的第一题答案正确,让我从先前的失落到最后变成欣喜若狂随之做后面的6道题也变得越来越顺... 查看详情

第一周作业

这个学科比较难,我还没有怎么学会就开始写作业了!但我会努力学会的!我上次的作业可能不太合格!所以才会得低分!我要加油!问题1:C语言需要英语的地方较多答:我去好好学习英语,在寝室一天背固定量单词!坚持下来... 查看详情

第一周作业

**学习内容总结**通过本次作业我感觉c语言这门课程对我来说有些难。但是在以后的学习中。我会努力学习尽早掌握这门课程。**遇到的问题和解决办法**  问题1:没有电脑而且对这门课程不是很了解解决办法:通过用朋... 查看详情