记得最早接触linux是在2000年,那种时侯,还在上学院,一个朋友从英国回去,带回去了一个Linux的拷贝版,记得版本还是Redhat6.2。以前为安装一个系统让我们忘掉疲劳,挑灯夜战,不亦乐乎。
那时Linux的学习资料还极少,才能学习的书籍也不多,网上Linux技术社区也极少,就凭借Redhat6.2自带的几页使用说明开始了学习linux的生涯。
一晃间,10几年过去了,我也与Linux相随了10多年,10年间,随着虚拟化、云估算时代的将至,Linux迅猛发展,在服务器领域早已抢占半壁江山,而基于Linux的运维也面临新的挑战:面对越来越复杂的业务,面对越来越多元化的用户需求,不断扩充的应用须要越来越合理的模式来保障Linux灵活方便、安全稳定地持续提供服务,这些模式中的保障诱因就是Linux运维。
从早期的几台服务器发展到庞大的云估算数据中心,单靠人工早已未能满足在技术、业务、管理等方面的要求,这么标准化、自动化、稳定性、可靠性等业务需求越来越被人们所注重。因而,对Linux的高性能、可靠性提出了更高的要求。
2009年我完成了基于Linux操作系统的作品《循序渐进Linux——基础知识、服务器搭建、系统管理、性能调优、集群应用》,此书出版后,得到了好多同行的认可,然而,此书出版已近6年,书中介绍的部份知识点和操作系统版本早已显得陈旧,已不能满足Linux以及开源技术迅速发展的需求,抱着对读者和本书负责的心态,我决定修订此书linux deepin,因而也就有了这本《循序渐进Linux(第2版)——基础知识、服务器搭建、系统管理、性能调优、虚拟化与集群应用》这本新书。
明天不讲深入的东西,只想将自己多年来学习Linux的心得与体会与你们一起分享下,希望能给爱好Linux的同事们或则Linux的同行们一点意见和建议,一点经验心得与你们自勉!
一、Linux在各领域发展的现况与趋势
好多菜鸟都有一个很困惑的问题:“Linux我听过,并且学习linux系统,能在里面干哪些呢,或则说linux系统具体能做哪些”,带着这个疑惑,在本书的开篇,我们先来了解下Linux与开源软件的关系以及Linux的应用领域和未来的发展趋势。
1.1Linux与开源软件
Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯•托瓦兹在1991年首次发布,然后,在加上用户空间的应用程序以后,就成为了Linux操作系统。
严格来讲,Linux只是操作系统内核本身,但一般采用“Linux内核”来抒发该意思。而Linux则常拿来指基于Linux内核的完整操作系统,它包括GUI组件和许多其他实用工具。
GNU通用公共许可合同(GNUGeneralPublicLicense,简称GNUGPL或GPL),是一个广泛被使用的自由软件许可合同条款。
最初由理查德•斯托曼为GNU计划而撰写,GPL给与了计算机程序自由软件的定义,任何基于GPL软件开发衍生的产品在发布时必须采用GPL许可证形式,且必须公开源代码。
Linux是自由软件和开放源代码软件发展中最知名的反例。只要遵守GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地更改和再发布。
随着Linux操作系统急速发展,各类集成在Linux上的开源软件和实用工具也得到了应用和普及,为此,Linux也成为了开源软件的代名词。
1.2Linux在服务器领域的发展
随着开源软件在世界范围内影响力日渐提高,Linux服务器操作系统在整个服务器操作系统市场格局中抢占了越来越多的市场份额,早已产生了大规模市场应用的局面。而且保持着快速的下降率。尤其在政府、金融、农业、交通、电信等国家关键领域。
据悉,考虑到Linux的快速成长性以及国家相关新政的扶植力度,Linux服务器产品一定就能冲击更大的服务器市场。
据权威部门统计,目前Linux在服务器领域早已抢占75%的市场份额,同时,Linux在服务器市场的迅速崛起,早已造成全球IT产业的高度关注,并以强劲的势头成为服务器操作系统领域中的中坚力量。
1.3Linux在桌面领域的发展
近些年来,非常在国外市场,Linux桌面操作系统的发展趋势十分迅猛。国外如中标麒麟Linux、红旗Linux、深度Linux等系统软件厂商都推出的Linux桌面操作系统,目前早已在政府、企业、OEM等领域得到了广泛应用。
另外SUSE、Ubuntu也陆续推出了基于Linux的桌面系统,非常是UbuntuLinux,早已积累了大量社区用户。
然而,从系统的整体功能、性能来看,Linux桌面系统与Windows系列相比还有一定的差别,主要表现在系统易用性、系统管理、软硬件兼容性、软件的丰富程度等方面。
1.4Linux在联通嵌入式领域的发展
Linux的低成本、强大的订制功能以及良好的移植性能,致使Linux在嵌入式系统方面也得到广泛应用,目前Linux以广泛应用于手机、平板笔记本、路由器、电视和电子游戏机等领域。
在联通设备上广泛使用的Android操作系统就是创建在Linux内核之上的。目前,Android已然成为全球最流行的智能手机操作系统,据2015年权威部门最新统计,Android操作系统的全球市场份额已达84.6%。
据悉,思科在网路防火墙和路由器也使用了订制的Linux,阿里云也开发了一套基于Linux的操作系统“YunOS”,可用于智能手机、平板笔记本和网路电视;
常见的数字视频录象机、舞台灯光控制系统等都在逐步采用订制版本的Linux来实现,而这一切均归功与Linux与开源的力量。
1.5Linux在云估算/大数据领域的发展
互联网产业的迅猛发展,使得云估算、大数据产业的产生并快速发展,云估算、大数据作为一个基于开源软件的平台,Linux抢占了核心优势;
据Linux基金会的研究,86%的企业早已使用Linux操作系统进行云估算、大数据平台的建立,目前,Linux已开始代替Unix成为最受追捧的云估算、大数据平台操作系统。
二、选择适宜自己的Linux发行版
提到Linux的发行版本,太多了,可能谁也不能给出一个确切的数字,并且有一点是可以肯定的,Linux正在显得越来越流行。
面对如此多的Linux发行版,准备从其他系统转入Linux系统来的初学者可能会倍感困扰,虽然是忠实的Linux用户也没有时间和精力去逐个尝试,因而初学者在学习Linux之前,须要有一个明晰的方向,选择一个适宜自己的Linux系统至关重要。下边我们就分类介绍。
2.1常见的Linux发行版
1.RedHatLinux
RedHatLinux是RedHat最早发行的个人版本的Linux,其1.0版本于1994年11月3日发行。
尽管其历史不及其他Linux发行版本悠久,但比起好多的Linux发行套件,RedHat的历史要悠久得多。
自从RedHat9.0版本发布后,RedHat公司就不再开发桌面版的Linux发行套件,RedHatLinux停止了开发,而将全部力量集中在服务器版的开发上,也就是RedHatEnterpriseLinux版。
2004年4月30日,RedHat公司即将停止对RedHat9.0版本的增援,标志着RedHatLinux的即将完结。原先的桌面版RedHatLinux发行套件则与来自开源社区的Fedora进行合并,成为FedoraCore发行版本。
目前RedHat分为两个系列:由RedHat公司提供收费技术支持和更新的RedHatEnterpriseLinux,以及由社区开发的免费的FedoraCore。
2.FedoraCore
FedoraCore(简写为FC)被RedHat公司定位为新技术的测试平台,许多新的技术就会在FC中检验。假如稳定的话RedHat公司则会考虑加入到RedHatEnterpriseLinux中。
FedoraCore1发布于2003年年底,而FC的定位便是桌面用户。FC提供了最新的软件包,同时它的版本更新周期也十分短,仅有6个月。因为版本更新频繁,性能和稳定性得不到保证,为此通常在服务器上不推荐采用FedoraCore。
Fedora对于用户而言,是一套功能完备、更新迅速的免费操作系统,因而,个人领域的应用,比如开发、体验新功能等可选择此发行版本。
3.RedHatEnterpriseLinux
RedHatEnterpriseLinux(简写为RHEL,RedHat的企业版Linux)。RedHat现今主要做服务器版的Linux开发,在版本上重视了性能和稳定性,以及对硬件的支持。因为企业版操作系统的开发周期较长,重视性能、稳定性和服务端软件支持,为此版本更新相对较平缓。
RHEL的版本都是基于Fedora。大概每六个版本的Fedora会有一个新版本的RHEL发布,为此,RHEL大概3年发布一个新版本。其最新版本是2015年3月6日发布的RHEL7.1。本书就是借此版本展开述说的。
4.Centos
CentOS全名为“社区企业操作系统”(CommunityEnterpriseOperatingSystem)。它是来自于RHEL根据开放源代码规定发布的源代码所编译而成,因为RHEL是商业产品,因而必须将所有RedHat的Logo标示改成自己的CentOS标示,这就形成了CentOS操作系统,二者的不同在于,CentOS并不包含封闭源代码软件。
为此,CentOS不但可以自由使用,并且能够享受CentOS提供的免费常年升级和更新服务。这是CentOS的一个很大优势。
CentOS采取从RHEL的源代码包来建立,它的版本号有两个部份:一个主要版本和一个次要版本红旗linux,主要和次要版本号分别对应于RHEL的主要版本与更新包。
比如CentOS6.5建立在RHEL6.0更新的第5版。
并且从RHEL7.0版本之后,CentOS版本命名格式又稍有变化:主要版本一直对应于RHEL的主要版本,次要版本以RHEL更新包发布日期为准,比如RHEL7.1对应的CentOS版本为CentOS7.1.1503,这表示RHEL7.1版本是2015年3月份发布的。
在2014年CentOS宣布与RedHat合作,但CentOS将会在新的委员会下继续运作,并不受RHEL的影响。这个策略表明CentOS后续发展将有RedHat作为强有力的支持。
5、SuSELinux
SUSE是美国最知名的Linux发行版,也享有很高的名声,不过命运相当崎岖;
2003年11月4日,Novell公司对外宣布将竞购SUSE。
2004年1月该竞购顺利完成,Novell同时将SUSE即将命名为SUSELinux。Novell公司竞购SUSE,加速了SUSELinux的发展,将免费SUSELinux改为openSUSE社区项目;
但在2010年,Attachmate公司竞购了Novell,在被竞购后,SUSELinux发展遇阻;
而就在3年后,SUSE再度易主,2014年9月Attachmate公司被上市公司MicroFocus竞购,但辛运的是:SUSE官方宣布开源作为SUSE的发展之本,仍将持续贡献开源,SUSE仍将竭力投入对openSUSE的支持。
尽管SUSE多次易主,但并不影响它的专业性,据不完全统计,SUSELinux现今法国Linux市场占有将近80%的份额,大部份关键性应用都是构建在SUSELinux下的。
而因为SUSE多次易主,再加上SUSE在中国的营销模式问题,现今SUSE在中国的Linux市场份额并不大,而且这种并不影响SUSELinux高可靠性与稳定性的事实。随着SUSE的发展,相信SUSELinux在中国的应用会越来越多。
6、UbuntuLinux
Ubuntu(英文译音为友帮拓、优般图、乌班图)是一个以桌面应用为主的Linux操作系统,基于DebianGNU/Linux,Ubuntu的目标在于为通常用户提供一个最新的、同时又相当稳定的主要由自由软件重构而成的操作系统。Ubuntu具有庞大的社区力量,用户可以便捷地从社区获得帮助。
7、发行版总结
里面主要介绍了几种最常见的Linux发行版本,虽然Linux的发行版本还有好多,比较常见的还有DebianGNU/Linux、Mandriva、Gentoo、Slackware、Knoppix、MEPIS和Xandros,以及国产的红旗Redflag、深度deepinLinux和中标麒麟Linux等,这儿不再一一介绍。
虽然综观Linux的各个发行版,Linux发行版本无非是朝着这两个方面而至,一是服务器市场,二是桌面市场。
以UbuntuLinux为代表的Linux发行版走的是桌面市场路线,即使它们给用户带来好多惊喜,更新也很快,而且因为桌面市场有着Windows这样强劲的对手,因而Linux桌面发展不容豁达,目前UbuntuLinux也开始向企业级服务器市场加码。
以RedHat系列版本为代表的Linux发行版现今主要面向企业级Linux的服务器市场,重点开发Linux的企业版本,其他的(比如国产Redflag、中标麒麟Linux等)都重点投入在了Linux服务器市场。
Linux两大发布厂商如今都走了Linux服务器市场的路线,可见Linux作为企业级服务器有着巨大的发展前途。据权威部门统计,Linux在服务器市场的占有率每年都在持续上升。
虽然好多Linux的应用都是针对Linux服务器的,本书的述说也是主要针对Linux在服务器下的各类应用展开的。
2.2初学者入门首选——Centos系列
在了解了Linux几个主要发行版本后,我们就找到了为什么选择CentOS作为初学者入门学习的理由了。
CentOS如今拥有庞大的网路用户群体,网路Linux资源基本80%都是基于CentOS发行版的,假如在学习过程中遇见任何问题,在网路中可以较容易地搜索到解决方案。
CentOS系列版本可以轻松获得。可以从CentOS官网或则163开源、sohu开源、阿里云开源站下载CentOS各个版本的安装介质,倘若是第一次接触Linux,这么建议先安装FedoraCore。FedoraCore的安装简单,对硬件支持挺好,界面也很华丽,同时也可以体验Linux的最新功能。假如对Linux有一定的了解,须要深入学习,建议使用CentOS发行版系统。
CentOS应用范围广,具有典型性和代表性,如今基本所有的互联网公司后台服务器都采用CentOS作为操作系统,可以说学会了CentOS,不但能迅速融入企业的工作环境,就能触类旁通,其它类似的Linux发行版也能很快把握。
同时,现今周围学习Linux的用户通常也都是以CentOS为主的,这样交流便捷,学习中出现问题,更容易得到解决。最主要的是CentOS的安装和使用上也是最简单的,因而基本上不会在“装系统”上浪费过多时间。
2.3桌面平台首选——UbuntuLinux
说到Linux桌面市场,UbuntuLinux几乎抢占了桌面Linux的半壁江山,UbuntuLinux主打Linux桌面之最,界面美观,简约而不失华丽,假如想在Linux下进行娱乐休闲,UbuntuLinux绝对是首选。
Ubuntu的安装特别人性化,只需根据提示一步一步进行。Ubuntu被誉为对硬件支持最好最全面的Linux发行版之一,许多在其他发行版上难以使用的,或则在默认配置时难以使用的硬件,在Ubuntu上都能轻松安装使用。因而用户可以像安装Windows一样轻松地安装Ubuntu,恣意体验UbuntuLinux带来的乐趣。
2.4企业级应用首选——RHEL/Centos系列
企业级的应用追求的是可靠性和稳定性,这就要求建立企业级应用的系统平台具有高可靠性和高稳定性。企业级Linux的发行版本就是解决的这个问题。
RHEL与Centos两个Linux发觉版本,并没有太大差异,所不同的是RHEL属于商业Linux发行版本,假如要使用RHEL版本,则须要订购商业授权和咨询服务,RedHat提供系统的技术支持并提供系统的免费升级。
目前RedHat官网早已不再提供可免费下载的光碟介质,假如须要试用,可通过官网下载有试用时间的评估版Linux。
而CentOS属于非商业发行版,可以从网上免费下载CentOS各个版本的安装介质,但CentOS并不提供商业支持,其实使用者也不用负上任何商业责任。
这么,究竟是选择CentOS还是RHEL呢,这取决于你所在公司是否拥有相应的技术力量,倘若是单纯的业务型企业,这么建议购买RHEL发行版并订购相应服务,这样可以节约企业的IT管理费用red hat linux 9.0中如何下载安装软件,并可得到专业的技术支持服务。相反,假如企业技术力量比较强悍,而且有多年Linux使用经验的话,这么CentOS发行版将是最好的选择。
三、养成良好的Linux操作习惯
开始Linux的学习以后,请不要用Windows的工作方法来思索问题,由于它们之间确实有很大的不同,例如它们之间的显存管理机制、进程运行机制等都有很大不同,因而摒弃Windows的那个思维,用全新的理念尝试去挖掘Linux脸上特有的潜质,对初学者是至关重要的。
3.1一定要习惯命令行形式
Linux是由命令行组成的操作系统,真谛在命令行,无论图形界面发展到哪些水平,命令行形式的操作永远是不会变的。Linux命令有许多强悍的功能:从简单的c盘操作、文件存取,到进行复杂的多媒体图象和流媒体文件的制做,都离不开命令行。其实Linux也有桌面系统,并且X-window也只是运行在命令行模式下的一个应用程序。
因而,可以说命令是学习Linux系统的基础,在很大程度上学习Linux就是学习命令,好多Linux大神虽然都是爱玩命令很熟练的人。
其实对于刚才从Windows系统步入Linux学习的初学者来说,立即步入无趣的命令学习实在太难,而且一旦学会就爱不释手。由于它的功能实在太强悍了。
3.2理论结合实践
有好多初学者就会碰到如此一个问题,自己对系统的每位命令都很熟悉,而且在系统出现故障的时侯,就无从下手了,甚至不晓得在哪些时侯用哪些命令去检测系统,这是好多Linux菜鸟最无奈的事情了。说究竟,就是学习的理论知识没有挺好地与系统实际操作相结合。
好多Linux知识,比如每位命令的参数含意,在书本上说得很清楚,看上去也很容易理解,而且一旦组合上去使用,却并不这么容易,没有多次的动手练习,其中的方法是难以完全把握的。
人类脑部不像计算机的硬碟,除非硬碟坏掉或则硬碟被低格,否则存储的资料将永远记忆在硬碟中,并且时刻可以调用。而在人类记忆的曲线中,必需要不断地重复练习才能将一件事情记得比较牢。
学习Linux也一样,倘若未能坚持学习的话,还会学了前面的,忘掉了上面的。还有些Linux初学者也学了好多Linux知识,而且因为常年不用,造成学过的东西在很短的时间内又忘掉了,久而久之,丧失了学习的信心。
可见,要培养自己的实战技能,只有勤勉动手,肯于实践,这也是学好Linux的根本。
3.3学会使用Linux联机帮助
各个Linux的发行版本的技术支持时间都较短red hat linux 9.0中如何下载安装软件,这对于Linux初学者来说常常是不够的,虽然当安装了完整的Linux系统后其中早已包含了一个强悍的帮助,只是可能你还没有发觉它,或则还没有把握使用它的方法。比如,对于tar命令的使用不是很熟悉,这么只要在命令行输入“mantar”,都会得到tar的详尽说明和用法。
主流的Linux发行版都自带了十分详尽的帮助文档,包括使用说明和FAQ,从系统的安装到系统的维护,再到系统安全,针对不同层次用户的详细文档。仔细阅读文档后,60%的问题都可在这儿得到解决。
3.4学会独立思索问题,独立解决问题
遇见问题,首先想到的应当是怎么自己去解决这个问题,解决方法有好多,例如看书查资料、网络搜索引擎搜索和浏览技术峰会等,通过这几种方法,90%的问题都能得到解决
独立思索并解决问题,不但锻练了自己独立解决问题的能力,在技术上也能得到快速增强。假如通过以上方法实在解决不了的话,可以向人寻问,得到答案后要思索为什么如此做,之后做笔记记录解决过程。
最忌讳的方法是只要碰到问题,就去问人,尽管这样可能会很快解决问题,而且长久下去碰到问题才会依赖他人,技术上也不会进步。
3.5学习专业外语
假如想深入学习Linux,一定要尝试去看中文文档。由于,技术性的东西写的最好的,最全面的文档都是英文写的,最先发布的高新技术也都是用法语写的。
虽然是非德语国家的人发布技术文档,也都首先翻译成英文在国际学术刊物和网路上发表。安装一个新的软件时先看Readme文档,再看Install文档,之后看FAQ文档,最后才动手安装,这样碰到问题就晓得缘由了。为此,学习一点专业的英文是很有必要的。
四、Linux学习路线图
Linux运维或管理人才是企业目前急需的技术人才之一,笔者按照10多年Linux相关工作经验,总结出了一套学习Linux的线路图,你们可以此线路图为根据,捉住重点,分清主次,相信一定能达到事半功倍的疗效。
假如读者能认真学习完并把握本线路图所涉及的技术要点,这么也就基本把握了企业对Linux运维或管理人才的基本应用需求。
Linux学习线路图如右图所示,本线路图分为中级、中级和中级三个阶段:
中级阶段主要是对Linux基础知识以及系统基本应用的介绍,要把握的内容较多,假如初次接触Linux,这么入门还是有一定难度的,Linux重视的是命令操作,因而中级阶段以学习基础命令为主,多看书、多实践是学好命令的根本;
高级阶段以服务器常见配置为主,涉及各类应用服务器的配置、网络配置、系统安全配置等几个方面。此阶段的难点在于各类服务器的搭建,对综合知识要求较高;
中级阶段的重点是编程语言、集群构架两个方面,此阶段的发展方向是中级运维工程师或系统构架师,要成为系统构架师,熟练把握一门编程语言是必须的,而Linux下常见的各类集群构架、分布式构架也是中级运维工程师必需要把握的。
文章地址: