linux and free software

Post on 28-Jun-2015

727 Views

Category:

Technology

6 Downloads

Preview:

Click to see full reader

TRANSCRIPT

杨海坡11010802

Linux 是什么 Linux 现状 为什么使用 Linux 自由软件运动 黑客文化 如何学习 Linux

也许你不知道 Linux 是什么,但它就在我们身边。

Linux 是由著名芬兰黑客 Linus Torvalds 于1991 年发布的。

当时 Linus Torvalds 还是一名大学生。 Linus 本要把他的发时叫做 Freax ( free Uni

x )。负责管理服务器的同事觉得“ Freax” 这个名字不是很好,就在不咨询 Torvalds 的情况下,把项目的名字改成了“ Linux” 。

林纳斯 ·托瓦兹当时在 Usenet 新闻组comp.os.minix 登载帖子,这份著名的帖子标示着 Linux 计划的正式开始。

“操作系统就是…我想…你永远不需要面对它,因为,没有人直接的使用一个操作系统。人们在计算机上使用程序,操作系统的唯一使命就是为程序提供资源。”—— Linus Torvalds

操作系统: Windows, Mac os, 塞班… 是操作系统内核和一组应用程序的集合 通常人们说 Linux 是指一类以 Linux 内核为核心,附加了其他应用程序的操作系统。

各种使用了 Linux 的嵌入式设备 Android, Chrome os…

大部分的时候,我们听到 Linux 是指 GNU / Linux 。( GNU 是什么?)

实际上人们已经习惯了用 Linux 来形容整个基于Linux 内核,并且使用 GNU 工程各种工具和数据库的操作系统(也被称为 GNU/ Linux )。

Linux 发行版: Debian (及其派生物Ubuntu ), Fedora 和 openSUSE

UNIX 最早由 Kenneth L Thompson 、 Dennis M Ritchie ( 1941/9/9 – 2011/10/12 )于1969 年在 AT&T 的贝尔实验室开发。

UNIX 发展中有很多种变种,并出现分歧,但经过努力制定了 POSIX ( Portable Operating System Interface 可移植操作系统接口)标准。

Linux 符合 POSIX 标准 。 从 1995 年以后, UNIX 的故事就成了开源运动的故事

Linux 是一种自由和开放源代码的类 Unix 计算机操作系统。

 Linux 可安装在各种各样的计算机硬件设备,从手机、平板电脑、路由器和视频游戏控制台,到台式计算机,大型机和超级计算机。

 Linux 是一个领先的操作系统,世界上运算最快的10 台超级计算机运行的都是 Linux 操作系统。

Linux 操作系统也是自由软件和开放源代码发展中最著名的例子。

目前,超过三百个发行版被积极的开发,最普遍被使用的发行版有大约十二个。

流行的发行版: Ubuntu, Debian, Fedora, open SUSE, Gentoo

桌面市场份额: 1% 自由开源意识形态与商业用途的冲突、缺乏强而有力的推广厂商、缺少应用软件的支持、对已有平台的依赖

由于 Linux 的安全,稳定,目前大部分服务器运行着 Linux

百度,腾讯, Google, Facebook 等互联网巨头均大规模的采用 Linux 服务器

LAMP (Linux + Apache + Mysql + php, perl, python) 网站全开源解决方案的流行

为什么学习和使用 Linux ( GNU / Linux 发行版)

问:有什么工作是 Linux 无法完成的?答:杀毒

由于缺乏商业软件的支持,确实有一些事情无法在Linux 下完成,比如网银、一些游戏、 IE only…

这并不是 Linux 本身的问题。

可以用电脑完成的事情 Linux 就可以做。《泰坦尼克号》电影里的三维动画是 Linux 做的

国内 Linux 的用户一般为程序员,学生,极客… 很少人知道 Linux 是什么。

GNU/Linux 就是技术狂人为自己与自己的同类开发出的系统,这个系统本身就不是给世界上大多数人用的,而是给“传说中的死进程”用的。

Linux 是由志愿者参与开发,是自由软件,很少参与商业活动。

Windows 早该死了! Linux 是黑客们的玩物!

老手视角 有很多方便的工具 简单 各种各样的自由软件 稳定 没有病毒 …

新手视角需要记忆一大堆命令不习惯软件少很少人使用学习难度大…

文本编辑器 VI, Emacs

脚本语言: Bash, Python, Perl…

编程语言: C/C++, Lisp…

文档工具: TEX , Troff, XML

界面: CLI, GUI

混乱的发行版本

缺乏软件发行商的支持

兼容性

自由软件阵营内部的分裂

