我有点问题。我需要使用strace实用程序来确定命令在旧Linux系统上崩溃的原因。不幸的是,我没有strace,也没有在该系统上使用gcc / binutils。
我尝试在当前的Debian系统上静态构建应用程序,但是调用getpwnam需要动态加载在编译时使用的libc版本。这样会很好,但是由于旧系统上的实用程序都是使用古老版本的libc构建的,因此在该系统上放置一个较新的libc会破坏其他所有内容。
没有下载和安装旧的Linux发行版然后进行构建,是否有更简单的方法来解决这个问题?该系统的原始分布目前尚不清楚,我研究的越多,它就会变成一个巨大的鸡蛋与鸡蛋问题。任何提示都将非常感激。
答案 0 :(得分:0)
使用过时的Linux系统绝不是明智的......它可以升级吗?如果没有,为什么不呢?什么是失败的,怎么样?有没有更新的机会?
应该有一个名为/ etc / release或类似的文件,它可以让您了解分发和版本。或者uname -a
可能会给出分布的线索。如果它不起作用,请尝试查看rpm,apt-get或其他一个包管理命令之类的命令是否可用,这将缩小分发范围。 Google搜索某些已安装的软件包可能有助于缩小版本的分发范围。
了解分发和版本,您可以获得strace(也许还有其他所需的软件包)。许多发行版都保留了档案版本(至少是旧版本的原始安装媒体)。