linux应用程序逆向,Linux下查看并下载命令源码包(根据命令/应用程序逆向获取并且安装其所属源码包)...

使用linux的过程中,我们会熟悉各种命令,偶尔我们不禁会问,这些命令是怎么实现的,学习他们其实是学习linux高级系统编程很快捷的方法。

这些命令的源码肯定是存放在相应的包里面,但是是哪些包呢?

发行版的包管理器为我们提供了很方便的命令接口,供我们查找我们指定命令所在的包

比如我们以最普通的uname命令来说明,

使用我们使用whereis或者which命令可以查找命令的绝对位置

通过rpm或者dpkg命令搜索命令所属的包信息

下载并安装对应的源码source包,即可得到源码

CentOS等rpm包管理器

搜索斌下载命令所属包

怎么查看某个命令的源代码

比如想查看uname这个命令的源代码

## 查看命令

which uname

## /bin/uname

##查看命令所属的包

rpm -qf /bin/uname

##下载对应的xxx.src.rpm源码包

yumdownloader --source coreutils-版本号

0818b9ca8b590ca3270a3433284dd417.png

[问题1]

没有yumdownloader 的话可以这样子安装

yum install yum-utils

[问题2]

如果提示No Match for argument coreutil-5.97-23.el5_4.2

说明源中可能没有这个包,那么我们只能手动下载

注意

我们需要的是源码包,因此下载的应该是xxx.src.rpm的包。

安装或则解压源码包得到源码

下载了源码包以后有两种方法可以查看到源码包,

第一种方法

rpm -qpl coreutils-8.5-7.fc14.src.rpm | grep tar ##查询rpm中的tar文件,源码一般放在这里

##从rpm包中提取指定的文件

rpm2cpio coreutils-8.5-7.fc14.src.rpm | cpio -idv coreutils-8.5.tar.xz

tar xjvf coreutils-8.5.tar.xz

##到解压出来的coreutils-8.5/src/中就能找到相关的源码了

第二种方法:安装源码包

rpm -i coreutils-8.5-7.fc14.src.rpm ##安装源码包

centos和rhel一般安装后的源码在/usr/src/redhat下的各个目录下,但fedora是在~/rpmbuild/SOURCES/

可以通过locate命令查询代码包被安装到哪里了

locate coreutils*tar

/home/workhard/tmp/coreutils-8.5.tar.xz

/home/workhard/rpmbuild/SOURCES/coreutils-8.5.tar.xz

cd /home/workhard/rpmbuild/SOURCES/c

tar Jxvf coreutils-8.5.tar.xz

cd coreutils-8.5/src/

ll uname*

安装*.src.rpm后怎么卸载

cd /home/gatieme/rpmbuild/SOURCES

rpmbuild --rmsource --rmspec coreutils.spec

0818b9ca8b590ca3270a3433284dd417.png

相关说明

yumdownloader

yumdownloader comes from the yum-utils package, if you don’t have that installed already.

yum install yum-utils

RPM用法

rpm {-i|--install} [install-options] PACKAGE_FILE ...

-f, --file FILE

Query package owning FILE.

-p, --package PACKAGE_FILE

Query an (uninstalled) package PACKAGE_FILE.

-l, --list

List files in package.

-qf:查找指定文件属于哪个RPM软件包

-qpl:列出RPM软件包内的文件信息;

rpm2cpio

Extract cpio archive from RPM Package Manager (RPM) package.

顾名思义,rpm2cpio是将rpm包文件转换成cpio归档文件

CPIO用法

cpio - copy files to and from archives

-i 抽取的意思,和"--extract"等同-d 建立目录,和"--make-directories"等同-v 冗余信息输出,和"--verbose"等同

rpmbuild用法

--rmsource

Remove the sources after the build

--rmspec

Remove the spec file after the build

Ubuntu等deb包

与RedHat系列的rpm包不同,Ubuntu使用的是Debian的deb包,因此搜索和安装的方式略有不同,但是思路是一样的

找到想看源码的命令属于哪个包:

dpkg -S `which cp`

coreutils: /bin/cp

下载源码:

apt-get -d source "coreutils"

