1

我有一点问题。我需要使用 strace 实用程序来找出命令在较旧的 Linux 系统上崩溃的原因。不幸的是,我在那个系统上没有 strace,也没有 gcc/binutils。

我尝试在当前的 Debian 系统上静态构建应用程序,但调用 getpwnam 需要动态加载编译时使用的 libc 版本。这很好,但是由于旧系统上的实用程序都是使用旧版本的 libc 构建的,因此在该系统上放置新的 libc 会破坏其他一切。

如果没有下载和安装旧的 Linux 发行版然后进行构建,有没有更简单的方法来解决这个问题?该系统上的原始发行版目前未知,我研究得越多,它看起来就像一个巨大的鸡与蛋的问题。任何提示将不胜感激。

4

1 回答 1

0

使用过时的 Linux 系统绝不是明智之举……可以升级吗?如果不是,为什么不呢?什么是失败,以及如何?有机会更新吗?

应该有一个名为 /etc/release 或类似文件的文件,它应该让您了解发行版和版本。或者uname -a可能会提供有关分布的线索。如果它不起作用,请尝试查看诸如 rpm、apt-get 之类的命令或其他包管理命令之一是否可用,这将缩小分发范围。在 Google 上搜索一些已安装的软件包和版本可能有助于缩小发行版本的范围。

了解发行版和版本,您可能可以获得 strace (也许还有其他需要的包)。许多发行版保留了存档版本(至少是旧版本的原始安装媒体)。

于 2013-03-28T02:36:29.550 回答