00:04
好呃,这个编译需要花比较久的时间啊,这个你们可以记录一下时间啊,看看到时候谁的机器速度最快啊,编辑完了以后呢,将来启动的时候就会出现这个菜单,就多出一个新的内核选项,你就可以启动了啊,不过呢,实际上工作中一般来讲自己编译内核这种场景不多啊,作为一个了解吧,大家做一个了解知识啊,当然你要说你做运维的连内核都没编译过,说不过去是吧,但是工作中用不用,那可能不一定用啊,不一定用,而且呢,即使你需要有新内核,我们也可以不用编译,咱们上次讲亚M的时候给他讲过,如果你想用一个较新版本的内核,我们是不是有一个叫。有一个组织提供了一个样M圆包,直接装就行了,还记得吗?啊,不过那个功能他不能定制,就是人家给你编辑完了,你拿过来装现折的,那装上以后呢,也不支持这个NTFS啊,刚才我们在制作这个呃,定制的这个编辑特性的时候,我们用的是make menu com,实际上你也可以用那个。com,不过呢,这个是个命令行,那命令行的话,这种写法呢,就比较麻烦了啊,比方说我们有7000多项,那你就得把这个7000多项都要跟在命令行后面一大串,太多了,显而易见,不如menu,这看起来更加选项菜单就完了,对不对?那还有一个叫g com j com是图形界面的,还有一个是S,这两个都是图形界面,只不过用的底层库不一样,一个是基于呃,Nor这种库,一个是KD库,但是都是同一界面的。
01:50
此外还有一个叫default computer,就是默认的它有它你用这个就是提供默认的选项,然后这个呢,是所有的选项全是yes,所有的选项全是no,那所以这些呢,一般都是测试环境使用,这个我们就不用去关心了。
02:08
啊,我把我的这个编译呢。诶失败了,这个惨了,这失败了,你看他是失败的。有一个这你看这个内核还真的有问题了。说尝试去禁用这个,那我们得禁用一下吧,啊叫COMPARE8个bit,它不支持这一项。啊,因为是这样的,因为我这个,呃。编译过程可能和硬件有关啊,所以看看这一项把它禁用了吧,啊禁用的话我们可以用啊,把这一项找到,我先在这儿来操作吧。
03:06
那这个快最后结束了,你看失败了这个,呃,去找一下,这叫什么呢,叫bug。Good的compare。啊,有一个B把这一项给它禁用了。这第八个英符ETF啊,我就把它改了啊,就是我们这有一个点。把这一项找到。把它注释掉。好把它注释掉,不用了,不要了。
04:17
产生类型。看能不能接着做啊,最好接着做,不接着做那就麻烦了。好,拖到这边儿来,让他慢慢弄。
05:00
把这个给它关了。他可以让他接着弄。啊,那看来还得补充一下,刚才那一项,到时候你们编译的时候还得提前把它改好,和我这个版本不一样了啊,版本不一样了,所以他这个配置上有一些地方是变了,那这个待会儿加上这一项。好,那接下来我们来继续看一下这个编译安装这些项都是测试用的啊,我们刚才用的这个make是全编译,那甚至是工作中我们也可以挑选特定的某个这个这个模块进行编译,比方说我想针对某个文件夹里面的模块进行编译,可以进到这个文夹里直接make,就针对这个文件夹来所里面的所有模块进行编译,也可以针对某一个文件文件来编译,比方说我就想编译那个,呃,某一个这个驱动模块,那你就可以进到这个目录里去执行这个模块编译也行。
06:17
啊,比方说你如果你只想编译这个网卡的驱动,那你可以直接进到这个特定目录里面,只去编译它,这样的话就省得再从头到尾编译了,明白吧,这也是可以的。另外咱发支持所谓的交叉编译,那么交叉编译指的就是我们编译出来的内核并不是在当前系统中使用,而是给别的主机来使用,而别的主机用的系统和我当前主机不一样,这就叫交叉编译。相信大家应该知道,安卓手机,苹果手机的开发者,他不可能在手机上开发。都是在电脑上开发,但是开发出来的最终的软件是在手机上运行是不是?所以这不就是交叉编译的典型代表吗?啊,诶,好像这回差不多了,这回成了。
07:07
啊,看看是不是结束了啊,也没报错嘛,还没报错,看看它的大小。你看看这14个G了,了不得啊,那刚才我们改了一项,就这一项是吧,这一项就把这个给改成这个点浪费。呃,当时我们是把这一项给注释掉了是吧,所以这个改一下文档啊,到时候你们编译的时候,因为我这个是5.8版本了,5.8版本的不太一样,这个地方再加一个把这个注释了。把这个项注释了,它默认是yes是吧,把这项也注释了,这个是我说一下这个是5.8版本,我现在是之前是5.4,现现在咱们是5.8 5.8版本适当的要改一改。
08:13
把这一项禁用。5.8版本需要。注释掉。啊,我这个里面写的是5.4啊。好了,那这样做完以后呢,只是做了编译的这一步,我们接着还有安装,安装呢是make module install module install呢就是把我们编译完了的内核相关的模块以及内核文件分别拷过去,那其中这一步呢是拷模块,而这一步呢是拷那个vm linu的那个内核文件,所以分成两步考啊,第一个呢是考模块文件,那么考这个文件呢,之前咱们先看一下当前的目录,那好,猫九大家看,这个目录里面现在只有一个4.18的内核文件夹,等我一跑,它就会再生成一个5.8的这样的一个新的文件夹,这实际上就是相当于复制的过程,大家看就等着行了,这个复制应该很快。
09:26
因为复制过程不会等太久,当然你们做这个实验的时候,因为它生成的文件比较大,所以呢,你一定要确保你的目录要有足够的硬盘空间,我呢,虚拟机是放在我的C盘下的,所以我一定要确保我的C盘空间要有足够的空间。C盘我这是还剩下200G的剩余空间,所以没问题,你们那做的时候要小心,别把硬盘撑满了啊。啊,这个复制呢,你可以看一下它是不是复制到这来了ls mode大家看是不是已经出来5.8了,看到没有啊,但是这个目录呢有多大。
10:13
啊,开始往里跑。啊,考完了已经,当然光考完这个不行,因为这只是个模块,我们真正的内核文件在这呢,那这里面的文件还没有拷过来,大家看这里面呢,只有旧的内核版本,现在我们接着开始把新内核的文件也拷过来,那怎么拷呢?就是make就行了。这时候就考心内核了,好,看这边应该能生成新内核,看是不是5.8的过来了,你看这东西是不是我们自己家的,对不对。
11:13
啊,这个应该很快,大家看已经做完了啊,做完以后呢,我们现在就可以启动了啊,就可以启动计算机了,当下次重启的时候,它就会多一个启动菜单,多一个启动菜单我们可以选5.8了啊看着因为我是在S8上面做的啊。怎么卡了?好,看看这。呀,重启这么快啊,这默认用的是哪个内核啊,看是不是已经默认帮我们选好了,它默认把这个新内核作为默认启动内核了啊,那看看登录进来咱们也用用最新内核看见没。
12:13
啊,当然命令该敲敲啊,不受影响,因为一般的命令和内核没关系,你知道吧,啊,这不就可以用了吗?啊啊,当然我这啊重启一下啊,看一下那个菜单下让他看着,哎,你看这是不是多出一个5.8的那核菜单来,你是不是想选哪个选哪个对不对,5.8以后就可以用5.8了啊就这么简单。啊,这就是编译内核,那编译内核最重要的是我们支持了NTFS,所以我们现在看一下它是不是支持NTFS。呃,首先他应该有了那个新的一个NTFS的一个驱动模块,那我们搜一下能不能找到,诶找到了看这边是不是有NTFS驱动模块了,那现在它应该能够挂载NTFS文件系统了啊,那我们现在这个不就是我们NTFS文件系统吗?好,那么看一下,那现在我们就建一个,呃,刚才已经建好文件夹了啊,建好叫NTFS好,那行了,我就往这去挂好,那看着我们去SBB2往那挂,如果能挂上,那肯定是能支持NTFS了。
13:28
诶,看到没支持了吧,看是不是支持了,那看看里面的数据能不能访问,咱们不是刚才建了一个文件在里面吗?看有了吧,Win test啊,这个文件能不能访问啊,是不是可以访问了吧。这不就支持自己编译的吗?让他具有了这个NTFS的功能啊,当然这个文件能改吗?你mark一下,你看看他这这写的是RW是吧,理论上应该能改啊,那我们就改一下,我把这个文件啊,我们就追加一行得了,追加一行叫Linux贝塔,哎,追加了看看。
14:20
成了吧,诶,以前我记得以前是不行的啊,这次竟然成了,以前可写写不进去,现在既然写进去了,那就行了,能写进去了。可以,没问题啊。啊,那当然,我这里面应该建一个Linux文件也可以,就是只能改旧文件,创新文件,不让创建,发现没。不能创建。这是不行,就是改旧可以,但是不能建新的,不能创建新的,考一份行不行,不行。
15:13
啊,看来是不能往里写东西啊,见习文件不行,当然我们这个不管它了,那我们先取消取消挂载啊,取消挂载完了以后呢,我们在这个Linux里面已经改了东西,那我们在Windows里面看能不能访问,那我把这个硬盘给它拆了。啊,硬盘关了呢。好,关了以后呢,我们在这儿把它。和我的虚拟机断开,这个不要了。断开。
16:01
那这样的话,这个硬盘就和我的虚拟就没关系了。好,没关系啦,那我们在这个地方就能够在Windows里可以用它了,来这个E盘啊,这个文件。是不是有啊,这里面刚才加的东西在对吧,确实能访问了啊,确实能访问。好,所以这就是我们给大家演示的这个,呃,编译啊编译过程。啊,不过这个编译确实,诶,你们注意到大概花了多长时间啊。45差不多半个小时多吧,是吧,半个小时啊,中间因为出了点出了点错啊,不过影响也不大。范老师。
17:01
好,这就是给大家演示的这个内核的编译安装啊,这个交叉编译了解一下就行,因为我们也不做开发,然后这边呢,有一个清理编译的文件的叫make clean make clean呢,我们刚才虽然编译完了,但是实际上啊,有些文件用不到了,你像这个源码文件已经用不到了,这个编译的这个文件夹是不是也用不到了,那这个文件夹你看我们刚才看到了,它有14个G的。那如果说有些东西我想后续可能我还想用,但是我想把一些生成的编译的结果先清理一下,那怎么清呢?就用这个就可以清,叫make clean清。你看他清完了以后,看看这个目录还有多大,应该删除了,绝大部分内容都删了,你看这个就是那个编译版本的。那核文件这个也也被删了,你看这个文件没了,然后你看这个目录现在有多大了。一点儿一个G了,看到没有很小。
18:03
但是呢,有些文件并没有给你删了,比方说咱们用那个康文件没删啊,所以他这个清理呢,它可以进一步的再清,比方说用这个命令来清,这个命令呢,就把咱们康文件给删了,它会清理所有文件,包括一些康文件,备份文件,这个命令清的更彻底。面。啊,清了清了以后,你看这个文件也没了啊,你再看一下目录又小了啊,当然这个看不出来,因为我们刚才加了个呃H,如果你不加H,这应该就看的比较清楚了。还有一个最彻底的,就这个叫C,这个清除的更加彻底,就最彻底。当然我这里面可能也没有特别多的东西要清。可能没有明显的变化啊,这是清理,那当然你要会编译,安装的同时你要会删除,比方说这个85.8我做完实验啊,不想要了,要删怎么删呢?删的话就必须要手工删了,因为咱们不是用RP装的,RP装那要用亚MRPM命令就可以直接干净的卸载掉,这不行,因为这是源码编译的,那所以你要手工删,那手工删删什么呢?比方说源码这个目录是不是应该删了,这两个东西是不是应该删了。
19:32
这不删了吧,把这个这个本身这两个文件实际上编辑完了也就没用了。还有一个呢,要删什么删呢,就是固下的和5.8相关的文件全删。啊,姗姗。啊,再有就是这个目录lab module。但是这个目录里面是不是有个5.15.8的一个专门文件夹,把这个文夹删了,这样的话基本上你就删干净了啊,不过呢,你虽然删了,但是它还有一个地方要残留的内容,就是那个菜单启动菜单还会有5.8,所以你要是重新生成5.8那个菜单,需要运行这个命令。
20:19
运行六命令以后,它就会生成新的菜单项,把5.8的就上了。二。另外搜八上面还得把这个东西删了,因为这里面还有新内核的一些。com文件,那这个在entry这个目录里面叫loader entry里面。在int录里,大家看这里面有那个5.8的这个文件,你把这个文件要删了,需要手工删啊,删这样的话你就彻底删干净是吧,好,我先不删它啊,我们先留着留着它。好,那接下来呢,咱们来说另外一个工具叫busy box。
21:02
对。VC box,这个是我们未来将来学容器的时候会用到的一个软件。B box。翻译过来叫忙的盒子是吧?啊,那为什么说他很忙的盒子起了这样的一个名字呢?就是因为在例子中有几百个常用命令,咱们现在不是学了小三百个常用命令了吗?今天又学了不少,那么这么多的命令,如果说我们想把它拷到光盘、U盘里面携带使用啊,你会发现这个目录呢是比较大的。把这些都东西都在这里面,你看他们这个目录有多大。加起来100多兆了,你看常用工具不都在这里面吗,对不对,病病吗。
22:01
啊,100多兆,那早期的时候呢,有些硬盘也好。软盘也好,空间都比较小,现在我经常有这种需求,就是我们想把这些小工具啊,能不能放到U盘,或者早期还没有U盘,那时候软盘一个软盘在一点几兆的中间。一解兆的空间,可放的东西非常有限,那我就想把这些常用工具能不能放到光U盘里,那个放到一个一个软盘里呢,诶有人就。想了,我就开发一个软件叫b box,这个b box他就把那些几百个工具的常用的功能。给它做成一个文件,这个文件就叫b box,就一个命令,就一个文件,它就带有了几百个命令的常用功能啊,当然它不是全部功能啊,就是常用功能,几百个命令的常用功能。啊,把这些命令常用的功能全都集成在里面了。
23:04
但是因为他是用一个程序来实现的,所以是不是感觉他什么都能干,很忙的样子,那就说很忙的盒子啊。当然,他最终这个b box怎么提供几百个命令的用法呢?方法就是你把这个basic box文件名改成啥,就能当成啥用,比方说basic box你改名叫LS,好,它就是LS用了,你把它改名叫CP,它就是CP的用令命令,你把它改成啥叫,它叫叫啥用。那一个命令可以提供几百个命令的用法。那这个命令呢,将来在我们后面学习docker容器的时候,经常用来测试,甚至它上面还提供了外部服务,你用b box去启动,它就提供了一个web服务啊web服务这个b box呢非常小,它用它来提供一个操系统功能,互联网上有一个提供。
24:08
杯子box操气筒的一个容器,这个容器只有几兆大小啊,几兆大小,那么搜一下你看它有多大,叫杯微box,你看它有多大。非常小。这没有显示它大小的。这有看知道多大吗?连一兆都不到。
25:05
一兆都不到。连一兆都不到的一个小系统,这是一个可以用的小系统啊,里面有几百个命令都能用,连一兆都不到,是不是做的很厉害,你说放在U盘里,那U盘放软盘都能放,都能放,就这么小。那小的干嘛,那小的它功能肯定是欠缺的,但是常用的有呗,所以用来测试还是非常不错的,所以我们后面讲容器的时候,会用这个一兆都不到的一个小系统。那接下来呢,咱们就来看看,那那我们现在由于还没学容器啊,那我们至少得box在Linux里怎么用我们得会,那这是它的官方站点。它的官方站点提供了b box的源码。这是官方站点。
26:01
那我们现在想用这个BI box,我们也可以拿过来源码编译。要慢的网站。这个编译过程呢,跟咱们刚才讲的Linux编译过程很像啊,也是先装依赖包把源码下载下来,然后呢,甚至我们用的命令都很像,也是有一个叫make menu,你看这个命令跟Li编是一样的啊,诶打开了又出来最新版的了是吧。1.32版,诶更新一点点,那就把它下来。比比我这个笔记里面写的要稍微新了一点点,那源码在哪呢?源码下载download。这个源码哎,你甚至你可以直接下载二进制,二进制就直接下过了就可以用了啊,这个我们可以下个二进制试试啊,我再把源码也下来,两个都下来。
27:11
这是二进制B。啊,这边是源码。这个网站在国外啊,应该是在国外比较比较慢。呀。这这这这防不了啊,这还得翻墙吗?这类的科学上网。换一个你们是不是又下东西了,怎么这么慢呀?
28:13
来下来了,哎,找找最新版,最新版应该在最下面,2020看三二,呃,这个让你挑吧,三二版现在有两,呃有有三个文件,你觉得哪个是应该要下的。两兆那89个字不可能是不是,所以这个这个应该是这个这个把它下来。这个把它下载下来。
29:09
他这也打开了,刚才那个好慢呐,拿这个来下。看这边你的谁下的快啊,我放在这个新疆这家里,看他俩谁下,然后我下一下那个这是源码啊,这是源码,还有个二进制的,二进制是编译完了的,这个二进制看能不能再刷一下,哎,出来了,呃,哪个是最新的。
30:00
三一这个吧。三一这个。三一这个是最新的,这其他东西没给你编译,这三一这个是最新的。三一是最新的。嗯。6月10号哪个是变异的呀,这是针对不同的CPU啊,你看RCPU,这不是我们现在用的CPU,我们用的CPU是呃。这个叉八六的,你看这个这个是我们的CPU,你看它编译完了才一点几兆。1.0兆。好把它下来,这可以直接拿过来用,这个不用编译了。
31:01
啊,就是这么办的。有人变异,有人下的快吗?有没有下的比我这快,传一份给我就行了,干嘛?这边好像翻墙还快一点点,好像感觉翻墙要快一点,翻墙感觉要快一点,所以用翻墙方式来访问一下。翻墙应该够快。七。哎。
32:13
但感觉翻墙要快,这边好像下完了,下完了诶还是翻墙快啊,翻墙快,不翻墙太慢了,就是不翻墙还得下来太慢了。这这怎么下来一半儿啊。十。啊,还没下完啊好,那这个源码呢,马上就下完了啊,这个源码已经下完了,这个二进制的这个正在下,那这个既然下我就把这个停了啊,不用这个了,这个正常直接访问太慢了。啊,Box这不下了,这个下载就不访问了,停了停了。
33:18
诶,好像下完了,这下完了。就这个下完了,下来以后呢,这是个Linux里面的可执行文件,直接到Linux理论上就能用,那我们来试试吧,把这个扔过来。扔过来以后,这是个二进制文件,应该一下看看它是不是二进制文件,看是吧。啊,当然我们只需要加执行权限,是不是可以用了。啊,那这个程序我们说了,它可以模拟任何场景命令,那比方说我们改个名是不是改名,比方说嗯,别改名了,别改名也行啊。
34:06
点名叫LS,这时候呢,我们看它是不是能当LS用,可以不。真的可以注意我写路径了啊啊,你看是不是可以当LS用,没问题啊,真的可以当LS,那我就把再改成CP,那这时候它是不是就可以当CP用。那比方说我拷一个文件过来啊,放到data下,起个名字叫,你看真的可以用,是不是你叫啥名他就改啥,你改成啥名他就能当啥用啊,那甚至他能不能当HTTP用啊,HTTP主进程能不能这么用啊,那来试试,哎,看看开了端口没?哎呀,既然开了真的可以厉害不厉害?八零端口开了,当然我们是不是现在就可以访问它了,试试吧,啊,不过没有页面,那加个页面就好了,它默认应该就是在当前目录下找页面,所以我们就直接在这写一个叫welcome,酷busy box的site index,看看是不是能出来。
35:33
怎么样,厉害不厉害,你看小小一个编报啥都能干,几个摆的命令都能干啊,当然了,我们要用这种方式,显而易见,这个是我们现在这是从人家官网上直接二进制下来的,那这个东西诶大家想过没有,这个东西我们是不是结合我们自定义的小Linux?把它放到我们自定义的那个硬盘里面,这不就几百个命令都在这了吗?我们就不用拷了,是不是我们按以前拷库啊,拷什么这一个就行了,哎,我们内核也有了gra,那grab也有了,再把一加,诶这不就是一个完整的小Linux啥都有了吗?是不是实际上咱们的安卓手机啊,你可以这这么理解,安卓手机实际上就是另的内核,就再加个背boxx,再加上它里面可能还有一些虚拟机,就是Java虚拟机组成的。
36:25
它里面有几百,因为几百几百命令够用了,因为常用命令都在啊,当然我们接下来给大家演示一下这个编译安装啊,编译安装那这个是官方给的,那我们不用这个,咱们用那个边安装边安装是这样的,我这。把我那个七起来。吸起来,这个八上面编译的时候之前出点问题啊,不知道这个八上面能不能编译,这个中间有些包它缺失,导致编译不过去,所以我在贴上来给大家演示啊,把这个贴上,咱们来编译一下,我把那个源码呢,给他拿过来,源码我已经下载了,源码在哪呢?在这个地方,这个在1.32这个最新版。
37:22
啊,第一步先把常用的软件包先给它装上。好,然后呢,它解压缩busy box解开以后进来,进来以后也是用咱们之前说的make menu con,就那个菜单,就这个菜单。
38:03
呃,这个菜单弹出来,就跟我们那个编译内核,你看这个风格一样。啊,当然我们这呢要选中一项,选中一项什么呢?就是我们要把所有的这个功能集成在一个文件里。啊,那么我们要去找那一项叫什么ne。集成在一个地方,我找找啊。系统就是网络。啊是在设置里面,设置里面,设置里面往下翻一翻。来这一项选择这一项静态库,就是我们把所有的库。集成在一个文件里,就是一个文件,我连程序连库都在一块了,我就不分开放了。
39:03
哎,选中这一项,选中这一项就够了,把它退出,退出保存,这时候呢,它实际上也生成了一个类似的文件,你看到没有,从某种角度来讲,跟内核编译基本上一样啊,这里面有1000多项也不少啊,啊,那当然这里面呢,估计也应该有那些特性的启用,比方说我们u and有没有类似的这个这个命令之类的提示,看看没有这些命令啊,有没有HTTP啊,这些类似的东西也有,你看这不是启用HTP吗?所以实际上它是都应该几百个命令,FD4个有没有也有是吧,无非就是启用哪些命令,它支持哪些命令,他那里面上千个,他可能还比我们想象的要多。
40:00
嗯。好,那接着我们编译就好了,那编译的话呢,就是我们执行make make。完了。这个应该快啊,这个不大。这个很小。哎,你看这里面是网络工具,那接下来你看这是全是网络工具相关的。
41:15
好诶完事了,那编译完以后呢,它最终就生成了一个叫basic box的一个二进制程序,就这个,这是我们现在用看到的最终结果,这个啊定义完了有比官方人家要大,结为官方人才一个一兆,那当然有可能他裁电了一些东西,裁掉了一些东西啊,我们这是相当于全都留下了。那这个2.6兆的东西,我们现在就可以拿过来当成一个命令用了啊,刚才我们已经说过方法,你可以把它改名,但事实上用不着,你可以用很多方法来实现不同命令的功能啊,方法是背box,我们可以这么来写,就是你后面跟啥,它就当成命令用,那比方说你LS,它就当LS用,你要当RM,你后面跟RM,它就当RM用,那比方说我们删一个文件来试试,没有文件啊啊,没有文件,那创建一个文件呗,Touch一下,创建一个a.test那这回我们看看它是不是能看到LS,这个有吧?哎,那我也用它也可以删嘛,对不对。
42:36
啊,你看是不是真的没了,这不就可以当这个命令了吗?啊,你无非你后面跟啥它就当啥用啊,当然还有更简洁的方法就是创建软链接啊,不过软链接你要。呃,让他支持100个命令,你就创建100个和命令同名的软链接就行了啊,不过呢,这个创建软链接手工创建太麻烦,所以官方直接给你提供好了,就这个有一个叫造的,你看这里面就把我们。
43:12
这是398个软链接,看见没有,根据创建好了,你直接拿过来用就行了啊,所以实际上呢,我们想用的话很简单,就把它拷出来就可以install哎,你就可以把它拿过来用啊啊当然我们进去吧,下划线阴灶,你看这里面有B。那你看这里面每一个命令,它都是软连接。啊,你看还有RBM呢,还可以装包呢,是吧?还有sleep,那我们来试试吧,Sleep能不能休眠?前面是点休眠十秒还能当休眠用吗?没问题,看见没没问题啊,也能,你看这边有vim吗?V是不是这几百个命令,反正功能都有。
44:05
还有没有强大的CWP啊?有吗?那试试吧,那随便找个文件,呃,用冒号做个分格符取咱们它WD的第三列咋取来着到三是吧,嗯,看看能不能取出来,那看来没有啊,看来aw k既然没提供啊。那它也许不在这个路径下啊,也许不在这个路径下啊,因为它还有一个叫S病的目录呢,还有一个叫S病的目录呢,这里面是不是有一大没有,那看来aw k没有提供啊。竟然没有踢过1W,有点可惜了。
45:01
哎,有啊啊,他放这了,那路径在这呢,好吧,啊,那也人家在啊,人家在啊,人家在人家在这,人家是在这个USR定下的aw,哎,好使是不是一个box啥都干了是吧?Aw都能改,那重要的是人家才两兆啊是吧,两兆这b box啊,当然我这编译完了的这个这个东西啊,这个这个是个二进制文件,这个文件能不能在S8上用啊,然后把它拷到S8上,S6上能不能用啊,我拷到拷到,然后拷到这个八上面去,放到对塔下把我考到八上去了啊看到这。这不有个box,那我们用用它,呃,比如创建软链接,咱们也用软链接的方式,像S给它起个名字,呃,叫啥叫HBB吧。
46:03
啊,别叫HPD了,已经起了一个了啊,这个就叫LS,你看这个LS能不能用,能用看见没?哎,你传起个软链接名字叫RM,你看这个LM能不能用,能用吧。能用啊,你编辑完了,你实际上你一次编译就行了,编译完了你可以跑到六上,考到七上,考到八上都能用,它通用的啊,通用的。好,这个呢,甚至我们来个更老的版本,三三是那个。五五版本,看五版本能不能用。那我考到五上了啊,五版本113。
47:02
五版本。那版本这个box能不能用?要。不能执行二进制。看来格式还是。略微有点问题了,那在这五版本上真不行。差别太大了,五版本还有问题,六版本应该问题不大吧?六版本关机了。嗯,无版本还是不行,你看没有无版本LS用不起来,不起杠,S box不行。
48:15
啊,六版本差别不大,应该六版本应该可以。好,这个版本我们这考回来了,看看点box,哎,这可以接受,这可以接受,算上一个1.34,那可删没问题,678可以有五版本兼容性有问题,不过五版本太老了。好了,这就是给大家演示的这个baby box的编译安装啊,边安装。那么这些呢,你们下来可以自己试试啊,自己试试,呃,当然我们现在申透S的系统中,从七开始已经用CND来代替了早期的内,那么CND这个程序它有什么好处呢?啊,我们来给大家来说一说CND实际上在上午我们讲那个内T的时候提到过,它的并行启动,这个就是CND来完成的。
49:17
就CD呢,它把这些服务,不管你有没有依赖关系,基本上都能做到并行启动,所以它的启动速度非常快,但是启动起来以后,必然我们会面临一个问题,就是假设服务一和负二有依赖关系,你虽然表面上已经起来了,但是由于是并行启动的。所以用户起来以后,系统起来以后,要要访问,要访问的时候。他怎么解决这个依赖性问题?那事实上在3S7网后的系统中,它这个CND可以自动的解决依赖关系,如果发现某个服务我想访问的时候发现没启动,它会自动激活。
50:00
它会自动激活啊,举个例子,咱们上午讲这个六的这个版这个T的服务的时候提到过,T服务是个非独立服务,对吧,那非独立服务它本身不需要自己关心启动,是有人负责把它激活的。叫S服来激活,而SS7和八以后的版本中,把S服务的这个服务根本就可以不需要了,为什么呢?因为有人家有CD了。CND本身它要开机,要启动,它是系统的第一个进程,干嘛还多此依据来个CND呢?所以CD活C,呃,CND的这个C的的这个活谁来干了?CND来干了。你可以下岗了,用不着你了。你不是按需启动吗?我帮我帮你干这个活,反正我也启动,所以有了CCD以后,它可以按需激活服务。按需激活服务,那这个东西我们可以在这来实现一下啊,当然我这需要安装,我去安装一下t net,大家注意t net在S7和八以后的版本中,它已经不再依赖于SNE了,大家看你看这因为是不是不会像六一样有依赖性,把那个C服务装了,不装了。
51:25
那不装了,那么我这的China服务是没启动的,那我现在把它启动一下,启动的时候呢,它并不会立即的启动这个进程,它只是监听在他需要的端口,这个端口就是二三端口。二三端口加IP,这个叫socket。那么socket,所以它这个地方启动的时候都用的是socket,一启动大家看这就二三端口就监听了。但是监听二三端口是谁呀?监听二三端口是泰那个服务自己吗?那我们来看看就知道了,谁在监听呢?你发现没有谁在监听。
52:10
啊,CD来接这是不是就他他就干了那个的活了,那个超级守护进程下岗了,用不着了,我来干就行了啊,所以有的时候啊,一个新技术的诞生。他可能真的是颠覆性的。啊,革你命的人不一定是你的竞争对手,可可能是一个新出现的一个新的东西把你替换了是吧,替换了。那C它的历史几十年了,有了CCD他下岗了啊,CCD一旦出现,他把好多软件都给替换了。可以说,它的功能强大到。甚至有人认为。成为了一个超级懂了啊,它功能太强了。啊,当然,如果有人访问,它就会自动的激活T图,比方说我现在用T来访问他。
53:11
当你访问这时候,这边它就会自动的激活啊,你看二三端口谁在监听,谁在使用,那现在再来看你就知道了,二三谁在使用,你看是不是开始干活了,看到没有,因为发现有人连了。那你想这个是不是典型的就是CD替换了select对吧,当然如果我这把它断断断开连接,断开连接,断开连接以后呢,这边你再看是不是这个就是的服务自然就停了啊,这不就是按需启动吗。那么需要我把你唤醒,不需要你就睡觉去了。而且基本上咱们系统中的服务很多都是这么干的,需要启动,不需要睡觉。
54:05
谁来激活,谁来分制激活,那这里面呢,就涉及到两个概念,叫socket和service c呢就是套接字,套接字,比方说一个服务,和网络打交道的服务,通常要监听端口。啊,比方说咱们T的服务是接近二三,HDP服务是280 SH服务是22。以前的话呢,监听端口谁来监听。就是程序本身呗,谁提供这个服务就谁来监听这个端口,现在成了什么了?现在监听这个端口的并不是这个服务自身,而是CNE,是CND。CD帮你监听。啊,那这样的话呢,我们系统中如果没人访问,是不是这个程序根本就不启动了,这样的话是不是就特别省资源。
55:01
特别省内存,大家看我的C8只用了263兆内存。那看看六上面用了多大内存啊,我们看看它用了178兆,稍微小一点点,看看七上面用了多大内存。用了100多兆,诶这个好像更狠,134兆,他甚至比六还要小,为什么?那就是因为他有了一些这些资资源,因为他不没有访问它就不启动嘛,不启动是不是特别省资源啊,你用访问了,我就给你启动起来。所以这就是他为什么六甚至比七占的资源还要大,还要大啊,七的话才134兆。那由此更加节约资源,而我们刚才还提到了service service呢,实际上就是这个服务自身啊,比方说有一个服务运行,那么它这个程序需要以service,那么在Windows新网络的版本中,这两个东西给分离开了,就是服务式服务,Socket socket socket是监听端口,监听端口的活谁CD来干?那服务呢?你是需要的时候帮你激活。
56:23
所以这两个东西不是一个绑在一起的工作了,以前的话是必须绑在一起的,你只有这个服务启动了,它这个端口才会打开,你服务不启动端口是不会打开的,现在两个分离了,监听端口的CCD来干了,服务呢,我需要了,把你激活,明白吧,这都是CCD的特性。那么利用这个特性可以大大的节约资源的使用,同时也提高了系统的启动速度。另外在C,在C期往后,他把各种资源,比方说soet也好,服务也好,他们都统称为unit,称为unit,称为单元,统称为unit。在系统中有大量的各种资源,比方说有服务啊,有socket呀,还有一些其他资源,它通通都称为unit,称为unit。
57:19
这些unit有多少这么多?我们用这个命令可以查看系统支持的单元类型有哪些,有这么多,其中大家比较关注的这两个。二。Service socket target。这是我们比较关注的,其他的来讲呢,我们了解知道这个功能就行,比方说device就是设备,Mount是管挂载的啊,Auto mount是自动挂载,SW就是SW分区嘛,这计数器,这是pass路径等等等,这些用的不多,所以我们根本就不需要关心,一般来讲顶多关心到这就可以了。
58:01
这三个呢,Service就是我们在S6上面经常用的这个命令service来启动服务的啊,就是套件字,那么这个target呢,就类似于我们SIMPLE6里面的wrong level,就是那个零到七,零到六的七种模式,明白吧,它它换了个名字叫target,所以这个意思,他把这些不同的资源都统称为unit了啊。统称为unit,而且呢,它能自动的解决服务和服务之间的依赖关系,如果有些服务他有依赖关系,他发现这个服务没启动,它可以自动激活。啊,比方说这两个服务。我这有两个服务,一个叫rpc band。一个叫NFS服务。这两个服务是有依赖关系的。
59:00
这两个服务,其中NFS是依赖于rpc band的,如果NFS服务它想启动,就必须事先先把I band补起来,但是现在由于2B半的服务已经启动了,所以N的服务是能启动了,那现在我把它启动一下,大家看起来了没问题,两个服务它现在都是启动状态啊,I慢的也启动,但是如果我把。二半的湖给停了。然后你再想把NFS图启动起来,你会发现它起不来了,看到没有,是不是有依赖关系啊?那六呢,这个依赖关系必须人工解决,那就是说那你要想起来,那你就先把这个二倍起来,再去启动N。但是从三斗七开始,我们说了,它系统能自动解决依赖关系,所以这个问题你不用担心了,比方说我们在八上面直接演示,它也有这样的两个服务啊,一个是RPC办的。
60:06
啊,没装没有没有安装。RPC办的没有装,那么NFS这个也没装,应该是这个也没装,那我就装一下啊。NFS它叫那个包叫好,大家看我一装它,你看这里面因为有依赖关系,不是阿的也装上了吗?啊装上以后你看一下这两个服务啊,你看它是没启动的。包括n FS server。诶,N FS server服务也没启动,没关系,当你启动MS服务,它会自动的激活RP band,看看激活没激活,你看RNFS服务已经起来了,RPC办的服务是不是起来了呢?我们验证一下就知道了,看起来了没?
61:03
是不是起来了?他一旦发现依赖关系,它给自动激活,所以这是不是就省事了,就省得我们人工去解决这种依赖关系了。而就类似于亚M式的自动就解决了。所以这些都是CD的好处,知道吧?当然了,CD,好是好。在未来,未来也许不用它,因为我们容器的世界了已经来临了,容器的技技术已经大规模使用,在容器里面没有生存地。容器呢,就相当于一个小虚拟机,它里面没有CD。所以有些技术啊,刚刚流行起来,还没有还没做热呢,结果新的技术又把它颠覆了,说的挺好啊,可惜的就是新技术来了,又不一定他能坚持多久啊,不过目前来讲,在我们的物理机上还是CCD啊,好,我们对CCD先有个初步了解,我们下次上课的时候再来详细给大家讲啊,那今天呢,我们学习的内容说一下重点,哪块重点呢?那今天给大家讲的重点知识就是启动流程,哎,重点启动流程,那当然重点就是Linux的启动流程,这个面试经常问第二个呢,就是故障。
62:46
排错故障排错大家可以试试,比方说把那个那个什么布的那个目录删了是吧,看看能不能修复啊,第三个呢,就是编译内核,编译内核虽然工作中我们不一定经常编译内核,或者甚至有时候从来不会编译内核,但是我觉得作为一个运维来讲,这属于你的是吧,运维的一个基本技能吧,是不是你别说编译内核都不会,这个好像说不出去,哎,这个我觉得大家做一下,那要说重点就这几个,大家把它这个试试就行了,那今天学习的命令也不少,那把这个命令还有就是内核参数优化啊,这个必须会啊,内核参数的优化。
63:34
啊,这个实际上主要就指的是这个文件知道吧,就这个文件,这个文件知道怎么去保存啊,当然具体里面有哪些参数,这个生产环境不同的人有不同的设置,这个也是一个重点啊,也是一个重点。
64:02
啊,当然还有一个你们可以做一下的,就是那个自制小,另一个这个建议大家把baby box是不是一组合,这是不是就全了,对不对?哎,你把那个b box加到这个自制Linux里面,一启动啥都没干啊,甚至可以做一个小的,可以实现一个小的外部服务器,搭建一个外部服务器,外部服务器是吧,起来以后能网络访问,提供网页服务啊。啊,那今天学的新命令,咱们来总结一下吧,今天命令也学了不少啊,啊,总结一下今天学了哪些新命令吧,啥新命令缺啥命令了,至少都是新的吧,是吧,还有啥?
65:11
啊,还有就是做修复的一些命令啊,比方说叫内FMC以内的RD是吧,什么modeport mode pro加载内核的一些参数的,那就是一些这个模块的啊还有RM吧,叫拆康,拆康这启动服务的,启动服务设为开机启动健康啊还有一个SNTSSV。是这个没有吧,这个是六版本才有啊,那这个呃,七版本的话那没了啊,七版本已经没了,对这个命令了解一下就行,NTSSV。
66:19
还有啥?还有安装内核mode插入就是安装那核mode,还有一个是删除内核,删除那个模块RM mode r RM。L mode就是查看加载的模块,写了吗?写了写了。
67:20
还有吗?还有啥?Grab you so吧?他是上次写了没啊,上次写了还有一个交互式命令,个交互式命令。还有一个是grab生成加密口令,那个M第五。CPT吧。
68:00
还有一个是CPT。就生成那个口令那个。还有啥?大家还记得吧?有没有什么新的命令?Run level level,这不早就写过吗?Level,很早以前就用过这个,在这写过吧,Level。还没写。
69:02
中央联网。模块加载模块卸载好像没了是吧,想不起来了啊。就写了这个MK这个写过了。啊对,还有一个那内核加载的一个命令,这应该是不是之前写过呀。写过了这个过了啊,今天讲了杠A-W,杠W临时保存,杠A是显示,杠P是让它生效啊。
70:02
没了是吧,好,没了,那你们接下来就好好练吧,啊,这就是咱们今天讲的内容,好,咱们下课。
我来说两句