Free SoftwareFree speech, not free beer

自由软件( Free Software )是一种可以不受限制地自由使用、复制、研究、修改和分发的软件。

自由软件受到选定的“自由软件授权协议”保护而发布(或是放置在公共领域)

自由之零:不论目的为何,有使用该软件的自由。 自由之一:有研究该软件如何运作的自由,并且得以修改该软件来符合用户自身的需求。

自由之二:有重新散布该软件的自由,所以每个人都可以借由散布自由软件来敦亲睦邻。

自由之三:有改善再利用该软件的自由,并且可以发表修订后的版本供公众使用。

在计算机发展之初,并没有自由软件、专有软件、开源软件这些概念,因 为软件天生就是自由的,计算机软件都是以源代码方式发布和传播的。程序员可以查看和修改源代码。

可是软件逐渐成为了私有软件,计算机软件只以二进制格式发布。并诞生了诸如微软之类的专门销售计算机软件的商业公司。

自由软件运动人士认为自由软件的精神应当贯彻到所有软件:他们认为禁止计算机用户行使这种自由是不道德的行为,因为这样阻止了软件用户学习以及帮助其他人的权利。

GNU: GNU is Not UNIX GNU 计划,有译为“革奴计划”,是由理查德·斯托曼在 1983 年 9 月 27日公开发起的。它的目标是创建一套完全自由的 UNIX 操作系统。

GNU 工程十几年以来已经成为一个对软件开发主要的影响力量,创造了无数的重要的工具。

Richard Stallman 在 MIT 人工智能实验室工作期间,越来越多的软件成为专有软件。

也正是从这时起,软件群体逐渐分化成自由软件社团和专有软件公司两大阵营。

“因为这不仅仅是一个技术问题,更是一个社会问题、伦理道德问题”

Richard Stallman 发起了 GNU 工程,为了保证自由软件运动能够长期发展下去,他创立了自由软件基金会。 在法律方面,他创造性地提出并实现了 copyleft ( copyright)

GNU 计划始于 1984 年,终极目标是完成一套基于自由软件的完整作业操作系统。

直到 1991 年, GNU 计划已经完成除了操作系统内核之外的大部分软件,其中包括文本编辑器, shell , C语言程序库以及一个 C语言编译器。但内核迟迟没有开发成功。

到 1991 年 Linux 的第一个版本公开发行时,林纳斯 ·托瓦兹及其他早期 Linux 开发人员加入了这些工具,而完成了 Linux 操作系统。

GUN 计划和 Linux 完美的结合在一起。

Richard Stallman从道德的角度软件本应该是自由的

Linus Torvalds从质量的角度用自由软件是因为自由软件更好

《大教堂与集市 —— 》 Eric Raymond 他说,世界上的建筑可以分两种:一种是集市,天天开放在那里,从无到有,从小到大;还有一种是大教堂,几代人呕心沥血,几十年才能建成,投入使用。

让够多人看到源代码,错误将无所遁形 开放式的文化会最终胜利,这或许不是因为“开放”在道德上正确,或者“封闭”在道德上错误,而只是因为开放式合作可以在一个问题上投入多几个数量级的技术工时,封闭的世界无法赢得这样的竞争。

整个计算机发展史就是一部黑客文化发展史。

“黑客们建立了 Internet 。 黑客们发明出了现在使用的 UNIX 操作系统。黑客们使 Usenet 运作起来, 黑客们让 WWW 运转起来。如果你是这个文化的一部分,如果你对这种文化有所贡献,而且 这个社群的其它成员也认识你并称你为 hacker, 那么你就是一位黑客。”——如何成为一名黑客

黑客精神并不仅仅局限在软件的黑客文化中。 不幸的是,很多记者和作家往往错把“骇客”当成黑客; 这种做法一直使真正的黑客感到恼火。

根本的区别是:黑客搞建设,骇客搞破坏。

世界充满了待解决的迷人问题。

一个问题不应该被解决两次。

无聊和乏味的工作是罪恶。

自由万岁。

态度不能替代能力。

黑客文化,自由软件, Linux 这三者就这样紧密的结合在一起。

如果你明白这些,你就知道 所谓的 Linux 存在的问题,就并不是问题了。

最好的办法就是去使用它

Cygwin

虚拟机安装

Ubuntu Wubi

双系统

删掉 Windows

Linux 其实很容易使用。

并不需要刻意的学习,需要的只是克服 Win 带来的习惯和坏毛病。

文档: wiki

Search the F**king google!

命令行

Shell 脚本编程

系统编程

Linux 内核代码

top related