@从开发者角度入门Linux世界资料整理=Linux介绍+Ubuntu系统安装(视频+文字)

发表于 2015 年 5 月 3 日 by Judas.n

从开发者角度入门Linux世界资料整理=Linux介绍+Ubuntu系统安装(视频+文字)


现在整理手中的Linux材料主要有三个原因:
1.我目前的知识需要整理(这些资料我积累了一年多了,单纯今天这篇文章都整理了一个礼拜,所以请别浪费我的心意)
2.我弟弟以后需要学习,但是我不放心学校不靠谱的老师。
3.目前市场上的Linux入门教程总结整理我找不到满意,我希望我可以做好。


我的Linux主要内容会分为四期进行:
1.认识Linux,安装Ubuntu
2.Ubuntu的常用设置整理
3.Ubuntu常用软件推荐和安装
4.Ubuntu下的Java开发,使用IDE:IntelliJ IDEA


在开讲之前,需要说清楚的是几件事
1.我算是使用Linux的新人(使用有一年多点),但是不算Linux白痴。文章过程肯定会有错误,但是请告诉我哪里错了,我也想活得明明白白,真心感谢!
2.该系列视频适合新接触Linux的开发者,不做开发和运维的人不建议使用Linux的任何发行版本。
3.我不具体罗列Linux的基础操作和相关具体知识,因为下面一点的资料是我无法超越的,既然已经注定这样了,那我只能坚定不移地不祸害你们。
4.Linux的系统性基础知识,在目前所有的中文资料中,我个人觉得没有比Itercast讲的更好的,后期的几个文章也都是在这个基础上进行扩充。
IterCast官网:(网站虽然已关闭了,但是那些视频都留下来了,在这里我必须深深地对苏勇前辈表示真挚的感谢和无比崇高的尊敬!)
http://itercast.com/
关闭原因,前辈自己也有详细的说明:
http://www.zhihu.com/question/23871761

既然已经有前辈这么好的资料,那我为什么还要出Linux的一些文章呢?还是回到文章的最开头,我需要整理我的知识。 还有就是我觉得目前的Linux资料中,包括苏勇前辈的教程,Linux的开头思绪还是讲得不够小白,或是说还是不够通俗。 而我希望做的是我的整理可以让Linux更加通俗地被表达出来,让Linux入门门槛再降低一点点,当然了,前面说了,这个门槛也是对于新接触Linux的开发者, 普通桌面用户我是完全不同意你使用Linux任何发行版本。而且我本身也算是三分之一情怀的软粉,我是很期待今年的Windows10。 我已经厌倦了不同平台,不同的软件的生活方式了,希望有一个系统能统一所有设备。






进入正题。Linux是什么,先不从专业的角度讲,从上层系统使用者来讲,我想告诉新人的是:
Linux与我们熟知的Windows、Mac OS是没啥区别,就是一个操作系统(这句话觉不是废话╮(╯_╰)╭)。 对于我们上层用户来讲,我们重点关注往往是跟我们交互对多的上层应用软件而已, 各个不同系统核心内容有什么不同和特性是留给底层程序员的,新人的我们是不应该在入门的时候关心这些过于底层的东西, 会阻碍你学习的,特别是非英文国语的我们。当然了,以后入门了,并且对底层有兴趣可以自己去外国资料中找,可以找到很多的。(各个系统所谓的友好交互方式, 本质也是上层系统软件,都是可以替代和模仿的,只是有没有这个软件而已。)

既然系统底层我们新人不关心,那先谈谈软件,下面这些软件没有合适的Linux版本:
QQ、有道词典桌面版、Adobe各种设计软件、MS Office、MindManager、国内常见的同步盘、大部分大型游戏、网络游戏、各种输入法(搜狗输入法现在是有Linux版,但是还是不能同步词库,和自定义词库,对我来讲也算是半个垃圾)
以上这些都是我常用的软件,我相信也是很多国人常用的,但是Linux都没有原生的支持,也找不到满意的代替方式。(wine的方案是我不赞同的,所以这里不提)

通过上面罗列这些软件我只是想再次强调,一般人谁在乎系统了?作为上层人我们只要管要顺手软件即可,所以我在这里再次提问你:作为上层用户,你觉得Linux和Windows有何差别吗? 如果你已经和我一样认为它们是没差别,那摆好这个心态会对于你换另外一个系统是很有帮助的,至少我是这样想的。