其他发行版

其实我们从上面的过程就可以看到,大多数的命令源码都是在包coreutils中的,其他发行版直接下载即可

coreutils 是GNU下的一个软件包,包含linux下的 ls等常用命令。这些命令的实现要依赖于shell程序。

GNU/CoreUtils 是一组类 Unix 操作系统所需的基础软件包。它包含三组命令,常用的命令如 cat、ls、rm。

对于其他一些非标准的包,我们可以采用同样的方法,因为这些命令必然我们安装的包或者应用程序所自带的,比如git

0818b9ca8b590ca3270a3433284dd417.png

再比如top命令等,就位于procps包中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/525989.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux windows变色龙,体验开源变色龙SUSE Linux Enterprise Server 11

体验开源变色龙SUSE Linux Enterprise Server 11SUSE Linux Enterprise Server 11主要针对的是企业用户,SUSE产品分为SUSE Linux Enterprise Desktop(SLED)和SUSE Linux Enterprise Server(SLES)两个版本。笔者测试的版本为Server版本,主要面向SMB甚至是…

c语言数组下标越界检查程序,数组下标越界

已结贴√问题点数:20 回复次数:11数组下标越界题目是一个有10个元素的数组,存有10个考生的分数,写5个函数,分别计算总分,最高分,最低分,平均分,分数升序排列。我写了5函数…

weex android 性能,跨越适配性能那道坎,企鹅电竞Android weex优化

作者:龙泉,腾讯企鹅电竞工程师商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处。WeTest 导读企鹅电竞从17年6月接入weex,到现在已经有一年半的时间,这段时间里面,针对遇到的问题,企鹅电…

华为5g鸿蒙折叠,华为5G折叠概念新机:内折叠+麒麟9000+鸿蒙OS 这才是华为的实力...

从手机二十多年的发展历史来看,现在很多形态各异的智能手机,其设计思路与功能机时代一样,比如三星Fold的折叠手机,就和功能机时代的翻盖手机类似,又或者OPPO的X 2021卷轴屏概念机,则和功能机时代的滑屏设计…

iis7.5配置 html,windows server 2008R2系统 IIS7.5配置伪静态的方法(urlrewrite)

这篇文章主要介绍了windows server 2008R2系统 IIS7.5配置伪静态页面 ,需要的朋友可以参考下从网上找了一下,原来微软IIS官方网站给IIS7及以后续版本提供了个URL重写组件。下载地址:http://www.iis.net/download/URLRewrite或者//www.iis7.com/softs/479…

cad多线段长度计算总和_没想到啊,我平时用的CAD多段线有这么多学问

很多人都说,CAD用多段线来代替直线绘图会比较方便,因为多段线除了常规直线功能之外,也能画弧线,更重要的是,一次命令执行的线条为一个整体,操作方便。难道多段线PL仅仅只有这明面上的实力吗?当然…

毕业与计算机专业,电子与计算机工程专业毕业后干什么

学分网给各位考生筛选整理了:电子与计算机工程专业毕业后能做什么,电子与计算机工程专业的就业去向,电子与计算机工程专业毕业后干什么,电子与计算机工程专业主要学习哪些课程,希望对大家有所帮助,更多的资…

网站备案靠谱吗_网站外包靠谱吗目前都是什么价位

网站外包靠谱吗先要防坑再说行情。说下网站外包那些容易入的坑,如果避开这些坑才能更好的做网站。经常遇到的问题如下假案例,吹牛逼:拿着别人的案例来忽悠,压根不是自己做的!消极怠工,拖延工期:…

浪潮n系列服务器指示灯_【科恩电气】通用薄型区域传感器 NA2N系列

强烈推荐NA2-N系列通用薄型区域传感器,用作保障人身安全的检测装置时,请务必使用光幕传感器。垂询电话:400-867-5758NA2-N8/NA2-N12/NA2-N16/NA2-N20/NA2-N24/NA2-N28全系列现货供应产品详细参数如下:最大检测高度540mm(28光轴)实…

品质主管每日工作需要做哪些_做微信社群运营需要用到哪些工具来铺助工作呢?...

