您的位置:首页 > 运维架构 > Linux

readelf命令和Linux中进度条的实现及软件安装方式

2018-03-29 14:50 204 查看
1. 为什么调试的时候需要编译选项中添加-g,以及readelf命令加入-g选项可以将调试信息加入到到可执行文件中,有了函数名,行号等的调试信息就可以设置断点进行调试。如果没有-g选项,你将看不见函数名,变量名,所代替的全是运行时的内存地址。
readelf:主要用来分析ELF文件,ELF文件是Linux的中可执行文件的格式,PE是的Windows中可执行文件的的格式。
a.out显示可执行文件a.out的全部信息
-h a.out显示可执行文件a.out的文件头信息,包括ELF魔数,数据存储方式,ELF重定位类型,入口地址,程序头入口和大小,文件头大小,段表的位置和长度以及段的数量等等。
-S a.out显示段表相关信息,每段的信息具体段名,段长度,短类型,在文件中的偏移量以及段的其它属性。
-a a.out显示符号表相关信息,包括符号名,符号大小,符号类型和绑定信息以及符号所在段等。
-r a.out显示可重定位段相关信息。
-n a.out显示注释段相关信息。
-d a.out动态显示动态段的相关信息
-v显示重新生成版本相关信息
-h显示帮助
2.在Linux的下实现进度条程序。通过生成文件进行编译#include <stdio.h>
#include <unistd.h>
#define NONE“\ e [0m”
#define BLUE“\ e [0; 34m”
int main()
{
char buf [101]
int i;
const char * label =“| / - \\”;
for(i = 0; i <100; i ++)
{
buf [i] ='#';
printf(BLUE“[% - 100s] [%d %%% c] \ r”NONE,buf,i + 1,label [i%4]);
fflush(stdout中);
usleep(100000);
}
的printf( “\ n”);
返回0;
}
Makefile文件processbar:processbar.o
gcc $ ^ -o $ @
processbar.o:processbar.c
gcc -c $ ^ -o $ @

.PHONY:干净
清洁:
rm进程栏processbar.o
3.Linux中软件安装方式(源码安装,转安装,荫安装),以CentOS7为例
源码安装简要步骤:
压缩包文件:将软件所有的源代码文件以焦油打包并压缩。
(1)最好将压缩包文件解压缩到的/ usr /本地/ SRC目录下
(2)./ configue
            这个步骤用来检测当前操作环境,相关的软件属性等,并建立Makefile文件。
            --help显示./configue可用的参数

            --prefix = / path / path表示指定这个软件的安装路径,默认的安装路径是/ usr / local

(3)使
            依据该目录下的Makefile的配置文件将源码编译成可执行文件,而这个可执行文件会放置在目前所在的目录下尚未被安装到预定安装的目录中。

(4)安装
            以使这个程序,并以Makefile的这个参数配置文件,依据安装这个目标的指定来安装到正确的路径。

通常每个软件都会附带INSTALL和自述这种文件名的帮助文件,这些帮助文件通常会记录这个软件的安装要求,软件的安装方法等,这些帮助文件详细阅读后,源码安装基本上没有问题。
RPM安装
rpm全称“RedHat Package Manager”,这是由Red Hat公司发展出来的软件管理机制.rpm就是将要安装的软件的源码在厂商发布的系统上先编译过,并且打包成rpm机制的安装包,通过包装好的软件里默认的数据库记录这个软件要安装的时候必须具备的依赖属性软件,当安装在Linux的主机时,转数会先依照软件里头的数据查询的Linux主机的依赖属性软件是否满足,若满足则予以安装,否则不安装。
所谓软件依赖属性就是比如你想安装甲软件,但你本机上必须先装好乙软件的情况下才能安装甲软件。(虽然可以强制安装,但通常会有点问题发生)
安装方法:
rpm -i xxxxxxx.rpm
-i intall的意思
-v查看详细的安装信息
-h以安装信息栏显示安装进度
具体的信息可查看的人。
百胜在线安装
例如安装GCC
yum -y安装gcc
-y默认输入yes
荫安装和转安装的区别:
转只能安装在本地机器上的rpm包,并且不能解决包之间的属性依赖问题。
荫能够在线下载并安装rpm包,若所依赖的属性软件未安装,荫能一并下载依赖的转包并安装,可以解决软件的属性依赖问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: