From ff74942afb5b1f0d2b840204325f709fa0896452 Mon Sep 17 00:00:00 2001 From: Renaud Métrich Date: Wed, 2 May 2018 14:32:56 +0200 Subject: [libraries] collect standard library paths MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Collects the paths to the libraries cached by "ldconfig". This is useful when a customer replaced a standard library by its own or when he added his own libraries to the standard paths or through symbolic links. Resolves: #1282 Signed-off-by: Renaud Métrich Signed-off-by: Bryn M. Reeves --- sos/plugins/libraries.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/sos/plugins/libraries.py b/sos/plugins/libraries.py index 4acdeb57..03f79dab 100644 --- a/sos/plugins/libraries.py +++ b/sos/plugins/libraries.py @@ -24,6 +24,23 @@ class Libraries(Plugin, RedHatPlugin, UbuntuPlugin): self.add_copy_spec(["/etc/ld.so.conf", "/etc/ld.so.conf.d"]) if self.get_option("ldconfigv"): self.add_cmd_output("ldconfig -v -N -X") - self.add_cmd_output("ldconfig -p -N -X") + + ldconfig_file = self.get_cmd_output_now("ldconfig -p -N -X") + + if not ldconfig_file: + return + + # Collect library directories from ldconfig's cache + dirs = set() + with open(ldconfig_file) as f: + for l in f.read().splitlines(): + s = l.split(" => ", 2) + if len(s) != 2: + continue + dirs.add(s[1].rsplit('/', 1)[0]) + + if dirs: + self.add_cmd_output("ls -lanH %s" % " ".join(dirs), + suggest_filename="ld_so_cache") # vim: set et ts=4 sw=4 : -- cgit