c - 如何静态编译 ps(procps)
问题描述
出于取证的原因,我想在 Centos 上编译一些基本工具,如 cat、grep、vi、find、md5sum、dir..etc。当我们做取证时检查进程列表非常重要。所以我尝试编译 ps(procps)静态的。我确实失败了。这是我尝试的步骤:
git clone https://gitlab.com/procps-ng/procps.git
cd procps
./autogen.sh
./configure LDFLAGS="-static"
make SHARED=0 CC='gcc -static'
还用谷歌搜索了很多帖子并尝试过:
./configure LDFLAGS="-all-static"
./configure --enable-static --disable-shared
make SHARED=0 CC='gcc -static'
make -e LDFLAGS=-all-static
export LDFLAGS="-static -Wl,--no-export-dynamic"
make -e LDFLAGS=-all-static
make sense CC="gcc -static"
并将这些配置与 make 结合起来,这些都不起作用,有些编译失败,有些编译成功,但是当我用 ldd pscommands 检查它时,它显示
[root@localhost ps]# ldd pscommand
linux-vdso.so.1 => (0x00007ffca9bc2000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f3b078cd000)
libc.so.6 => /lib64/libc.so.6 (0x00007f3b07500000)
/lib64/ld-linux-x86-64.so.2 (0x00007f3b07ad1000)
procps 是否对这些非静态库有一些深度依赖?
解决方案
您可能需要安装 glibc-static。
推荐阅读
- php - (PHP) 等待子进程超时退出
- angular - 将 FormArray 设置为 FormGroups 数组
- jquery - 逐月更改时替换html文本
- java - Executor Service 任务在 Spring Boot 应用程序中执行两次
- r - r中的线性插值:根据另一列的数据替换一列中的NA
- electron - 将 devtools 中当前选定的元素传递给电子中的 javascript
- reactjs - Firebase redux 数据映射状态到道具?
- python - 从 3D 散点图构建表面,其中 2D 中的 [x,y] 转换为 [f1(x,y),f2(x,y),f3(x,y)]
- excel - 如果两列值匹配,则合并内容
- javascript - 是否可以通过一次回流来进行这些更改?