接着我们用术语话地讲Linux是什么,下面知识点有点多、杂,可是你又绕不开的,这些是认识Linux世界的基础,必须懂:
Linux的Wiki介绍:http://zh.wikipedia.org/zh/Linux
Linux的也称:GNU/Linux(”GNU/Linux” 英语发音:/ɡəˈnuː slæʃ ˈlɪnəks/),而其中GNU的全称又是:Gnu’s Not Unix
其中GNU放前面是有原因的,GNU介绍:http://zh.wikipedia.org/wiki/GNU
对于Linux和GNU/Linux的两种叫法是有​争议,可以看下面文章(大佬们好为难我们这些上层使用者呀╮(╯_╰)╭):
http://zh.wikipedia.org/wiki/GNU/Linux命名爭議
其实我们可以认为:Linux本质是指Linux内核,而称GNU/Linux则代表这是一个系统,所以我认为Debian的这个叫法是合理的,但是确实有点不好念和记忆。所以普遍大家直接称作Linux。

但是通过上面的全称和资料其实我们也就了解到,Linux本质来源不是Unix,但是它借鉴了Unix的设计思想,所以在系统业界上把这种和Unix是一致设计思想的系统归为:类Unix系统。
类Unix系统的介绍:http://zh.wikipedia.org/wiki/类Unix系统
类Unix系统,除了我们今天要讲的Linux,还有大家熟知的Mac OS X、FreeBSD(这两个是直接从Unix系发展过来的,所以相对Linux是比较地道的类Unix系统)
FreeBSD介绍:http://zh.wikipedia.org/zh/FreeBSD
Mac OS X介绍:http://zh.wikipedia.org/wiki/OS_X
更加全部了解操作系统的概念可以看:
http://zh.wikipedia.org/wiki/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F

好了,理解了这些知识点,我们作为上层人来做下总结吧:
我们就姑且认为这个世界就只有两个大系统吧:Windows、类Unix。


上面讲的内容是Linux系统的横向知识点,现在讲讲Linux的纵向知识点:
Linux的wiki中有这句话:
通常情况下,Linux被打包成供个人计算机和服务器使用的Linux发行版,一些流行的主流Linux发布版,包括Debian(及其派生版本Ubuntu、Linux Mint)、Fedora(及其相关版本Red Hat Enterprise Linux、CentOS)和openSUSE、ArchLinux(这个是我补充的)等。

