实验报告(四)
一、rpm命令及各参数的使用
1. -qa:查询已安装的所有rpm软件包

截图不完整,下面还有许多rpm软件包,可以看出-qa选项可以查询出已安装的所有rpm软件包。

这次我们使用-qa|grep gcc,可以利用输出重定向来指定查找的内容。

2.-e:卸载rpm软件包
-e选项可以删除已安装的rpm软件包,这里我们删除了gcc软件包,发现报错了,因为别的东西在使用着gcc。如果我们想要强制删除的话,可以再加上--nodeps命令。

可以发现加上--nodeps命令后确实把gcc删除掉了。
3.-ivh:安装rpm软件包
如果我们想再安装回gcc的话,可以使用-ivh选项,但是我们直接安装时会发现下面问题

这是因为我们目录里面没有gcc这个软件包,需要去别处下载gcc软件包,我们可以在CentOS光盘中找到Packages这个包,里面就有gcc软件包


搜索找到gcc软件包,然后复制到我们虚拟机的目录里面,这里我们复制到rpm_test文件夹下,然后安装gcc。

发现报错了,依赖检测失败。因为安装gcc之前需要其他软件的支持。所以我们不使用rpm进行安装了,我们可以使用yum来安装,他会自动处理软件的依赖关系,非常好用。


这里选择y

至此,gcc就安装完成了。

我们使用rpm命令检查一下,发现确实安装上了。
二、yum命令
yum是一个shell前段的软件包管理器,能从指定服务器自动下载RPM包并安装,而且自动处理依赖关系
1.yum list
yum -list:列出所有可安装的软件清单命令,以下是部分输出截图,后面还有非常多。

在后面加上包名会进行指定查找

服务器上是由gcc的安装包的
2.yum install 包名
安装指定的软件包,在rpm -ivh安装gcc时已经进行了完整的演示。上面使用了yum来安装,为什么不使用rpm来安装呢,因为使用rpm安装需要处理依赖关系,
比较麻烦。如果处理好依赖关系,我们也可以使用rpm -ivh命令来安装。
3.yum update
更新所有软件,输出内容非常多,这里只截取了一部分。

4. yum search 关键字
查找软件包命令

5.yum remove 包名
删除软件包命令

三、使用yum安装gcc编译器
直接使用yum install gcc命令便可安装gcc编译器


最下面的一行进度条完成gcc编译器就完成了。
四、使用gcc编译器进行分步编译和一步编译
①一步编译

编译完成后就可执行了。
②分步编译
分布编译流程有四个步骤:分别是 预处理、编译、汇编、链接。
在分布编译时需要用到一些选项,如下表所示

①预处理
在预处理阶段GCC主要处理带“#”的指令,如#include(头文件)、#define(宏定义)等,
并删除注释、添加行号和文件名标识。linux 系统中通常用 ".i" 作为 C 语言程序预处理后所得文件的后缀名。

-E表示编译只执行预处理。-o可以指定新生成文件名。
②编译
所谓编译,简单理解就是将预处理得到的程序代码,经过一系列的词法分析、
语法分析、语义分析以及优化,加工为当前机器支持的汇编代码。

-S表示编译执行生成汇编语言,linux 系统中通常用 ".s" 作为 C 语言程序编译后所得文件的后缀名。
③汇编
汇编阶段汇编代码转换为机器可以执行的指令。

后缀为.o的便是汇编后生成的文件,.o是c语言程序汇编后所得文件的后缀名
④链接
链接器把多个二进制的目标文件(object file)链接成一个单独的可执行文件

之后便可以将链接后的文件进行执行了


浙公网安备 33010602011771号