00:00
大家好。欢迎大家继续收看上硅谷的云计算课程,我是沈超老师。这节课呢,我们来开始学习Linux下的软件包安装的方法。软件包安装。那么呃,这个时候呢,我们来看看Linux下的软件,那么。薛之谦啊。我们先要明确一件事情。什么?Windows下和Linux当中,软件是不是可以通用Windows和Linux?其实这个我们在前面讲这个叫这个这个初学者建议的时候就已经说过了,Windows和Linux当中的软件是不通用的。Windows下是经过编辑之后的点E程序,或者是点MSI程序。这样两种程序,那么这两种程序对Linux来讲是根本不认识的,我们Linux根本就不知道你在说什么,所以这些程序是不能直接在linus当中安装了。而我们linus下的程序呢,我们主要是两种程序,源码包和二进制包,它也没有办法在Windows下直接使用,当然虚拟机时这个这个除外,换句话说,Windows也可以装模拟器,虚拟机来这个模拟linus linus也可以装模拟器模拟Windows,但是那不是。
01:14
Linux本身就支持这个软件,而是模拟器的,OK,所以说我们认为软件是不通用的。所以你所有的软件都需要针对Windows重新开发和重新下载,这样做有趣,有优点,有它的大量的病毒和木马,就Windows下这种程序这些这些感染,它是无法感染linus,所以前段时间那个勒索病毒,那个是针对Windows开发的那个东西,根本从理论上来说,它只要没有针对Linux的变种,它就根本就不可能感染你的手机和你的Linux系统,因为手机是安卓和iOS嘛,对吧。那有缺点吗?有所有的软件都需要单独开发,这样做的话。有一些个人用的软件,个人用的软件,比如说游戏啊。
02:01
娱乐类的呀,办公类的软件,Linux上确实没有Windows这么多,也没那么好用,但是呢,在服务器端的软件来讲,Linus这个数量和质量都要更占优势。好,先明确第一件事啊,那其次我们来看看软件包的分类。各位。我明确的告诉你们,Linux只有两种软件包。听清楚,一种叫源码包,另外一种叫二进制包。那我们来分别看看什么是源码包,什么是二进制包,什么叫源码包?各位,我们一直前面在讲Linux的一个根本的特征是不是就是开源?对吧?导致Linux之所以飞速发展的根本原因就是开源。没错吧。那么。所谓的源码包就是它是开放的源程序,直接给你,作者写的时候是什么样,写完就直接给你,比如说我这里有下载好的元宝包。
03:04
我们找一下。我这里有一些下载好的原程序报,我随便解出来一个,比如说这个阿帕奇各位。我随便解出来解压缩一个,那么解压之后我们看一下。好,稍等稍等,这个阿帕奇有个有个一二百兆稍微大一点啊,这好。那我们就可以看到你拿到的包,就是这样,你会发现,如果按照Windows Windows的习惯,我会尝试在里面去找这个什么,这个这个点E程序,你会发现你找不着。所所以很多学员就懵逼了,这咋装啊,各位别着急啊,我们就要学习,那这里面所谓的原码包,你们随便找点目录,你们会发现打开看点C结尾,如果我们用我用这个写字板打开。如果我们学过C语言,各位你就应该知道点C结尾是标准的C语言源程序,那这个就是源码包,哎,你会发现什么?哎,这个只是这是一个总总括的东西啊,所以好像内容很少。
04:15
这里面好像少,那我们随便再换一个。好像也不多啊,但是我就说作者怎么写的,他就会怎么给你,这就叫开源。所以这种包叫源码包,各位这种包好吗?哎,就算我看不懂,因为我是搞运维的,虽然C我学过,但是十来年前学的很,一点都想不起来了,但是呢,我也觉得很爽,为啥代表了,首先它不藏私,第二呢,这个东西呢,它会干嘛有助于你的学习,比如说我写程序写到一定的地步,我可能想要其身,这个时候看这些顶级工程师写的代码,一定会对我有帮助。第三呢,他如果我觉得哪些地方不满意,我是可以修改的,对吧,这都是允许的,所以各位。
05:05
Linux当中最早的程序就是这样的源码包。所以我们把这些程序叫做源码包程序,各位不光软件包是源码的Linux,包括Linux本身,Linux的内核自己都是开卷啊,整个LINU4下所有的内容都是开卷。好吧,挺好,没错那。我这里啊,哎,各位,咱们是录视频,是上课,所以我能给你找一个这个东西,让你看看小宝宝,那这个是啥,写书嘛,写书我不能说把人源码编一部分放到这,对吧,所以我写了个简单的hello,就是想告诉你这玩意儿是可以干嘛,直接正常使用吧,哎,这就是原程序好那源代码的优点。那我们说它的优点非常明确,第一个开源。那么开放源代码你呢,如果有能力是可以按照你的需求来改的,然后呢,有利于学习,有利于推广,对吧。
06:06
第二个。它可以自由选择你需要的功能。各位。源码包本身它能支持的功能选项就比较就比多,就比二进制包就比经过编译的这种程序较多,那其次呢,如果你觉得他给你提供的这个功能你不满意。也是他因为他是开源的嘛,你所以是你完全可以按照你的需求,你的习惯自己来干嘛,更改还是可以自己修改,所以他可以支持更多的功能选项,第三呢。源码包是边缘状。我们现在解释一下什么叫边。什么叫编辑?我们学过了。我们原程序写的是不是都是abcd,是一门计算机认识吗?各位,我们应该有这样的概念啊,计算机只认识只认识零一零一二进制。他只认识这个东西。
07:01
因为计算机是建立在二进制,二进制之上,对吧,那这个时候我们就需要什么,把ABC翻译成二进制,计算机是不是才能识别,那所谓的编译你就可以理解为把你写的原程序翻译成机器语言,计算机才能识别。各位。正常情况下,比如说我们的命令,我们在这里执行的命令行,你看我们是不是也需要利用事把它翻译成ABC的计算机,不是把它翻译成0101,机器语言计算机是不是才能认识,然后是不是才能执行,但是它执行的返回结果是不是应该也是0101,那它是不是还要把它再翻译成ABC,我是不是才能看得懂。那理论上从ABC翻译成0101。从0101翻译成ABC,这是无无障碍的,是可以来回翻译,计算机的运算速度非常快,这样的翻译对他来讲其实难度不大,而且这个占用的资源也很少。但是。软件编译和我们的命令这块有点区别了,它会干嘛?你能把它从abcd翻译成零一。
08:08
但是我无法把它反编译回abcd。这是为了防止这种比如说是窃取啊,或者这样的一些东西,所以在编辑过程当中其实是加了算法,也就是说你基本上可以认为。这东西编译是单向的,我能把它从源码翻译成临101,这是可以的,而反编译就是攻击手段了,这就是一种破解攻击手段了啊。有些学员说,老师我想写外挂,我靠,我不了,就说你他妈的这点出息,那如果要想学写外挂,首先要学的第一件事情就是翻篇,你才能找到他里面哪个地方有漏洞,才可以干嘛尝试加入联邦。OK,那我再说反编译是攻击啊,正常情况下是不应该支持反编译的,那换句话说,我们认为编译是单向的。它能把它从源码编译成临界定一,但是不能把它反翻译回来,OK,好,那各位我们写的程序是abcd啊,计算机不认识啊源码包,所以如果要安装源码包,第一个作用就是什么,要把它编译成机器语言,而。
09:11
我们Linux下的源码包,它是你自己的电脑编辑的。哎,软件是你自己的系统编辑的,所以它更加适合你的操作系统,理论上来说它的执行效率很高,这个啊,官方给过一个大概的估算,大概的估算说,如果使用纯源码包,要比使用同等版本同样性能的二星制包,它的效率要高五个百分点。有人说老师五个点好像也不高啊。五个点好像也不高啊,但是因为服务器。它会支持大量的用户访问,你想网站一个小时能支持一台服务器,能支持了20万的顶级访问量,顶级PV就能达到20万,那你想五个百分点不在少数,那如果是一个大齐群,那五个点可不在少数。所以。
10:05
我们认为啊,如果你真的是大的,是一个大型房子,访问用户比较多的情况下,推荐还是使用源码包了啊,它的效率更高。第二呢,最后一个呢,它的卸载方便。各位。我们前面一直在说Windows。它的C盘会随着使用的增,这个时间增长,C盘会越来越大,导致你的系统会越来越卡,导致你最后会忍受不了,必须要重装,对吧,而这个Linux呢,理论上来说。嗯。这个软件它是卸载起来不会有垃圾参与了,哎,Windows不是啊,Windows是你就算用那个什么添加卸载程序写,它依然还会留有参与,攒的越多,他的这个系统是不是就越卡。Linux理论上来说是你把这个软件完全卸载掉,而且它不需要你就单独的卸载这类,你要卸怎么办?直接把安装目录直接删了就行。
11:01
而且理论上删完之后基本上是没有参与的,不能说的太绝太绝对啊,偶尔还是会有一丁点,但是那个就影响很小,机几个字节,几个KB的文件在那几乎就没有,所以我们说这个我们认为也是Linux的一个优点,因为它会让Linux更稳定,现在起来没有垃圾残余,这个事也是很重要的。所以各位。源码包好吗?肯定好,各位。其实源码包最大的优势就是开源。这个东西Windows是不可比拟的,那Windows下的点是啥?各位,其实这个程序就是经过编辑之后的二进制程序。只不过Windows编译的格式是点ex的,而我们linus的二进制格式是点RM,但是其实理论上都是把它从源码包编译成点EE,换句话说。Windows下所有的软件。包括Windows本身都是不开源的,因为它都是这样的,你是根本不可能打开,它是查看到里面写的是什么,我前面说了。
12:07
软件的编译是单向的,对吧,你能把它从源码编译成二进制,但是反编译是做不到的。Linux没有这个文件,Linux是一开始给你的,就是开源好,所以我说优点很明显。但是有缺点吗?各位。缺点,源码包的缺点也同样明显,第一个缺点,其实最主要的缺点在这儿,还是应该是这个还是这个什么。编译安装的时候,它是这个容易报错。哎,你想给你的是这种纯源码对吧?啊,给你的是这玩意儿,它粘桩的时候难保干嘛,比如说你复制的时候漏了的就丢了点包。然后呢,装的时候你的系统当中少少了一些他必备的库,都会导致这个东西干嘛出现问题。那这种情况下,我说各位。
13:02
一旦呢,报错。首先他安装步骤可能比较多,所以容易报错,其次呢,一旦报错新手很难解决。什么意思,我问你啊。你虽然没有写过程序,但是你想象一下,如果我们在安装某一个程序的时候,你发现这个程序报错了,怎么解决?哎,你想想。你自己写的程序如果报错了,那一定是不是你写的当中是不是其中是不是有一部分的内容出现了问题,那怎么解决,我是不是就要修改这个原程序,然后是不是才能去解决这个报错。没什么,那现在问题来了,阿帕奇,是你写的吗?啊。阿帕,其实是我写的吗?那理论上来说,他报错是不是就应该是需要要修改代码了。那。绝大多数用户是不具备修改这个代码的能力,所以我我说一旦报错。新手很难解决报错怎么办?各位解决方法一般是。
14:04
百度。然后呢,去找其他人有没有碰到过类似的解决办法,如果有你就试试,哎,各位,他的这个方法有时候还不一定适合你,你搜了之后发现有可能还找不着,就是找不到百度找不着,那么推荐尝试谷歌,各位,呃,咱们不是黑百度啊,百度的算法确实是参参考了太多的商业因素,以至于他的命中率确实很差,你会发现你要尤其是我们的专业技术问题。想要通过百度找到解决方法,其实效率很低,而且搜索出来大多数内容都是重建的,所以呃,我们这种,呃,咱们国家现在是禁止谷歌对吧?但是有好消息说是谷歌可能要重返中国,有这个可能啊,但是我们说谷歌在搜专业问题上的命中率是要比百度高得多,尝试一下。那如果谷歌和百度都找不着。这就麻烦了。这个事儿,要不然你就给官方。
15:03
发邮件问这事怎么办。如果官方这个。啊,心情好,保不齐在下次更新的时候能给你什么修复这个错,要不然你就换一个版本啊,这事就很讨厌,所以他一旦报错解决起来很讨厌。OK,这是它的区别,因为它是纯源码给你的吧,报错的几率就要比经过二进制编译的要大得多。第二个缺点就是时间,各位编译,因为我们写的东西是量比较大,而且比较复杂的。所以。编译是需要浪费大量的时间的,所以它的安装是要比二进制软件包多的,这个时间多得多。举个例子。QQ都装过吧。Windows下的是不是叫exe程序啊,我说了它是不就是二进制包,经过编辑之后吧,你就装一遍QQ需要多长时间,哎,各位当前版本的QQ大概100兆左右大概啊。
16:03
100兆左右。那这个时候装一遍需要多长时间,各位装一遍的速度取决于你按下一步的速度。你按的越快,它装的就越快,一两分钟咱们的电脑绝对能装上,这就装机的100兆。而我们如果装其他的,比如说我们这里啊,阿帕奇其实没有多大,所以可能不一定能赶到奶色口,我这里好像没有下面斯口啊,这有。那这个我这里有啊,啊,这后边我会给大家都提供啊这些软件,那如果去装MYSQL的话,MYSQL啊这这个版本是比较低的,这是一个非常古老的版本了,我们现在都是4.5以上的啊。啊,5.5以上这84随便啊看一下就行,买搜狗我们现在的版本呢,大概是二百二百八十兆左右。280兆力压缩包23兆,解压缩之后二百七八十兆左右,那么其实跟QQ的大小几乎是类似的,几乎是类似的,但是买SQL需要多长时间安装一遍?
17:06
你猜?各位。大概在我们的当然是根据你的电脑性能不同而不一样,如果性能越好肯定越快,那如果是在虚拟机,在我们学校标配的虚拟机当中,大概需要30钟一个200兆左右的。程序安装就需要30分钟,那各位我问你如果是Linux用纯家宝包安装,我说了Linux本身是不是也是开源的。你猜它需要多长时间?各位,我们现在还有用纯源码包安装的例吗?有啊,来我们看一下。还有啊,我们前面在讲这简介的时候。我们是不是讲了各种Linux发行版本对吧。那其中各位这个版本叫做真兔,这是red he系列啊,Red he系列里的这个版本叫做真兔,我就给学员说这个东西就是叫真的好想吐。
18:00
为啥他现在这是我们著名发行版本当中唯一一个还在使用纯源码包安装的Linux,哎,我在说Linux发行版有成千上万的,我们就说的是著名的,你自己开发的这个不算啊,著名的就当中,那他需要多长时间,各位。你可以放心大胆的猜。当然。需要多长时间,取决于你安装的这个程序的多少,装的程序越多时间就越长,当然也取决于你电脑性能,对吧。我最后一次装这个东西大概时间很早了,大概五六年前了,12年13年的时候我装过一次,其实我就装过那一次,装完之后我就够够我大概用多长时间。就大概用了一个月左右的时间,有人崩溃了,说正常时间,哎,不是说安装需要一个月,而是啥。安的时候会报错这个东西。报错了是不是就得重来,但是这哥们讨厌再哪,他不像red he或者3S,它给你提供一个下载的光盘,你可以光盘下回来本地直接装它,不是,它装的时候是需要连接到它的远程服务器上。
19:08
软件都需要从他那下,那也就是说如果安装报错这事又得重连,而他的服务器就在国外,你想五六年前我们带宽速度其实很低了,而且跟国外连接又更难,所以这个下载就是要了亲进了,所以断断续续装了一个月,我就说这辈子装完我都不想再装第二回。那如果不考虑这种时间,也就是说我一次能安装成功,也不考虑网速的情况下,安装一个零四。正常用版本这样一个连接四大概也需要三天的时间。大概是这样。各位同学们听到这个都崩溃了,这个时间大多数学员都是我说。纯元码包是好。是好。但是各位这两个这个原因就是缺点,一个安装时间长,一个安装容易报错,我问你,如果你是初学者。
20:00
你会不会直接放弃他?哎,我刚开始学,我连LS命令我都不知道,我总要有一个练习的,零杰斯瓦总哪有吧?结果呢,我靠,我一看零近斯这是这样的,妈的,一个月都装不上,好了,我问,你放心吧。放弃了吧。所以。纯元马包是好,优点很多,但是这东西阻碍了linus的普及教育,这东西你不能总给,就给你几个这个老家伙用吧,总得有新的血液住进来吧。所以原来太太也说。纯釉纯源码包是不行的,所以我们目前我们linus也出现了二进制包。各位。我前面说过了,所谓的二进制包就是源码包,经过编译之后是不是生成的这个二进制执行程序就是临业意。这个是不是就只有计算机能认识了?啊,只有计算机人是不是就不认识了?我们的点ED程序,Windows下就是二进制包,而我们linus当中也有二进制包,也有。
21:08
只是。两种二型制包不通用,我们Linux的二进制包是叫RPM的。我再说,就算都是二进制包,它们之间也互相不能通用,OK,那好。各位,前面由于源码包的这些缺点,所以导致被迫我们要开发二进制包。哎,你回想一下,你前面装了用了多长时间,用了三天吗?是不是就跟Windows差不多,20分钟左右是不是就搞定了?原因你安装的其实不是源码包的零,而是二进制包。各位,它的安装速度就和我们今天的这个Windows下的程序就没有什么太大区别了。Windows装个QQ100兆一两分钟,那S当中如果装个一两百兆的这种二星制报也是一两分钟就能搞定,速度很快。但是。
22:02
这个东西就已经不再开源了。你就不能再看到它的源代码了。OK,那各位Linux有这两种软件包,那我们来看看二进制包的特点,首先我们来看看二进制包的分类。各位。我们前面讲过,Linus的发行版是两个系列。一个是。一个是代表。一个是不是代理两个系列对吧,那各位这两个系列最主要的区别就是它的二进制包管理系统不一样。Din系列当中包括DIN5端图这样的东西,它使用的二进制包叫做DPKG包。这个名字比较别扭啊,所以我们一般还是习惯把它叫做低,低保,就单的简写,一般都还是习惯叫低保。而red系列当中,那也就是说我们的red hat呀,三特S呀,什么这些什么刚刚的真兔啊,包括红旗啊,我们用的都是这个RPMRPM。
23:06
这两个包系统是不通用的,这是red和daddy最大的区别。那我们学的是red,所以我们是学习R片包,OK,那有人说老师我万一工作中用到五班untu怎么办?各位不用担心啊,Red hat系列的包和这个de系列的包,也就是R全包和GB包呢,它是安装命令,包括这个东西都是一一对应的,也就是说red hat里边有安装。这边也对应有安装命令,有卸载,这边也对应卸载命令,有查询,有有查询,这边也会有对应的,有在线自动安装。这边是亚,这边叫APC盖是一样的。它的利率都是一对一的,那换句话说,我学会了原来汉的系列。我以后万一用了带病系列,我百度搜一下我能看懂吗。各位几乎就没有难度了,所以不用太担心啊,它差别其实两套系统最大的区别就是这两个软件包,其他的几乎都是一样的,OK,内核只要一致,其实区别很小。好,那我们看看二进二片包的优点。
24:15
首先,安装简单。安装简单几个命令就能实现,而且不再会报错,哎,各位报错就很少原因。厂商已经把源码事先编辑过了,所以他报错的几率就很小很小,几乎可以认为不再报错。第二个呢,安装速度。就基本上和我们Windows下的这种纯源码包啊,不是Windows下的这个点EE程序安装速度就类似了啊,但是缺点也很明显,第一个不能再看到人马。哎,各位这个事儿就是经过编辑了,我们说了编辑是单向的,对吧,你想再回去再看不行了,这第二个呢。
25:00
功能选择不如源码包灵活,也就是说它可选功能变少了。其次,源码包是你可以自己改代码的,这个你也不要想了。啊,还有一个叫依赖性,依赖性我们下一节课单独讲这个东西,需要说的东西比较多,好那各位。讲了源码包和二进制包的优缺点。对吧,那我们说举个例子,你可以把源码包理解成什么。我要买一套家具,或者做一套家具。那现在的家具呢,什么甲醛呀之类的东西是不是都很多,我不放心怎么办?源码包就是啥。我自己上山去,先种树。我自己做木工,做设计师,做这个各种东西,家具都由我来做,优点开源,所有的源代码,源程序我都知道,然后呢选择多,哎,我想要设计成什么样都可以,第二第三个我自己设计的,然后呢,它更适合我的家的风格,它的效率更高,有点。
26:01
缺点呢,各位同样你想啊,第一是不是时间长。第二呢,各位。一旦报错,各位,现在我们的源码包还真不是说是你自己写的。换句话说,家具还真不是你自己种树,自己做设计师,你是啥?你是从网上买来的这种分散的板材,人家给你那个说明书,你照着拼,哎,这是也一样,我们买的源码包是不是人家都写好了,我拿了照着说明书是不是开始往上装?那不报错则已。报了错,你解决的了吗?哎,如果你要是木工稍微有点小问题的时候,自己修改一下很容易。那如果这程序是你自己写的,有点小报错,是不是随便就改了?关键问题,这不行啊,所以一旦报错就很难解决。那。如果是二进制包。就相当于我要做家具。各位,那我怎么办?我直接去加居成本,优点是不快,简单搬过来是不是能用,缺点呢?不,不再开源吧,其次是不是效率更低一点,然后可选的内容是不是要更少?
27:09
没错吧,各位基本上可以这个证明,这两个包有什么区别啊,有什么样的区别,小心。我写了个小字,打了个括号,我提醒你,这个东西我们后面会讲,但是这不是单独的软件包类型,我再说一遍。Windows当中只有两种包,源码包和二进制包,别搞错了啊,千万别说错啊,各位好。那现在的问题就是,我是不是所有的东西都会有源码包,既有源码包又有二进制包,对吧?那我应该装哪一个呢?软件包选择。也就是说我的阿帕奇既有源码包版本,是不是也有RP包版本,我应该选哪个?各位给个建议啊,这是建议。建议的意思就是不是绝对的OK。
28:04
那什么情况下用源码包。如果服务。如果你安装了这个软件或者服务,是给大量客户端提供访问的。提供访问等。建议使用源码包原液源码包。效率更高。从这个点出发。那也就是说,比如说我们搭建网站,搭建lamp环境就是网站嘛,这个是说过了linu买PP对吧,搭建一些访问量比较大的东西的时候,都建议用元马宝。而阿全包呢?二次包,如果这个程序或者服务程序吧,是给少量用户访问。少量诱惑访问,或者或者。
29:01
本地直接使用的,就是给我本机用的,本地使用,那么建议阿,因为。啊,全包。简单管理,方便答案。看到了,那也就是说这是建议,但是啊,我建议。像网页就是lamp环境这样的访问量极大的这种东西,都是建议源宝宝,所以啊各位后面我们会来详细学习lamp环境的搭建的啊,这个基本上是一个完整的能够这个适合企业级开发的这样一套环境。好。这节课的内容就是这样,这节课呢,我们学习了一下软件包的分类,主要讲了一下源码包和阿片包。分别的区,这个区这个区别和它的特点,然后呢,后面给了个建议,说什么情况下用源码包,什么情况下用R偏包,好这节课的内容就是这样,我们下节课再见。
我来说两句