通过上面这句话我做了总结,我个人觉得应该这样分:
Fedora、RHEL、centos是一个系的
(他们的区别:http://blog.csdn.net/tianlesoftware/article/details/5420569
Debian、Ubuntu是一个系的
(他们的区别直接看Ubuntu的wiki就可以得知:http://zh.wikipedia.org/zh/Ubuntu
ArchLinux自己一个系http://zh.wikipedia.org/wiki/Arch_Linux
OpenSuse自己一个系
(虽然有说OpenSuse的打包方式和RHEL都是RPM,但是我还是觉得应该分开。http://zh.wikipedia.org/wiki/OpenSUSE

对此再继续总结就是:
Fedora系业界一般用于做服务器
Debian系业界一般用于桌面,移动端,TV这一类
ArchLinux系,很轻量的Linux,适合有一定Linux基础,并且爱折腾的人使用,用它做桌面或是服务器都行。
OpenSuse系,嘛,嗯…人气相对比较差,一般是服务器。
其实Linux的发行版本有太多了,我也只是简单说下常见的而已,具体可以看:
http://zh.wikipedia.org/wiki/Linux%E5%8F%91%E8%A1%8C%E7%89%88%E5%88%97%E8%A1%A8


为什么要用Linux系统?
大家常看到的说法是:Linux是开源的,有潜力,安全,免费等等,我觉得这几个点都比较虚, 特别是免费这东西,在景德镇真的是最不值钱的东西。 作为上层人来讲,喜欢某个操作系统就是因为它可以加快的你生产效率,提高产能。 我推荐Linux也只是因为它适合常见的编程语言做开发环境,仅此一点。

对此总结就是:
如果你是某种语言的开发者,你从事这个行业,不管你怎么学习下去,Linux永远绕不开。 从简单的各种语言开发,到后期的服务器部署,分布式,集群环境,数据库相关等, Linux都在等着你。(P.S:微软系、美工等设计系是唯一这个总结之外的人)

在认识Linux上我以下面这边文章为结尾。Linux和Mac OS X都是类Unix系统,所以这篇文章中基本上的理由都可以用到Linux上的。
为什么国外程序员爱用 Mac?
http://www.vpsee.com/2009/06/why-programmers-love-mac/






前面介绍了那么多概念,我想你现在应该对Linux有一个初步的了解吧。 接下来,你得开始挑选Linux的一个发行版本,并且去使用。 但是在推荐发行版本前,我这里有一个要求:你手里准备两台电脑。 国内各种双系统资料,各种虚拟机资料,我觉得这些东西都是不靠谱的,压根就没办法让你安心体验Linux的。所以我觉得最好的体验就是:你买两台电脑, 一台装Windows,一台装Linux。(Mac不适合做服务器,如果你想对目前常用的Linux服务器有了解,还是要有Linux电脑)。 用Windows可以不妨碍你打游戏,使用各种国内便捷软件,用Linux不妨碍你学习开发,这样就合理很多了。

我推荐的发行版本:Ubuntu,而且是Ubuntu的中文特别版Ubuntu kylin:
Ubuntu kylin官网和下载:
http://www.Ubuntu.com/index_kylin
http://cn.Ubuntu.com/desktop
为什么推荐它了?原因是:
你是要在上面做开发的,不是要把他变成生活用机的,所以难道你认为自己尝试安装各种中文输入法很爽吗?自己尝试让国际Ubuntu版变成又一个符合国情的kylin很爽吗? 真心别折腾这些没用的东西。就像我以前说的,大学老师让java新手使用记事本写代码就是一种非常shit行为,不断地用cmd > javac难度学生会很爽?学生了解javac就够了,非要浪费他们的时间。


接下来开始说Ubuntu的具体知识点了,现在你可以开始准备看我提供的IterCast的视频教程了,下面两个视频你必须快速看下,但是看完也别操作:
从开发者角度入门Linux世界资料整理=Linux介绍+Ubuntu系统安装(视频+文字)


看完上面两个视频,你对Ubuntu的安装就有了一个大概的了解,视频中Ubuntu虽然版本较早13.04的, 但是没关系,对于Ubuntu来讲新旧版本安装基本都一样的,所以别担心,驱动的问题也别担心,我们不是要Ubuntu打游戏的,所以常见驱动系统是集成的。 但是分区这一块的话,我个人建议是手工分区,视频中没有最终执行手动分区,只是演示了一下又返回了。 我个人是要求你手动分区的。

但是再讲分区之前,用什么设备安装是第一前提,我这里推荐用U,你准备一个4G以上的U盘,把Ubuntu系统进行格式化到里面,用这个U盘作为安装盘进行安装,教程不难,看如下:
http://www.Ubuntukylin.com/ask/index.php?qa=jc_1
http://www.wubantu.com/36bc2075036fab76.html
http://tieba.baidu.com/p/2795415868
http://www.Ubuntukylin.com/public/pdf/UK1410install.pdf

好了,现在可以开始讲分区了。这里特别说明的是有多个硬盘的,多块硬盘分区方案就没视频中那么简单,特别是Linux的盘符不了解的就更加难了,所以看下图:
从开发者角度入门Linux世界资料整理=Linux介绍+Ubuntu系统安装(视频+文字)

以我这边为例:我这边有一个128G固态+500G的机械,我给一个分区方案给你们参考。下面的内容需要你先看过视频才能看懂:
Linux一般可分3个分区,分别是boot分区、swap分区和根分区(根分区也就是斜杠/) boot是主分区类型,swap是是逻辑分区,/是逻辑分区,其他如果你还想划分的也都是逻辑分区。 最近年代生产的的主板,可能还需要分出一个EFI分区启动。EFI的选择和swap一样,都在那个下拉菜单中。 怎么判断你要不要分出一个EFI了?如果你根据我的要求分了boot,swap,根之后,点击下一步报错,有提示EFI相关的错误信息, 那就分一个给它,我这边就是有报错的。

120G固态硬盘:
/boot=1G(主分区),这里为boot单独挂载是有必要的。系统崩溃的时候,损坏的是这个分区。我们重装系统之后,其他分区我们保留下来,重新挂载上去就可以用了。
/swap=12G(逻辑分区)一般大家的说法这个大小是跟你机子的内存大小相关的,也有说法内存大不需要这个,但是还是建议分,我内存是12G,所以我分12G。
/=100G(逻辑分区)
/EFI=100M(主分区) (我有提示报错需要分这个,我就分了)

500G机械硬盘:
/home=500G(逻辑分区)(我的安装程序我不安装到home下,都是安装到opt目录下的,这样固态的性能才能发挥出来)

分区后的安装都是下一步的,而且kylin还是中文的说明,所以没啥难度。 到此假设你给自己的电脑安装了Ubuntu,那下一讲我将讲Ubuntu的相关设置。






下载 IterCast视频教程下载

其他Linux系统级视频材料收集(都没有IterCast好,但是辅助你认识Linux是没有问题的):
http://www.imooc.com/index/search?words=Linux
http://study.163.com/search.htm?p=Linux
http://www.icoolxue.com/album/show/26
http://www.howzhi.com/search?q=Linux
http://www.icoolxue.com/search/album/view/1/10?q=Linux
http://www.verycd.com/topics/2843130/
http://www.verycd.com/topics/2752094/
http://www.verycd.com/topics/2772159/
http://www.verycd.com/topics/2973546/
http://www.verycd.com/topics/2958768/
http://www.verycd.com/topics/2872853/
http://www.verycd.com/topics/2749954/
http://www.verycd.com/topics/2739186/
http://www.verycd.com/topics/2748974/
http://www.verycd.com/topics/2738557/



文章分类: Linux系统, 软件/系统   标签:   链接地址: http://www.youmeek.com/linux-introduction/

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>