00:00
接下来我们要介绍的呢,是第八章Linux下的软件包管理啊,这一部分相信大家都不陌生,因为不管是什么样的系统,我们总要装软件吧,一个电脑想要发挥作用,那就离不开各种各样的工具软件啊,比方说像我们在这个Windows里边,你如果想要办公的话,诶,那你得去安装office办公软件啊,Word PPT。Excel等等等等啊,那如果说你想要去写代码的话,我们可能需要去安装idea之类的IDE工具,那如果说我们想要去上网的话,那你得安装火狐Chrome或者说IE浏览器等等的各种各样的浏览器工具,所以即使是服务器,我们知道他使用这个Linux系统,你如果想要跑各种各样服务的话,那也得有对应的软件支持啊,啊,那软件怎么样去安装,怎么样去升级更新,怎么样去卸载,这就涉及到一个统一的管理工具了。啊,那我们知道在这个Windows里边,它可能划分的没有那么细啊,一般我们关心的就是怎么样把这个软件装上,装上了之后,诶,那如果是更新的话,往往就是他自己给我们提供这个在线更新,那如果要是卸载的话,那就统一到系统的控制面板里边去做相应的软件卸载了,那在Linux里边呢,它就没有这么分散,Linux里边我们统一。
01:19
提供自己的软件包管理工具,把所有软件的打包、安装、更新、卸载操作全部统一管理起来啊,所以这样的话就更加的系统性,更加的合理,那对于不同的发行版本呢,它可能有不同的软件包管理工具啊,那大家可能比较熟悉的,像有些同学用这个乌班图的话。我们知道它是的变系列的啊,这一系使用的软件包管理工具就是apt啊,非常有名啊,我们如果想要去安装一个软件的话,可能往往就是apt get啊。呃,这个是比较熟悉的一个命令,而我们现在使用的三套S3套,这属于红帽系了啊,整个红帽系列的发行版,他们所使用的包管理工具都是一样的。
02:06
就是我们这里所说的RPM,大名鼎鼎的RPM,所以首先这里要介绍的就是RM了,我们先看一下,它是一个缩写,全称就是red hat package manager,然后很明显这就是红帽的。包管理者包管理工具,哎,所以整个红帽系啊,不管是red hat的企业版,还是Santos还是fedora啊,他们其实通通使用的软件包管理工具都是RPM啊啊,那当然了,我们可以说它类似于Windows里边的setup.exe文件,诶,那其实我们知道还是有所不同的啊,setup.exe主要就是负责我们当前一个软件的安装啊,那其他的功能是没有的,RPM呢,它的功能其实要强大很多,它不光可以安装,还可以卸载啊,还可以更新,甚至它还可以直接从源码包里边去直接build一个软件出来啊,所以这个其实比Windows里面的操作还是要强大灵活很多啊。呃,那RPM呢,其实它是用使用了这个红帽啊red TD的标志,但是理念其实是通用的,所以有一些其他的系统里边也是支持这个RPM进行软件包的管理的。
03:22
啊,那既然它是管理软件嘛,我们首先最关心的就是你先得能给我把软件装上,怎么样去安装一个软件呢?呃,Windows里边那是setup,点点exe直接去运行就可以了啊,那RPM它是怎么管理的呢?它是需要啊,你首先还是得有一个安装包,那在RPM这个操作下边,它所指定的安装包文件相当于就是点RPM后缀的这样一个所谓的RPM包啊,那我们看一下它的这个命名规范吧,命名格式,比方说这样一个文件啊,那么前面对应的这就是我们要安装的软件名称,这里是以阿帕奇作为例子啊,后边呢,呃,对应的当然就是软件的版本号了,然后再往后,诶,这里点I386,诶,那这指的是软件所运行的硬件平台啊,那你像这个I386的话,就指的是英特尔的32位处理器的统称啊,那如果是64位处理器的话,我们现在一般就是叉八六杠六四啊。
04:22
那一般我们现在使用的软件都是这个版本了,最后边的点RPM,这是文件的扩展名,表示当前是一个RPM包,所以接下来我们就可以使用RPM去进行软件的安装管理了。呃,那首先我们先来看一下啊,在安装之前先来看一下当前到底安装了哪些软件,诶,那这里边就首先介绍的是RPM的查询命令了,RPM相关的这个命令的都是直接使用RPM就可以,后面如果要查询的话,加一个杠Q啊,我们知道Q是query嘛,查询当前所安装的软件包,那后面加一个A呢,就表示是所有的or啊,查询所有已经安装的RPM。
05:08
软件包,所以接下来我们可以在控制台里边直接来做一个实验。RPM,然后后边加上杠QA啊,我们看到这个装安装的这个软件还是非常非常多的啊,所以一般情况我们肯定还是要做一个管道过滤了,呃,比方说我们关心的,其实我们知道现在安装的软件啊,有一些都是系统给我们自己安装的,有一些可能是比较底层的,你看这个,呃,像这个Python的支持啊啊,那那这些肯定我们不敢随便去,随便去卸,随便去给它进行更改,那那我们知道的,比方说在当前的虚拟机里边,它是有浏览器的,我们还记得当前的浏览器,诶那我们看到这个应用程序里边,这里firefox是火狐浏览器,互联网这里边能够看到,所以接下来我们就以这个火狐为例,来看一看RPM到底怎么样对它进行管理吧,我们来做一个。那当然就是firefox。
06:02
我们看到把它搜出来了,确实已经安装了火狐当前的版本啊,就是六十八点一零点零,呃,杠1.1L7啊,那后边是三套啊,那当前是三套,下边的火狐版本,后边是对应当前64位英特尔处理器硬件平台叉8664这样的一个版本啊,当然了,我们这里看到的这个信息只能查到当前这个安装包文件,那有一些详细信息,如果我们还想去考察的话,诶,那其实可以再增加一些参数,比如说我们现在其实不需要这个A了,因为只是想要找到这个firefox嘛,哎,那比方说我们可以加一个I Qi表示的I是information的意思,就是要表示展示啊,查询出来要展示详细信息,哎,那所以这里边我们可以直接这就不用GR了。我们可以直接跟上某一个软件的名称,查询的就是当前这个软件有没有安装,诶我们可以看到看得很清楚啊,当前内firefox版本,诶是这样啊,呃,还有这个release,就是发行的这个版本具体是什么,然后还有当前硬件的这个架构平台,当前啊,安装的时间,后面还有大小啊,对应的license,还有这个签名,各种各样的详细信息一目了然,所有东西都在这里了。
07:21
所以对于这个RPM来讲,对于软件的信息我们可以查看的非常清楚。除了查询信息之外,我们最关心的当然还是安装软件和卸载软件啊,那比方说像现在的这个firefox啊,啊,我们既然已经安装了,那我们就先来考察一下怎么样去做一个卸载吧,卸载其实也非常的简单,我们这里就直接RPM加一个杠E选项就可以了啊,后面跟上要卸载的软件包,这个的话我们不需要给这个软件包的全名,只要给对应的那个软件名称就可以了,所以我们直接杠一就可以把它卸载掉。
08:01
这里还有一个可选项,常见的有一个可选项叫做杠杠no depth啊,这里的DEF啊,DEP指的就是dependence,所以这里指的就是不要去考虑当前的依赖关系,直接卸载。什么意思呢?呃,主要就是说我们当前安装的很多软件啊,有可能就会出现这种情况,诶我们装了一个软件,接下来呢,有一些软件是依赖于它的。在它的基础上才能够运行,那所以如果这个时候我们把底层的这个软件卸载掉的话。那依赖于它运行的那些软件,相当于也就没有办法运行了啊,那所以在这种情况下,你如果要卸载这个底层的软件,肯定就应该要仔细的考虑一下啊,本身这个系统是不让你去卸载,那如果说我们就要强行把它卸载的话,那你可以加上杠杠no de不检查依赖直接卸,但是一般这个不太推荐啊,最好我们还是要搞清楚它的这个依赖关系再去做卸载啊,所以接下来我们就来尝试一下使用RPM-E卸载当前的火狐浏览器啊,这个其实也非常简单啊,直接就是。
09:10
RPM。杠1FIREFOX。直接啊,当然这里边有一些警告啊,这个没什么关系,是有一些特定的配配置文件,或者说呃,看我们这里跟语言相关的一些文件啊,没有找到,这个没关系,我们到虚拟机那边可以去看下,我们可以先来查看一下,当前还有没有firefox,我们看未安装软件包firefox啊,那当然了,我们也可以到虚拟机里边去测试一下,我们可以去看一下,诶,当前应用程序里边,确实现在互联网已经不存在火狐浏览器了,说明我们真的把它卸掉了。当然了,能卸就能装啊,那接下来我们怎么样把它再安装回来呢?其实也非常的简单啊,我们这里边就只需要RPM-I,只要用这个杠I选项,它就表示install,就可以直接进行一个安装操作啊,那当然了,一般使用的时候呢,我们还要加上另外的两个参数,就是V和H啊,这个是V指的就是显示详细信息,H呢啊,它是杠杠,哈哈希表示我们当前可以去显示安装的一个进度条,所以往往这个V和H合在一起,就有了一个比较友好的可视化的一个安装的进展啊,一般会把它们加加进来,你如果不加这两个选项,只是杠I的话也能安装,但是我们当前控制台可能就没有任何的提示信息,就在那卡着,在那儿安装,装完了之后直接退出啊,这样就不太友好,当然了这个安装的时候也有另外一个杠杠no DES这样一个操作啊,它表示的也是安装前。
10:47
不检查任何的依赖关系,直接装啊,当然这个安装的时候可能问题就不是很大啊啊,那所以接下来我们就尝试着做一下这个RPM的安装,这里面需要注意的是跟前面的卸载或者说查询不一样,因为那个我们已经安装好了,只要给一个对应的软件名称就可以。
11:07
而现在你要做安装呢,那是不是就必须要给一个当前RPM安装包的全名啊,诶,所以你必须把那个安装文件要提供进来。诶,这里面就涉及到一个问题,诶,那我们现在要安装火狐的话,有对应的安装文件吗。呃,其实当然是有的啊,因为我们知道当前这个系统直接我们装好系统之后,Firefox就自动安装好了,很显然这个安装文件好在我们系统的那个安装光盘里边,它是有的啊啊,那我们想一想当前这个呃,系统安装光盘在哪里呢?啊,首先我们可以确定一下啊,确认一下诶,这里这个光盘是已经挂载上来的,如果没挂载上来的话,我们还得去冒一下啊,首先要让他这个光,当前的这个光驱要启用,首先能检测到,然后有了它之后,接下来我们看一下当前的挂载信息,LSBLK刚好复习一下这个命令。
12:01
诶,我们看到当前的S20,这是。当前的这个光盘存储设备CDRO,那么它挂载到了,这是我们启动的时候自动挂载啊,挂载到了RA media下边ROOT3TOS7叉8664,下面好,我们就到这个目录下边去找吧,直接CD到RO me route。三套。到下边去看一眼,这下边有一个目录叫做packages。包啊,那很显然,我们安装的很多软件包应该就都在这个下边,我们去看一眼。Packages。果然这里就有很多RPM安装包文件啊,点RPM作为后缀名,那我们这里关键是要看一下有没有firefox,诶,那就LS去grape一下firefox。啊,没有问题,这就是之前我们已经安装过的那个版本,所以接下来呢,我们只要用这个版本来再做一次安装就可以了,啊,所以我们当前就是RPM-I可视化的进程V加上,然后接下来选择当前的firefox。
13:11
对应的这个RPM安装包,然后回车,我们看到当前就有一个可视化的进度条正在升级或者安装啊,这个操作其实就是你可以用来安装,也可以用来升级啊,啊,所以我们现在就已经安装好了,安装好了之后又可以再来做一个检查RPM。杠。Qi。Firefox。哎,我们可以看到,现在就再次又已经安装好了,那同样我们可以回到。当前的虚拟机这边来看一下应用程序,诶,现在firefox又回来了,互联网这里边又有了火狐浏览器这样的一个标志啊,所以这就是使用RPM进行包的安装管理的具体过程。
我来说两句