1.开源许可证¶
什么是开源:¶
开源是软件分发的一个手段。 开源是软件进行低成本推广的一个手段,开源解决不了软件的市场竞争力的问题。开源软件也需要持续的投入和维护才可能有未来。
最早软件是随着硬件一并交付给最终用户的。当然也包含软件的源代码,不过那时候的软件规模也相对较小。后来随着有人促进美国立法,将软件纳入著作权保护的范畴和领域之内,再后来就衍生出了各类许可证。软件开始以具体的价格售卖。但是二进制包的售卖方式是没办法去查看和维护软件的。这就导致购买的软件在进行修改以及在不同的硬件平台上使用时遇到了很大的障碍。
什么是软件著作权:¶
计算机软件著作权的内容是指软件著作权人依照法律享有的专有权利的总和,根据我国《计算机软件保护条例》的规定,软件著作权人享有下列各项权利:(1)发表权,即决定软件是否公之于众的权利;(2)署名权,即表明开发者身份,在软件上署名的权利;(3)修改权,即对软件进行增补、删节,或者改变指令、语句顺序的权利;(4)复制权,即将软件制作一份或者多份的权利;(5)发行权,即以出售或者赠与方式向公众提供软件的原件或者复制件的权利;(6)出租权,即有偿许可他人临时使用软件的权利,但是软件不是出租的主要标的的除外;(7)信息网络传播权,即以有线或者无线方式向公众提供软件,使公众可以在其个人选定的时间和地点获得软件的权利;(8)翻译权,即将原软件从一种自然语言文字转换成另一种自然语言文字的权利 [1] ;(9)应当由软件著作权人享有的其他权利。
其中,署名权;修改权;复制权;发布权是软件著作权的四种基本权利。商业软件对于以上四种权力是进行保留的。并通过软件的最终解释权对用户的行为加以约束。
开源许可证的区别:¶
下图来自阮一峰博客。
理想主义者是不是开源成功的关键?¶
源代码开放实际上无论从哪个角度来说都是一个比较有理想主义精神的事情。但是开源软件实际的情况来看,至少有90%的代码都是商业公司提供的,像Linux的源代码,基本上都是Intel,AMD,Redhat还有IBM这些公司提供给的,甚至微软公司也在十几年前开始向Linux提供源代码,提交了不少的驱动程序。对于为用户提供服务的软件来说,实际上是不是开源实际上可能并不会那么重要,说到底开源终究是软件进行低成本分发的一个手段。开源软件也不能逃避与商业软件的竞争。
说到底现在有这么多的开源软件协议,从整个发展历程来说。基本上是逐渐向商业不断妥协的结果。
开源会走向哪里我也不知道,但是,有一点我敢肯定,原来的Free Software太激进了,肯定是走不通的,动不动就让人家没钱赚,一下子就共产了,我觉得这是致命的自负。
开源的成功,应该是理想主义,软件工程技术和商业策略成功的结合,仅仅靠理想主义,是走不到现在这个局面的。
2.安装操作系统¶
3.ifconfig命令的使用¶
4.Linux的目录结构¶
表格来自wikipedia
目录 | 描述 |
---|---|
/ |
第一层次结构 的根、 整个文件系统层次结构的根目录。 |
/bin/ |
需要在单用户模式可用的必要命令(可执行文件);面向所有用户,例如: cat、 ls、 cp。 |
/boot/ |
引导程序文件,例如: kernel、initrd;时常是一个单独的分区[8] |
/dev/ |
必要设备, 例如:/dev/null . |
/etc/ |
特定主机,系统范围内的配置文件。关于这个名称目前有争议。在贝尔实验室关于UNIX实现文档的早期版本中,/etc 被称为*etcetera*, [9] 这是由于过去此目录中存放所有不属于别处的所有东西(然而,FHS限制/etc只能存放静态配置文件,不能包含二进制文件)。 [10] 自从早期文档出版以来,目录名称已被以各种方式重新称呼。最近的解释包括逆向首字母缩略词如:"可编辑的文本配置"(英文 "Editable Text Configuration")或"扩展工具箱"(英文 "Extended Tool Chest")。 [11] |
/etc/opt/ |
/opt/ 的配置文件 |
/etc/X11/ |
X窗口系统(版本11)的配置文件 |
/etc/sgml/ |
SGML的配置文件 |
/etc/xml/ |
XML的配置文件 |
/home/ |
用户的家目录,包含保存的文件、个人设置等,一般为单独的分区。 |
/lib/ |
/bin/ 和 /sbin/ 中二进制文件必要的库文件。 |
/media/ |
可移除媒体(如CD-ROM)的挂载点 (在FHS-2.3中出现)。 |
/mnt/ |
临时挂载的文件系统。 |
/opt/ |
可选应用软件 包。[12] |
/proc/ |
虚拟文件系统,将内核与进程状态归档为文本文件。*例如:*uptime、 network。在Linux中,对应Procfs格式挂载。 |
/root/ |
超级用户的家目录 |
/sbin/ |
必要的系统二进制文件,例如: init、 ip、 mount。 |
/srv/ |
站点的具体数据,由系统提供。 |
/tmp/ |
临时文件(参见 /var/tmp ),在系统重启时目录中文件不会被保留。 |
/usr/ |
用于存储只读用户数据的*第二层次*; 包含绝大多数的(多)用户工具和应用程序[13]。 |
/usr/bin/ |
非必要可执行文件 (在单用户模式中不需要);面向所有用户。 |
/usr/include/ |
标准包含文件。 |
/usr/lib/ |
/usr/bin/ 和/usr/sbin/ 中二进制文件的库。 |
/usr/sbin/ |
非必要的系统二进制文件,*例如:*大量网络服务的守护进程。 |
/usr/share/ |
体系结构无关(共享)数据。 |
/usr/src/ |
源代码,*例如:*内核源代码及其头文件。 |
/usr/X11R6/ |
X窗口系统 版本 11, Release 6. |
/usr/local/ |
本地数据的*第三层次*, 具体到本台主机。通常而言有进一步的子目录, 例如:bin/ 、lib/ 、share/ .[14] |
/var/ |
变量文件——在正常运行的系统中其内容不断变化的文件,如日志,脱机文件和临时电子邮件文件。有时是一个单独的分区。 |
/var/cache/ |
应用程序缓存数据。这些数据是在本地生成的一个耗时的I/O或计算结果。应用程序必须能够再生或恢复数据。缓存的文件可以被删除而不导致数据丢失。 |
/var/lib/ |
状态信息。 由程序在运行时维护的持久性数据。 *例如:*数据库、包装的系统元数据等。 |
/var/lock/ |
锁文件,一类跟踪当前使用中资源的文件。 |
/var/log/ |
日志文件,包含大量日志文件,为了防止日志占满根分区,生产环境中一般是单独分区。 |
/var/mail/ |
用户的电子邮箱。 |
/var/run/ |
自最后一次启动以来运行中的系统的信息,*例如:*当前登录的用户和运行中的守护进程、一些守护进程的pid文件、socket文件。现已经被/run代替[15]。 |
/var/spool/ |
等待处理的任务的脱机文件,*例如:*打印队列和未读的邮件。 |
/var/spool/mail/ |
用户的邮箱(不鼓励的存储位置) |
/var/tmp/ |
在系统重启过程中可以保留的临时文件。 |
/run/ |
代替/var/run目录。 |
5.后期学习的计划¶
尽力完成规定目标