00:00
呃,大,刚才呢,我们把这个EP元已经成功的下载了,大家看已经下完了,那下完以后呢,我们刚才是放在了这个EP1这个目录里,可以看一下这个目录有多大啊,8.7个G看到吗?那这样的话呢,我们这个目录呢,就可以来提供公司组织内部的1P源了。啊,当然我们这里面只是针对八做的一个一条啊。哎,他这好像又建了一个葫芦。又建了个子目录啊,所以我们将来要指的话,你得指这个目录啊,当然如果你不想要这个目录的话,你可以把这里面的文件夹给它拿出来啊,给它上放到上层目录啊,这样的话呢,进来。然后把这个目录呢,给它删了啊,把这个EP原这个目录给它删了啊,这样的话呢,我们现在去指定企业内部的样本源就可以这么指了,比方说我在18这个机上来修改一下咱们那个仓库的配置啊,那之前呢,指定的一票源是在阿里云,我现在就可以不用阿里云了,因为我们公司内部的源,那这个内部的源呢,咱们可以在这个地方来看。
01:29
这个。来大家看就这个路径,这个路径呢,我们直接复制贴过来就可以了。啊,这就是我们公司内部的源,那这个呢,我们先把它禁用,那我们来看一下,先清掉旧的缓存令哦。然后去看一下是不是出来一票元,看懂了那一票元里面的东西包对不对。
02:09
啊,大家看一瓢元是吧,这么多包,那我们随便利用一瓢原来装个包来看看行不行,比方说我们把上午装的那个什么牛是吧,牛说是吧,是这个吧。不带S的。哎,这不又可以了吗?啊,动物说。嗯。是这个吧。装了吗?装不说呀,怎么啊,还得还得跟一个东西是吧?啊对,还得跟个东西啊说东西你得说,哎这回好像这还有这个胖头鱼这个,那这说明我们的一票园可以工作了是不是,你看咱们这不是又自己搭建的企业内部的一票园吗?
03:11
是不是很简单,那至于速度七的音标员啊六,你都可以用同样的方法来实现,好呃,关于这个包的使用,咱们现在已经知道了,那接下来问题就是我们在互联网上看到的软件,不一定都是人家给你做好了二分包的。很可能官方也没有给你提供现成的安别包,而且呢,即使官方提供了,我们用官方提供的现成男别包,有的时候觉得不太适合。在一个软件里面,它提供了很多丰富的功能。官方提供的安排包。
04:01
他只是把一些觉得常用的功能特性帮你编译到R包里去了。那换句话说,我们从互联网上下载的R面包,只是人家认为你使用的一些常见特性。如果你在生产中有自己的需要。那么官方给你提供的安全包不一定适合。所以我们完全有必要自己编译安装属于公司企业内部使用的特有的这种软件。假设我们一个软件有十个特性。官方给你做好的包。有可能会觉得其中有八个特性,他觉得是比较常用的,另外两个特性用的不多,他干脆就没有编译进去,所以如果你想恰恰正好就需要这两个特性,那好吧,你只能自己编眼装了。
05:01
啊,所以这个编译安装还有一些特殊的好处,比方说R平包安装,它的安装路径能指定吗?那么R平安装也好,亚片安装也好,它这个装路径是不都默认的啊,放到哪些目录下,它是预先定义好的,这个东西你改不了,那么如果在生产中我们不希望把这些安装好的包生成的文件太零零零散,大家可能也发现目前我们装的软件是比较碎的啊,就是说你你比方说你看我们刚装了一个COC,你看他这个软件包生成的文件都放哪去了,是不是分散在磁盘的好多目录下都有。这样的话呢,管理起来就不像你自己编译安装,如果我自己编装完全,我可以不分散,我就放一个总目录里,那将来想删,那把这个目录咔一删就全没了。管理起来就比较哎方便,所以基于各种各样的旅游,我们是有必要自己编辑安装的。
06:06
当然我们也在这章讲课的时候,所以刚开始就描述了一个C文件,C源码要编译安装,这个过程好像是比较麻烦的。那再加上很多软件并不是一个C文件。啊,里面有更很多啊,上百上千,你像我们内核都看到上万了,上万的C文件,如果还是用咱们之前描述的那种方式,这个完全是不可以。不可以持续持续进行的呀,量太大了。那为了讲减少降低我们源码编译的难度。一般来讲,官方他会把源码提给你的,同时还会帮助你啊方便的编译安装,提供一些相关的文件,那么其中有些文件用起来,只要官方提供了,我们一执行还是非常方便来进行编译安装的,可以大大的降低编译安装的难度。
07:13
那么难度有多大?实际上最终也很简单,只需要三步就可以。啊,这三步就像大象放在冰箱里一样,是吧?三步开开门,冰箱开开门,然后塞进去,门一关,诶,完成了。所以我们在边缘中说起来高大上,实际上做起来很简单,就三步,哪三步呢?叫这三步叫康贝。Make make就完了啊,但是说是三步,但你得理解它的过程啊,那我们首先来看make,这个是个命令。这个命令呢,咱们系统中默认装没装好,我们看到我这是装了啊,但是你那不一定有啊,这个命令和命令,这个命令呢,我们看一下对持一下。
08:15
这个命令是个二进制工具,这个工具呢,它的功能就是来实现编译功能的,这个工具呢,它是一个功能强大的编译项目管理器,它会自动的。读取当前目录下一个叫make fair的文件。它会自动的读取makefi文件,这个makefi文件一定是在当前目录下。有这个文件,它就会自动读取这个文件,根据里面定义的编译方式以及你将来安装路径,它会自动的去进行编译。
09:07
当然,Make文件从哪来呢?Makefi文件通常我们也不会系统自身带有。因为。我们源码编译的。理由就是比较方便灵活。比方说我们要编译的时候选择哪些功能特性,我安装的时候呢,到底把它装在哪个目录下,这个呢,源码发布的时候是人家是不知道的。所以他不可能预先就写好一个固定的文件让你用。所以makefi文件默认是不存在的,一般不存在,那你需要通过一个工具制作makefi文件,而makefi文件里面就定义了安装的时候启用哪些特性,安装到哪个目录下,那这个文件怎么生成呢?我们也不需要手工生成。
10:03
通过con这个一个脚本,它可以自动的生成makefi文件,当然con这个脚本从哪来呢?诶不用担心,一般官方都会给你这个脚本,也很复杂啊,幸亏不用我们手写啊,官方都会给你的,给你源码的时候,他会把这个comp脚本给你,那这个compare脚本怎么用呢?诶你看看这个杠help就能看到了,杠help它就会列出它的一大堆帮助来,那其中它里面主要的就两类,一类呢就是你可以通过con后面跟一个选项来制定文件的安装路径,那这个安装路径主要指的就是,哎,比方说你总的指定安装的目录。啊,另外可能有一些文件我不想做,在统一的目录里,我想把它单独拿出来,比方说配置文件,我想放一个专门的目录,也可以单独指,比方说慢帮助放在目录里,二进制程序放在那个目录里,你单独都可以指。
11:09
啊,当然一般来讲我们不会那么太碎啊,太碎的话将来管理起来不好管理,所以一般来讲,我们有的时候甚至就指一个目路就行了,叫prefix prefix1指,那就是所有的文件全放在一个目录里,那这样带来的好处是不是想删的时候,把这目录一删是不是全没了?对吧,诶管理起来方便啊,另外就是我们想指定这个软件的特性,那么边安装它的好处就我们有些特性可以想用就加,不想用你可以不用,那不用的话带来的好处就是可以进一步的节约软件的大小,可以腾出空间来,因为你不用你给它编译不浪费吗。所以这时候呢,我们可以启用或者禁用某些特性,那启用呢,就是以内禁用就是disc知道吧,啊,当然具体的软件不同,它的特性肯定不一样,所以呢,到时候你跟你那什么什么,还是禁用什么什么,这就看软件了,不同的软件你去查帮助,帮助呢在康后面都能看得到,Help一看就能列出来。
12:15
你启用的特性你就加就行了。当然由于特性可能会非常多,所以我们将来在写这个命令的时候,可能这个命令就会比较长。啊,会比较长啊,大家还记得我好像曾经给大家说过,有些命令比较长,你看我这。把我的博客打开。啊,我这里面就有那个编译的那个例子。啊,你看这是一键编译安装,当然这个编译可能不太复杂啊,打开看一眼。
13:09
这就是一件变颜装的。啊,你看这里面编译安装的时候,看看它这个编译安装的好像不太复杂,比较简单。啊,这个这个太简单了,都没啥东西,那这个不值不值当的演示啊。咱们有些软件没那么复杂,比较简单。找一个稍微复杂一点,嗯。那这个吧,这个应该就有编安装的,好大家看这里面就有那个编译,呃PP啊编译这个这个NGS,哎,你看这个就是PP里面啊,这些就是启用的特性,看到没?这特性看到吗?你看这个选项多不多,一拖过来就多了,你你别看光看的露头啊,他没换行,要换行的话,那个就在防行啊,这个就是安装总目录,装在那个目录下,这个呢,就是我们要启用的特性啊,当然这些特性你不想用你就可以不加嘛,你想用你就一个一个写。
14:34
所以这个contact这个脚本,这个命令写起来可能会比较长啊,但是没关系,等你把它执行完毕以后。它就会自动的生成一个makefi文件,有了makefi文件以后呢,再执行make命令,它就会自动的读取当前目录下的make文件,自动进行编译。然后再用煤气灶就开始安装了,那就把它装上了,所谓的装实际上是拷贝,把它拷到你刚才指定路径下,所以呢边安装,实际上关键步骤就三步。
15:06
那大家现在知道了,Compare make1完了这三步。所以说起来很难,实际上没有什么难度。不过呢,对初学者最难的难度不在于三步,而是在于安装过程中会出错,出错的原因不是怨你,是因为他们边年中是有包的依赖关系的。通常在contact这个命令执行过程中,它不仅预先指定了安装路径,指定了软件的特性,还有就是它会自动的检测这个编译过程中它依赖的包。如果缺失了包,它就会报错啊,那么通常来讲,那么一般如果你已经知道这个软件的编译过程,前面曾经编译过了,所以我们做这个三步之前,一般来讲都要先把什么把那些包先给装啊,当然前提你是装过,如果你没装过,你咋知道它中间缺什么包啊,所以刚开始你可能就是去看它的提示错误,然后根据它的错误来把那些包装上,然后你把这些一个一个包再抄下来,下次装的时候是不是就提前装上就行了。
16:20
听懂了吧,那初期可能就有一个踩坑的过程啊,这个课过程是我们也是锻炼身体的过程是吧?啊提升你水平的过程,那这边呢,就有一个最小安装的一个推荐,就是如果你是最小安装,可以考虑把这些包,当然这些包不一定是依赖包,就是有些常用工具建议大家装上啊,比方说你像这压缩工具你是不是得少表对吧?啊,这DC计算器是不是需要啊,对不对啊,比方说什么这个脆氧用不用啊对不对,慢帮助用不用啊,那肯定用啊,这些工具肯定都是比较常用的,当然这个东西也是个推荐啊,你不装也无所谓,你缺什么,到时候再装也行啊。
17:00
好,那大体上这就是安装过程,这里面需要注意的就是,呃,那么我去编译安装一个软件,那这个过程虽然表面上看起来很简单,但实际上呢,中间尤其初学的时候,我们会容易出现这个问题,就是包括依赖关系问题不好解决好,那下面呢,就来通过实际来给大家演示一下啊呃,那我们通过三个小案例分别来逐个演示,第一个案例呢,就是我们从官网上下载一个最新版的tree源码包。然后我们在四度七上来编译T的源码包,我们现在在七上啊,这个T用的工具,这个工具我们现在在用它的版本是什么版本。啊,看看它的版本,还有一个叫的。它的版本是什么?1.6啊1.6,那这个1.6呢,它的垂直行的时候,我们发现它并不会显示出很好看的颜色,是吧?啊至少默认不显示,那我们从互联网上去下它的最新包,最新包那我咋知道,我得知道这官网啊,官网才有那个最新的那个源码啊,那怎么看呢?我们是不是说过。
18:22
这是不是可以查看它的官网啊,官网在哪呢?这不就官网吗?这就是个tree这个工具的官网啊,当然我们都知道Linux实际上是个杂牌货是吧。他每个软件可能是不同组织开发的。所以呢,那网页当然站点也不一样啊,所以我们就要找到它的官网,这是它的官网,那官网我们去看一下吧,这是它的官方站点,看看它的最新版是多少了。
19:05
这个很慢是吧,百度快不快,百度很快,那看来就是这个网站比较远了。啊,打开了,大家看它的最新版是1.8啊,那么1.8的源码在哪呢?大家看这个源码你可以下啊,比方说通过HTP下或者FTP下都行啊,那么这个是HTTP,那我们右键单击复制它的链接地址,然后把它下载下来,那我们就下,那下哪呢?一般来讲建议大家放在这叫local s RC,当然这个东西也不是不需必须的啊,只是说一个习惯,这个东户呢,SRCC不就放源码了吗?啊,所以这个东西实际上无所谓啊,就是你个人习惯,哎,你放哪实际上无所谓啊,那么我们用W把它下载下来。
20:05
这是源码啊,用C语言写的。啊,所以C语言写好的,那就是意味着既然源码都给你了,你是不是要觉得不爽,你自己可以改啊。是吧,比方说他现在的版本是1.8 1.8这个版本太小了,我们想改成这个88版本行不行,那源码给我了,那我想叫什么版什么版,对不对,那么就改改。嗯。啊,这个下肢是装个迅雷下可能更快。迅雷下应该很快。你这有迅雷吗?
21:03
哎呀,你们别下啊,不要跟我抢带宽啊,我看来我有必要装个迅雷了。这个这个太慢了。迅雷啊。什么下了群里啊,我我没登录QQ啊。没有没有没有登录QQ,你们下单很快。之前之前是不是有那个下载下来的。之前下过,应该。
22:01
这么有形,这是什么意思?这太慢了,这这点东西下半天。好下来了,下来以后你看用上我们的迅雷一下,看是不是快些。把这个路径复制一下,然后在这儿新建一个路径,这肯定应该下的快,你看快吧,稍微快一点,你看可以的可以的,至少比你这个点浏览器那个内置的下载要快,怎么不动了,刚看了他。
23:14
这我要是会员应该更快啪一点就下来了,你们先别下呢啊,不要跟我抢啊,那个张老师你看看到底谁在强带宽的,把那个网络你可以监控一下,监控一下谁的那个IP地址下载流量比较大,你直接把它掐了,没啥东西啊。
24:04
你想东西我在准备时办的,我严重怀疑,好,马上就完了啊。稍等几秒钟,关键时候卡了下来了,终于下完了啊,下来了以后看着。
25:01
那这边你看不动了,幸亏我果断的采取了措施,好直接把这个文件给他拖进来,好大家看这个文件直接解开,解开以后这就是源码,你看这里面有源码啊,那这个源码呢?诶按照我们刚才的这个编译过程,是不是应该是先执行comp脚本是吧?在执行什么make make对吧?嗯,那问题是这里面有comp脚本吗?官方既然没有提供,那为什么不提供呢?因为人家已经给你make fair了,你还干嘛呀?那fair不就你这运行他脚本的作用就是来生成make fair吗?Makefi给你了,还要什么compare啊,那make fair呢,我们这个文件可以打开啊,当然这里面呢,它有一些。
26:01
在这个,呃,文件里面的内容可以来修改啊,比方说我们现在它不是1.8嘛,对吧,那1.8你看我们刚才查的时候这个这个的版本。这个是他的版本,那这个版本呢,我们可以把它是不是搜一下,看哪个文件放版本的。呃,地地归一下没有啊,那就是1.6V也没有吗。哎,这是change。Change。这里面是不是应该带版本的呀。
27:00
这里面。1.6看能不能找到。这对这一点我去找一点干嘛。啊,大家看这有,诶看1.8,那我们刚才搜的时候应该搜1.8啊,因为人家版本1.8。哎,那你现在你看找到了,它在哪有啊,这里面有,这里面有,那这这个这个应该是在这里面啊这里面,那我们就把这个文件给它改了,不就是点C吗。就这个啊,当然你也可以把它替换一下,只要是A1.8.0全替换了啊,全替换了杠I是吧,我不刚学完吗?咋替换呀,S丁顶啊,替换成什么呢?V1.8.0是吧?当然这个斜杠是不是要转移一下E啊啊啊。
28:25
啊,把它改成什么V。啥6.666 6.8.99啊,这个有你改九版本九行了,大家看啊,我现在1.8.0就被我生生的改成了6.8.9。是吧,啊,这不无非就是个版本的问题吗?走改了改了以后确认一下,看这里面。
29:00
改了吧,好了,那那我们就号称改了源码了。是吧,这源码不就是这么改吗?啊改了以后呢,我们编辑的时候就可以等你生成完了以后,你用啊新的新版的tree,将来一看,将在这理论上就应该能出现我们改的那个版本了。啊好了,刚才我们说了有一个makefi文件,Makefi文件打开大家看,这里面有一个安装路径,这个路径呢,就是你将来装的路径,它默认是USR,然后放在哪呢?放在这个地方。US2线的B,那我不想放在这儿,那你可以换路径,比方说我就放在apps下啊,这个tree自己找一个路径嘛,我不放放在这儿,放在这儿,它GC是编译器,就放在这就行了,这个版本实际上无所谓,不改也行,然后这个就是嗯,生成的目录。啊,这个是目标trade的这个程序名,然后这个就是二进制文件存放的路径,那这个将来存放的路径呢,就是prefix,而prex指的是这个,那就意味着它将放在APP垂下的病,知道吧,帮助也是放在这儿的,好,其他东西我都不用改这个,我们只要指定这个就够了。
30:15
另外呢,下面这些呢,都不用动它啊,不用动它,它这是针对不同的超系统来进行编译的,比方说如果你用free BD用这个,如果是open bid用这个,用throw用这个,这都是不同操系统,明白吧,我们现在用的是Linux Linux默认就这可就可以了,这就是我们的Linux编译的这些项不用动。好,所以呢,这个文件我们改一点点就够了,这样的话相当于comp这个脚本就做完了,把这个命令执行完了,执行完了以后呢,但是我们现在GCC都没有,Make有,但是GCC没有,所以我们需要安装GCCC编译器,要不你去执行make的时候它会掉GCC,它会报错,大家看这里面就会报错,说GCC什么找不着,所以呢,我们需要把一些工具先装DCC,这个是编译器啊。
31:08
在执行make的时候,它会自动的去。调用GCC,那我们再来看comp命命令已经执行完了,相当于啊,接着我们执行make,看,诶大家看好像。成功了,当然大家别害怕啊,这边出现了粉色的warning啊,Warning你害怕吗?啊,你从来不害怕,是不是FBI warning看了多少了,你所以就当没看见啊,好,那这步我就做完了,做完以后呢,注意一定是在这个目录下啊,一定是在这个源码所在目录下执行啊,执行完了以后,大家看这是不是有出现了绿色的tree,这不已经出来了,这个T就可以用了,不过呢,我们还没安装呢,我们是不是希望它装在我们希望的目录里,所以叫make install,这个所谓的安装实际上是拷贝。啊,它会自动的把我们刚才规划的那个什么APP什么垂这目录创建出来,但是现在这目录不是没有了吗?等你安装它就会自动生成,都看这已经提醒我们了,你看。
32:11
看一下是不是我们生成了同学们啊,这个包好简单,就俩文件是吧,卡了是吧,看到了吗?还没看见,这这现在现在好了吗?好了是吧,这个激动人心,也过了好几秒才能激动完,这个延迟性太大,好了,那家看这个不就出来了吗?出来以后呢,我们现在这个运行它了,那问题是我机上有个吹是吧,我这个机我现在用的脆是不是老脆呀。那我要用那个新怎么用啊。啊,新怎么用啊,那新在在在这个APP下,那我们就不行了,写路径呗,Apps下的下的B下的这不就是新吗?啊当然这个每次你写这个路径不觉得烦吗?啊对,那待会我先看看版本升级了没。
33:09
看是不是我们自己发明创造了一个新版本,6.8.9比官方的还要新,是吧,官方的才1.8,我们整个更新的啊,当然他有没有好处呢?有,你看着它有什么特点,是不是带色了吧,是不是带色吧?哎,原来的老翠是不带色的啊,你看啊,我用原来的老翠还没有色。是不是你看新版本到底不一样,哎,这就是编译安装,你想你想用最新版好自己编译呗,因为最新版不可能实时更新呀,对吧?哎,所以呢,你要用最新版,要想用最新特性自己编。大家看是不是也挺简单啊,没什么难度吧?嗯,当然刚才说了这个路径每字写不方便,所以我们刚才说过它这个文件夹放到pass变量里啊,比方说就叫KSH,然后给它修改一下旧的看变量,把我们新的这个APPS下的退一下的并这个路径给它加上来,那原来的路径呢,你看后到后面去,原来的路径在后面,那是不是我们现在这个路径就。
34:32
优先级更高啊,这样就行了嘛,然后点生效。现在行不行啊,现在我执行用的是老翠还是新啊。带色了,新吹吧,你看带颜色了啊,当然你要不踏实你就可以。看一下版本是不是。
35:00
这不就行了吗?你看用新软件不就是如此之简单吗?但是T太简单了,简单到一点难度没有对吧,我们真正企业里面编译安装那没有这么简单的软件,都是稍微有有点难度的,那接下来咱们就加大难度啊好。那编译啥呢,编译这个软件,这个软件呢,它的效果就是这个背景就是黑客帝国的。这个背景编辑完了,一运行就这个效果,很酷的感觉啊,那这个官方站点呢,在这儿,我们去官方把这个源码下载下来,我就直接下了啊,直接下了这是官方的源代码。啊,直接把它下下来,Src放这来走,这个下不会太慢吧。
36:08
也很慢是吧。那我们用迅雷下吧,是吧,我看我这迅雷下是不是快一点。你KPK的这些国内的网站,国外的网站访是什么呢?这个腾讯课堂是传不了文件的,是不是只能登录QQ是吧。
37:11
QQ桌面,腾讯课堂。等一下。好,看看下来没有。哎,并存一下啊,下到桌面上了。
38:15
哎,是因为机器快的原因吗?你那是提前就有是吧,啊,你这翻的墙快啊,太慢了啊,我这已经。下完了。下完了,我从这个地方。假如说我们已经想了。桌面上的就这个啊,我把它拖进来啊,进来以后看啊,也是老方法,先把它解开。
39:05
开以后。大家看这里面呢,就没有那个现成做好的那个,那这时候我们就得老老实实的执行compare了啊,那compare这个脚本呢。在这那么拿到一个新软件啊,大家别着急,先看看官方说明。有read me,他这软件干嘛的呀,这是他的项目站点,然后还有一般来讲都会有安装,安装到底怎么装啊,你看安装的话呢,它这告诉我们怎么装的,实际上它非常简单啊,你看这个配置脚本。然后大概是这样的,你看他告诉你了,说先进到这个解压缩的目录里执行con,然后呢再执行make,然后再执行面频道就完了,就是简单关键步骤就这三步啊,那所以呢,我们现在来考一下这个comp,这个康,我们说了它支持的参数啊,选项啊比较多,其中最关键的不就是两类嘛,一个是安装路径,第二个呢,就是你要启用哪些特性,这下面这些就是特性。
40:23
安装路径呢,你可以把这个不同的文件分别类意思啊,比方说如果你不止光指一个prefix,甚至prefix,如果没有写,默认就装在这,看到没有。User local,那如果你写上你就指定某个路径,然后安装的话呢,你也可以把其他的一些文件,比方说。慢帮助放在一个目录里啊,配置文件放在目录里,库文件放在一个目录里,二级的程序放也放在目录里,你都可以指定默认,如果不止它就放在这些目录里,看到没。很多啊,另外特性特性呢,这里面这些特性啊,当然需要的话你可以加,不需要的话你可以默认,所以我们现在可以来执行一下,看这我们就指定一个安装路径下,别的我都不指了,安装计划装在apps下的c matricx。
41:20
这是它的路径,这个呢是个习惯啊,就是好多公司很多人都喜欢把这个软件单独装的一个叫apps或者APP这个目录下,将来呢,想删的话呢,直接把这目录一删,是不是就不干净了,对吧,这比较方便,但是呢,执行这个命令啊,它还有一个特点要求就是。它会自动的检测你的依赖关系,有可能你装了包,它不全,它会提醒你缺什么,大家看它这提示我们有没有错误。啊,好像既然没有错,没有错的话呢,那就意味着可以了呗,但是你记住了,这个成功不一定真的成功,在执行make命令的时候有可能还会错,所以这时候,那我们当然这个做完这一步以后呢,我们看一下它这生成新文件了吗?再看是不是生成一个叫那fire文件啊,你这不刚生成的吗?对不对?好,那现在我们来执行一下make,这时候执行make的时候可能会报错,如果他缺东西仍然还会报错,哎看果然报错了,这个就比较头疼啊。
42:35
这个错呀,比较头疼,如果在compare内步做,实际上好说,这步做往往就不太方便,不过呢,他这明确到提醒我们了,他说什么,他说缺一个什么文件命令没发现是吧?啊,缺一个叫auto header啊auto header那autoer这是来自于哪个包啊?那我们就用我们之前学过的how,能不能找到?
43:07
哎,幸亏运气好,找到了叫auto好了,那我们就装一下我看。好,装完以后再来make,诶,你看他又报别的错了,这个错提醒我们缺什么呢。这错,缺了一个cur h,那这个东西是来自于哪个包呢?没找到,没找到可能是路径不齐,不匹配,所以我们前面说了写它的完整路径,哎,我们既然能找到,找到它来自于哪个包啊。Devil好,那么就把devil装上,我这个告诉你们就是一种思路啊,你们将来装新的软件,肯定或多或少会发现缺这个缺那个,是不是告诉你怎么去找对吧?哎。
44:12
好再来,诶还错错什么呢,他说什么啊,缺了一个什么什么这样的一个参考,那但是他好像没有提到缺哪个文件。是吧,像这种呢,我们怎么办呢?那就是把这个目录给它干掉,重新来重新执行。重新执行他啊对,我们重新写缩啊,重新写缩,把这个目录删了,重新写缩。呃,C met,然后2X c met解开,解开重新进来,然后重新执行。
45:04
然后make,你看这回就没错了,看懂了吧,那有的时候你不删重新来它不行,你只一半它不行啊,这个不就没错了吗?对不对,没错了,那我们就缺最后一步了吧,Make就造大功告成了,就这么简单,哎,做完了吗?那我们就指定一下apps下的c magicric a好了啊,这个工具也很简单啊,就俩文件,实际还是两文件,不过呢,这个步骤稍微复杂了点是吧?诶,那我们就可以体会体会了,像apps下的cometrics下的cometric是吧,看看黑色地库的感觉都。感觉怎么样是不是?当然它这个颜色可以调啊,这个颜色你可以改,你看咱们这还可以换颜色啊,还可以换粗体啊,这边呢,你可以搞各种的颜色,你看color啊,Color默认是绿色啊,你可以换成你喜欢的颜色,你喜欢什么色,黄色啊,好,Yellow走,你看黄色是不是啊,看见吗?那就是编译安装,没什么神奇的吧啊,当然光这个啥,实际上这就是玩啊,那生产中我们编译软件不是为了玩,是为了解决生产需要,那接下来第三个案例呢,我们就来给大家说说真正的。
46:38
实际工作中我会有可能用到的软件啊,用什么呢?用阿巴奇,阿巴奇我这有案例啊,阿巴奇这个是HB24,这个阿巴奇这个软件它是比较生产中会有些传统企业会用,不过呢,一般的互联网公司更多的喜欢用另外一个软件叫NGS这个软件,那NGS软件呢,这个大家应该将来应该作为一个学习的重点,所以我这次呢,临时改变主意,我不编译这个HTP了,咱们换NGX啊啊,当然这个NGX呢,这个这个软件版本啊,这个最新的你看到没有,是1.922啊,这个版本是主线版,它不是稳定版。
47:32
啊,所以我们下一个的话呢,下一个什么版,1.18 1.18,下一个这个。这怎么越来越慢,有有下文的吗?完这这个汤涛同学,哎,你这个好心没得到好报是吧,我没用你这个软件啊,用一下是吧,哎。
48:07
我用NGX了,临时起意,这叫是吧,有了是吧,你们下载咋这快呢,咱们咱们难道不在一个网络里吗?我这也下来了啊,我这个瞬间你看迅雷就是快。啊呃,那我们就下一下啊,当然这个这个下载的话,我们在哎在八上来编译吧,别老在七上变译是吧,在八上编译啊,八上编译呢,我们也是习惯的放在刚才说的什么USR,当然实际上无所谓啊,比方说我们自己建一个文件夹也行啊,说我们就放在就放在data塔下吧,最后我们就不进到那个USR里面了啊,实际上这个东西我们刚才说了是无所谓的。那你就要理解它就行,好,那么我们把这个源码呢,先扔过来,扔过来以后在这是不是有一个NGX的,这就删了,知道吧,啊这就是源码,源码呢我们就解开NGX这个软件也是做外B服务器用的,是我们后面学习的一个重点。
49:22
然后我们先大概先了解一下啊,当然是真正编译的话,这个安装过程还是比较复杂的啊呃,那我们这儿只是为了演示编译,所以呢,我们不不搞那么多发哨的东西啊,然后我们现在已经解开了,解开以后呢,在这我们进到这个目录里啊,大家看它这也有read me也有。com,那read me估计是啥也没写是吧?啊,人家因为说了你看我的网站嘛,这网站很丰富啊是吧,这边有文档嘛,对不对,哎,这个文档写的很很很很详细很详细啊,那事实上啊,如果大家不想编辑安装,它也官方提供了包的安装方法,你看没有,这只有官官方的包啊,你直接用包也可以装,这边给你提供了包,你直接点那个包,然后呢,他告诉你这仓库路径,你直接也可以去用这个官方提供的,你看支持企业版这个678都支持,看到没。
50:20
你实际上你也可以用这个地方提供的仓库,你把这个复制一下,听懂了吧,复制一下不就是仓库配置嘛,看到没这你可以通过亚嘛,就直接装就行啊,那这个没啥含量,所以我们不玩它啊,那我们玩什么呢?啊,把那个源代码拿过来了,那拿过来以后呢,我们去执行con这点con啊这个东西它支持的路径在哪呢?大家看它的选项就多了,看到没,是不是丰富的功能啊,丰富的功能好,那现在呢,我们想编安装prefix。先指定路径吧,啊fax装在哪呢?装在APP下载NX吧,哎,装在这,然后呢,这些特性你想用你就启用啊,不想用你可以默认就行,比方说我们找一个吧,怎么也得意思一下是吧,啊比方说我们想启用某功能。
51:18
嗯,找一个吧,这这些都是禁用,你看没有,这是without without就是不要那个功能,就是默认你不写它是启用的啊,如果你不想要,你可以把它去掉,知道吧,诶它这还有支持什么压缩,你看这个就是压缩,你要不写这个呢,它就不支持压缩了啊,就是启用这个模块,比方说我们就来压缩一下吧,启用压缩。启用静态模块压缩好,那我就把这个加上去,那我们就举个例子啊,举个例子,假方说我这个就想把这功压缩功能启用,那就加上啊,另外呢,我想支持什么什么加密之类的啊,你这这里面都可以啊加密你看这个这里面有什么啊,有SCL加密吧,SCL有没有这个邮件的SL。
52:06
呃,这有这个看到没,这是和加密有关,所以我就把这两个特性,比方说我生产中就需要这两个特性,你不是默认没有吗?那我给他加上是吧,这样就行了,好,当然这个生中有可能你需要用的特性就很多啊,你要复制粘贴,要贴很多次,好我就意思一下就行了,好那么直接执行。看缺东西了,什么C的编译器没有,那我们因为刚才是在七上演示的,七上把那个GCC什么都装上了,八是不干净的,没装过,所以我们需要去安装那些必要的编译器,比方说DCCC啊,CGCC编译器啊,这都需要装的。嗯,这是必备的啊,如果说其他依赖包不同的软件不一样,但是GCC呢,属于大家编译必须有的C语言离不开的走。
53:03
当然在这个过程中也报错了,看到没?它这提醒我们了,说什么要想实现ATP的模块要求PC re这个库看到没有,那这个库你要想解决这个问题呢,一种方法,你赶紧把它禁了,那禁了咱们就不用了嘛,那当然那咱们能说为了为了为了解决这个问题,你把人不装了,这不合适啊,所以我们把这个库给装上吗?那这个库问题叫什么名字呢?它叫PC re啊PCR呢,它这光写了个PCR,没说文件名叫什么,实际上呢,它的名字往往就是PC re,像这种大写字母,你后面加个devil就行了。就是PC加devil,一般就是习惯它提醒你缺什么,你就后面补个devil devil就是开发包的意思,Development。啊,这是一个约定俗成的习惯。好,再来一遍,看他缺不缺。
54:03
缺啥不装啥吗?哎,发现没有,不不提示了吧,不过这回又变了,缺啥缺open派S号库啊,那呢,我们是不是已经知道怎么干了,那是不是我们就再来一个什么open s dev是不是啊,直接就是,反正你就是摸住门门道以后呢,不就是这回事吗?好,那再走再走。初学你肯定是慢慢总结大家缺的包,下次你是不是就把这复制粘贴提前装上就行了,哎大家看既然成功了是吧,成功了那我们就不就这个大功告成了一大半了吗?啊那这步做完,那接着就make就行了,但是make呢,这个如果你要直接make的话,太慢,我们有些软件编译,你想快一点,你可以利用充分利用CPU啊,比方说我现在的CPU是两个,两个太少,就是它会慢,所以我们可以加大CPU放啊,我这个是刚才是在哪个机上演示的,是放在机上。
55:11
好,那我现在为了让它快一点,我把CPU加多一点啊,比方说加八个。八个的话呢,它就相当于八颗CPU同时可以干活啊,当然咱们看看它加进去没有,加进去了吧,哎,加进去了哎,加上去以后我们就可以用make-G后面跟上八,表示八个CPU可以同时进行并行编译,速度可以加快,当然看看多快加个time就知道多长时间了。那这个就等着就行了。啊,小软件可能,哎哟,你看果然加上杠八就是快。竟然马上就结束了,短短六秒搞定了啊,然后接着我们最后安装就完了,走行了,咱们就编一完了,是不是很简单啊。
56:08
号称的复杂的编译,不就是偶尔吗?啊,那那咱们现在看看吧,刚才那个软件编译的咋样了,走啊这在这了啊,它稍微多一点,当然它最关键的程序大家一眼就能找到哪个呀,是不是就这个,那现在咱们就来跑一跑N姐,当然我这个机器上可能装这个APP服务了啊,但是打架的,所以我把这个APP服务先给它卸了啊,就他俩都是一个功能,一个功能都是对外提供什么,哎,提供HTTP的。协议服务的,所以把原来的给它卸了,卸了以后呢,我们去。运行啊,运行的话呢,刚才也看到了它的路径,你要每次写的话,这个是不方便的啊,所以我们也是把它改到它的变量里,那怎么改呢?就是把这个路径给它加,加上pass等于APS下的NGX下的XB下的哎,T扔到ETC下or fair.d的,比方说NGX生成一个X0键,然后通小,这样就可以了,然后位持一下能不能找到它,诶找到了这就可以了,那现在就可以运行了啊走行了。
57:27
咱们就可以玩了,来访问一下吧,你不是当网站吗?当网站不就是直接浏览器访问不就可以了吗?那我们来试试能不能行?出来了看见没有,Welcome to NG X,好,NGX那一章我们已经讲完了啊,提前就把NG讲完了是吧?开玩笑啊,NDX那不是一下就能讲完啊,那个我们得讲个两三天的,这个光展示这个页面才刚开始啊,刚开始不过呢,至少编译安装大家不陌生了,实际上编译安装不就这么回事吗?对不对啊,不是这么回事。
58:07
啊啊,当然它这个页面的文件是放在哪呢?放在这,所以你觉得它的默认页面不好看,那你可以把它改了,就a appsng X的什么HM面下的index不就这东西吗?假如说welcome什么什么,那你看这是welcome,哎呀,那现在我给他改了,不然看我们到哪个一丢,哎,你看改了,改了以后你刷新一下页面,这个不,你刷不哪一丢了不还少了个E,你看编译安装就是这么回事,大家是不是有经验了,现在你看我通过三次编译安装,当然了我们有演示这个啊,这个我觉得你们自己下来试试嘛,是吧,自己试呗,那文档我都一步一步步给你写清楚了啊啊NGS刚才说我是临时用的新的一个软件啊,这个呢是HTTDP,也是提供这个外部服务的,你们下来可以试试啊,这个官网网站下载,HTP的官方网站下载。
59:07
这有没有下载路径啊,没有啊,下载路径呢,你去这个地方群里,群里你靠别人啊,你得知道自己得知道啊在这啊这个这个呃,阿巴奇这个地方,这个是他的下载网站,然后在这呢,在这这个download。嗯。好在这这个下来。看到没有,哎,我这个下载的是哪个文件啊。嗯。我看我这个写的是BBZ2还是BZ2,那BZ2的话呢,那就是这个呗。这边这个路径,我把这个路径复制一下。啊,把这个文档呢给你下载。这行了W是吧,这可了吧,哟,不行,哎,人家这个版本更新了啊。
60:10
那四六了都,我们之前四三啊,那你就将来就四六就行了,你们自己编四六啊,当然这个四六不一定完全一样啊。我就假装换成最新版,换个六就行,反正差不多啊,差不多,但是这些包建议你们先别装,哎,你不装的话带来好处,你可以去看这个错误,根据错误你自己判断出来这些包啊,当然这个包就比较痛苦,你看这个包是不是比较多,所以这个就需要你慢慢练了,这个东西我觉得挺有意义啊,不行了,我们试试吧,这个646没试过。给大家演示一下啊嗯,那我就换到18这个机上吧,18这个机干净机器啊,干净机器好,那我们就直接在18的题上来给大家来说。
61:03
啊,我把这个也演示一下。演示一下,先把这个源码先下载。啊,这个快这个快这个挺好啊,这个快速你看这个文件是6.9兆,刚才那个NG是多大呀。人家才一兆啊,所以为什么互联网的这个这个互联网的公司一般都喜欢用NX啊,HTB太重了啊,性能好,功能也不差,甚至功能比HTB都有的地方要强,所以HTP呢。
62:04
互联网公司不喜欢用是吧,但是喜欢不喜欢,公司需要什么,你到时候就学啥,这个你没得挑啊,所以咱们上课都得讲,都得讲,然后呢,我们现在把它解开来解开。哎,这个你们指导我一下吧,是吧,哎,你们指导我一下怎么做啊,好吧,接下来你们说吧,我来做咋弄啊,你好赖上来先看看,看看read me吧,是不是看看read me,看看阴道嘛,那这是什么东西啊是吧,这个流程你怎么也得走一遍啊啊,然后再看看什么造,你看这个造它告诉我们怎么安装,哎,你看这不就颈部吗。是看make没到最后运行,运行的话,你看他告诉你这么运行是不是好,那咱们就来执行康康help。
63:04
啊,那你看它的选项是不是也很多啊,很多很多,那当然最根本的prefix还是有的,那我们就指定路径啊,我们就延是找一些压缩加密的吧,比方说enable s CL,把这个也在启用起来,别的我们先不启用啊,我看我这个案例里面启用了啥啊,这个是把那个呃,指定了一下配置文件放在别的目录下,那我就用这个吧。这个也是启用SLL,然后呢,这个是单独把配置文件给单独放了,就是呃,默认情况,如果你不加这一行的,大家都放在这个目录下,但是我就想把配置文件放在EDC下也可以也可以,那这样就行了,走哎,缺东西了,现在请你告诉我怎么做。根据大家的经验,应该装啥装啥叫什么叫APR,用是不是你用这APR大写的吗?对不对,说好再来一次说啥哎,那是不是就是apir UUS。
64:41
对吧,这不HB吗,走。好,那再来缺啥C的编译器,GCC还没装呢啊这个这个不装肯定不行啊,这个不装那肯定玩不转。
65:10
啊,还缺啥,这个见过了啥PC re,好,再看还缺啥缺啥补啥呗。诶,这回缺啥。是吧,啊,那么我们就再装open s c。哎呀,既然成功了是吧,哎,注意你们编译的时候,初学的时候好多同学有一个。
66:15
畏难的心态,就是执行完以后呢,看都不看,直接就往下走。也不看上面提示错不错,反正他也看不懂,看不懂就直接往下走,你这个你不看提示错了,你不看那后面也做不下去啊。所以你还得看观察啊,当然有人说那这个成功没成功啊,那我也看不懂啊,那看不懂你讲过这个没,这不就知道了吗?是吧?好,那看来是没有问题的,那make杠勾,当然我这个CPU好像没加呀,我这个没加,没加我就加一下,要不太慢啊,那我就俩吧,俩我就不加了啊,俩那就俩吧,上勾二啊,一般来讲几克CPU就写几,这样速度快,你要不加慢点就是啊。
67:10
那这个应该比刚才NGX要慢一些,因为我们刚才八核是吧,哎,出错了,竟然这个就比较麻烦了,在这个阶段出错是不容易解决的啊,不过呢,也不是问题,那找吧,它提醒我们说什么他这个文件不存在,那是不是就我们前面学过ya for so,谁提供这个文件不就得了谁呀,不就是read had看吗?那把它装上不就得了,走装。装了装完以后呢,注意在这个那个阶段出了错呀,将来它这个出错,你再重新编译,如果不行你就删了重新来听懂吧,啊如果能下去那行,那如果下不去,那就删了重新来。
68:05
大家要把这个编译这部分学完以后,你不觉得这个过程录成小视频给你家里一发,你是不是感觉,诶,真的是有点,是不是有点感觉啊是吧?啪啪这个界面一出是不是,哎,成功了啊,成功了就缺魅力,到了走就完事了,是不是如此之简单呀?OK了,好,编辑完了,编辑完了以后呢,我们进到刚才说的那个目录叫APP目录,你看这里面文件就比较多。那刚才他在帮助里面告诉过我们要启动怎么启动,是不是有一个叫这个东西叫APP阿八奇,注意我这个机器呢,是十点零点00:18 18上现在的有网站吗?那我们先访问一下看看能打开吗?你看现在是开不开的,现在我们按照刚才官方说的是不是要运行这个程序啊,那运行这个程序它是在那个安装路径的,并下面有一个阿巴奇,那我们来瞅瞅它在APP下的下的这个并下的,你看这里面有没有,你看是不是有一个A帕奇CP对吧。
69:44
那当然这个路径呢,如果我们这样写的话呢,将来不方便,所以我可以考虑把它加到pad面上,哎,起来了。这个大写不写都行啊,我就没写了,看哦成功看到没,是不是,当然他这个页面放哪了呀,页面哎,放在了这。
70:07
这有一个放页面的地方叫HD boxx,在这把这个文件打开,不就这个文件吗?啊,再换成咱们的v v two,咱们是M42。是吧,这不就OK了吗?刷对不对,所以这个页面就做完了,而这编译安装好简单呀,当然这个东西我们做完以后,呃,一般来讲。还要做一些配置啊,比方说刚才我们曾经指定的配置文件的路径,配置文件在哪呢?大家看生成了没,是不是配置文件单独放这了啊,这里面有个问题,它说它运行的时候,它是以梦的身份运行,梦的身份运行这个是不好的。
71:05
我们希望以专门的一个阿巴奇账户来运行,所以我们这样修改一下,我们建个账号叫阿巴奇,给他指定ID,比方说是88的ID。然后指定它的线类型是no logging的线类型,或者指定个也可以,然后指定它的系统账户。看到没有把阿帕奇账号创建出来,创建出来以后我们要修改咱们的配置,让他以阿帕奇的身份来启动这些服务,怎么启动呢?那当然就去改配置文件了,这个配置文件呢,在这在这打开,打开以后呢,这去往下翻。哎,大家看这是不是一个user,是不是就是以谁的身份运行的意思,把它删了,换成咱们自己建的账号啊,当然这个要要要重新启动才行啊,那刚才我们是把那个HTP那个呃进程已经起来了,起来了,那我们得把它停了啊,停了的话那个路径每次写路径好烦呀,所以我们也是决定把那个PA变量改改,Pass等于啥来着,下的HP2下面的定下的阿法奇CPL吧,啊这个不用写了,我写的这就够了,Pass这一个冒号啊,追加到呃头fair.dhbdsh,然后让它生效,好这样的话就行了,那这个命令呢,它支持一些参数啊,它支持参数。
72:52
我要停的话怎么才停呢?哎,它已经运行了,它有一个H吧,哎这个你看应该是在这,它有一个停服务的,停服务那用什么呢?停服务看看有没有什么。
73:17
停服啊停服,这儿有没有一个指令是停服的。运行TS。那它这没有显示啊,那另外呢,还有一个问题就是慢啊,这个HBDHBD看它这里面。HTBT这里面看有没有它它他俩用用法是一样的,你看到没有就帮助都一样,因为那个阿帕奇ctl实际上就是它的脚本,实际上它是个脚本,哎,所以那这里面没有显示啊,没有显示,没有显示应该我记得是有一个stop在这是吧,那但是他能不能执行啊,不执行了,不支持了啊不支持了,那这样吧,那我们就。
74:14
看一下这个慢帮助,但是慢帮助能不能看ctl,哎,你看没有,为什么没有,不是说没有帮助,是因为它没有标识我们的那个慢帮助路径,这就是在这儿啊,大家看啊,它这里面有没有半帮助呢,你看。如果有慢帮助。啊,太多了,我们就看一下文件夹就行了,大家看是有menu慢对不对啊,也就是说它实际上是有慢慢的啊,那所以它没有显示出来,那说明你看这里面有慢一慢一呢,你看这里面有呃,有这些的帮助,有HP帮助,还有曼巴曼巴的帮助,你看这里面有HTP是不是有他的帮助啊,有他的帮助,但是为什么慢不出来呢?就是因为慢不知道。
75:17
你光把这个慢帮助你放在这个步骤下,人家哪知道啊,对不对,人家哪知道啊,你不知道啊,啊不知道啊,那不知道怎么办呢?那我们就得修改慢帮助,把慢帮助的配置文件打开,把这个路径告诉他听了吧,那在哪告呢?在这告。把前面的路径抄上,让他搜索慢,帮助在这个地方去找。默认它不找对吧,默认找的是默认路径,好这样就可以了,然后慢写完以后,当然这样光写完,这样立即能生效吗?慢然后阿帕奇ctl,诶可以了,直接找到了,然后哎这有看到没有stop,看怎么执行T,哎,那就是阿法提杠t stop。
76:15
哎,那这样的话,这个网站应该就不能访问了,呃,刚才我们看一下是吧,你看连不上了,看连不上了,哎,那这样的话我们就可以再起来了,起来的话直接就这样起就行了,直接起好,那看一下生效没生效。看生效了,那那么现在我们来进程看看是不是已经换人了,换人了吗。阿巴奇了吧,这不就行了吗?所以现在我们通过这个阿玛奇这个软件的编译安装,是不是就从头到尾都给他演示了一遍,一个软件怎么去编译,包括后期怎么去修改,哎,包括慢帮助,有的时候要改pad变量怎么要改,大家知道了吧,当然这个不同的软件还是不能完全一样的,我们刚才演示了好几个软件是吧,但是各自还是有一些自己的略微不同的,但是大体上流程是类似。
77:15
这就是软件的编译安装。没问题吧,没问题,休息会儿咱们缓一缓是吧,待会再。
我来说两句