【那些年遇到过的面试题】 rpm包
来源:互联网 发布:淘宝定制的可强行退吗 编辑:程序博客网 时间:2024/05/16 19:36
RPM包安装
--hash(-h): 以#显示安装进度
--precent: 以%(百分比)显示安装进度
--force:强制安装
--install(i):安装
--nodeps:不检查依赖
-qpl:列出包裹文件
-v:显示附加信息,如果什么都不输出,表示安装成功了
--root:后面加目录,可以用来指定安装目录
-U(--upgrade):
RPM包卸载
-e(--erase):卸载,后面直接加包名(不带.rpm后缀,也没有版本信息)
--allmatches:卸载包名匹配的所有包
RPM查询
-q(--query): 查询
-a(--all):查询所有已安装的包
-g(--group): 查询有哪些软件包属于指定类别
-c(--configfiles): 显示软件包配置文件
-R(--requires): 显示软件包所需的功能、
Debuginfo
编译成功后会有3-4个rpm包,一个可执行,一个源代码,一个debuginfo, 如果程序coredump了,debuginfo包就很重要了。
http://blog.csdn.net/chinainvent/article/details/24129311?reload
博客里提到了DWARF( [dwɔːf],使矮小,还蛮形象的。。。)
http://dwarfstd.org/doc/DWARF4.pdf
http://www.cnblogs.com/catch/p/3884271.html
平时用到过addr2line 来调试coredump信息,和这个有关,有被问过。
addr2line -Cf -e usr/lib/debug/usr/apps/***/bin/***.debug 0x28F0E
usr/lib/debug/usr/apps/***/bin/***.debug是debuginfo解压出来的
0x28F0E 是pc地址减去首地址
b5d94000-b5db5000 r-xp 00000000 b3:16 64493
(gdb) p /x 0xb5da6caa-0xb5d94000
$3 = 0x12caa
addr2line可以找到信息是因为,在可执行程序中都包含有调试信息,其中很重要的一份数据就是程序源程序的行号和编译后的机器代码之间的对应关系Line Number Table。现代 ELF 中的调试信息基本是以 DWARF 格式为主,DWARF格式的Line Number Table是一种高度压缩的数据,存储的是表格前后两行的差值,在解析调试信息时,需要按照规则在内存里重建Line Number Table才能使用。
- 【那些年遇到过的面试题】 rpm包
- 【那些年遇到过的面试题】孩子 面试题
- 【那些年遇到过的面试题】关键字volatile
- 【那些年遇到过的面试题】 explicit关键字
- 【那些年遇到过的面试题】switch case default
- 【那些年遇到过的面试题】并发服务器模型
- 【那些年遇到过的面试题】gdb调试多线程
- 【那些年遇到过的面试题】tcpdump
- 【那些年遇到过的面试题】 内存泄露
- 【那些年遇到过的面试题】malloc 原理
- 【那些年遇到过的面试题】linux 内核锁
- 【那些年遇到过的面试题】select poll epoll
- 【那些年遇到过的面试题】select 函数
- 【那些年遇到过的面试题】 epoll
- 【那些年遇到过的面试题】线程安全
- 【那些年遇到过的面试题】pthread_cancel
- 【那些年遇到过的面试题】pthread_mutex
- 【那些年遇到过的面试题】pthread_cond
- 2016.6.23笔记(1)-struts初探
- 详细配置android studio中的gradle
- HDU 3480 (斜率优化)
- 【ISTQB】ISTQB介绍说明
- OpenGL深入探索——Assimp加载模型并绑定VAO
- 【那些年遇到过的面试题】 rpm包
- Python中的按位运算符
- 1099. Build A Binary Search Tree
- opencv cvCaptureFromFile读取视频总返回NULL
- ios 音频处理开发(一)iOS AudioSession中的category配置问题
- UGUI与NGUI的区别与优缺点
- 3Sum Smaller
- Java定时任务3:Jcrontab的使用
- 水晶报表函数应用