对社群工作进行运营并不是人们想象的那般不需要风吹日晒,只需要待在房间里就能够轻松工作了。虽然这些工作人员不需要每天风吹日晒的,但是工作起来一点都不轻松,而且还非常的繁琐。其实对微信社群运营是需要采取一些辅助工具来帮忙的&#xf…

蚂蚁森林快捷指令_iPhone「快捷指令」怎么玩?玩法太多,别让这个功能吃灰

自iOS 12.1.4 系统更新之后,苹果就增加了「快捷指令」这一功能。熟练使用这个功能的小伙伴,可以让平时的生活工作效率大大提升,将一系列复杂的流程变得简单化;对于不熟悉这个功能的小伙伴而言,它只藏在手机角落的一个小…

分享按钮 html代码,超简洁微博分享按钮代码

摘要由于本站实现了全站https,百度分享的js就失效了,虽然用的不多但总还是少了点什么。本来打算把百度分享的所有资源下载到我的服务器上调用,但转念一想我就用一个微博分享和百度分享啊,干嘛如此麻烦!由于本站实现了全…

.rdlc 文件设置方向_在Word里面怎么设置把字竖着打出来?

如果是整篇的文字需要竖排,可以在菜单中依次打开【文件】-【页面设置】,找到【文字排列】设置为【垂直】。如果是部分竖排,则选中文字之后选择【插入】-【文本框】-【竖排】即可。操作步骤如下:1、整篇文档中的文字竖排&#xff1…

antd table排序会触发到分页怎么解决_多年管理系统开发经验总结~代码解决方案...

来源 | juejin.im/user/870468939940184 作者 | 前端小月月背景最近的你有没有接手的新项目,对这个有什么感觉?我最近接手了一个项目,先不论是否代码行数的多少,仅是思路就很混乱,像是一件衣服在打补丁,而…

如何占用计算机内存,电脑内存占用太高怎么办 教你电脑内存不够用解决方法...

现在很多白领买电脑,都会优先考虑电脑的续航和便捷,因为他们买电脑主要也就办办公,看看电影,又不玩大型游戏,所以高性能对他们来说也没什么必要。笔记本电脑但现在市面上续航久,便携性比较高的Intel电脑&am…

3d怎么把两个面拼接在一起_vr全景看房用什么软件做的?3D看房是怎么拍摄的?...

以往“看房跑断腿”的时代在vr全景看房出现后就得到了很大的解决,如今疫情和“宅经济”的双重影响下,各行各业不得不寻求线上转型;而vr全景对于房地产等行业便是一个很好的转型方式。vr全景看房也被一些朋友称之为是3D看房和VR看房&#xff0…

蓝牙小电池图标_提高MacBook电池寿命的15个技巧

苹果的MacBook系列以其电池寿命著称。它们的电池续航时间一般都很好,按照苹果公司的标准,所有型号的电池续航时间都保证为10小时。然而,这里有很多附加的条款和条件,如果你想延长你的MacBook Pro或MacBook Air的电池寿命&#xff…

html转word 时 字体颜色,【Web前端问题】文字大小和颜色随着热度改变如何做?...

回答:提供一个思路:可以根据热度设置一个倍率,然后字体大小和背景透明度根据倍率设置回答:使用websocket,热度变化时,数据自动改变回答:回答:我提供一个我自己写的小demo我猜楼主的问题是不知道如何把颜色亮…

android实现qq修改密码底部弹出框_易查分强大的“可修改列”功能:轻松实现填表、留言和信息核对...

考试成绩公布了,想征求家长和学生的意见吗?给查询加个留言吧;需要家长填写一些表格,还在用QQ和微信群一个人一个人的留言粘贴吗?公布一些资料,想让家长自己核对一下有没有错误,家长还要告诉老师…

计算机程序的建立命令,数控车床编程指令 编程由一系列的指令组成

原标题:数控车床编程指令 编程由一系列的指令组成引言:数控程序员为数控机器编写指令,其中计算机连接到加工设备,以及完整系统的电气驱动器和传感器。这台计算机控制加工设备轴的运动。文章将以数控车床为例,介绍数控车…