#!/usr/bin/env python import subprocess def main(): lsb_core_base = ["libcrypt.so.1", "libdl.so.2", "libgcc_s.so.1", "libncurses.so.5", "libncursesw.so.5", "libnspr4.so", "libnss3.so", "libpam.so.0", "libpthread.so.0", "librt.so.1", "libssl3.so", "libstdc++.so.6", "libutil.so.1", "libz.so.1", ] lsb_core_base_ia32 = ["libc.so.6", "libcrypt.so.1", "libdl.so.2", "libgcc_s.so.1", "libm.so.6", "libncurses.so.5", "libncursesw.so.5", "libpthread.so.0", "libstdc++.so.6", "libutil.so.1", "libz.so.1", "/lib/ld-lsb.so.3", ] lsb_desktop = ["libGL.so.1", "libGLU.so.1", "libICE.so.6", "libQtCore.so.4", "libQtGui.so.4", "libQtNetwork.so.4", "libQtOpenGL.so.4", "libQtSql.so.4", "libQtSvg.so.4", "libQtXml.so.4", "libSM.so.6", "libX11.so.6", "libXext.so.6", "libXft.so.2", "libXi.so.6", "libXrender.so.1", "libXt.so.6", "libXtst.so.6", "libasound.so.2", "libatk-1.0.so.0", "libcairo.so.2", "libcairo-gobject.so.2", "libcairo-script-interpreter.so.2", "libfontconfig.so.1", "libfreetype.so.6", "libgdk-x11-2.0.so.0", "libgdk_pixbuf-2.0.so.0", "libgdk_pixbuf_xlib-2.0.so.0", "libgio-2.0.so.0", "libglib-2.0.so.0", "libgmodule-2.0.so.0", "libgobject-2.0.so.0", "libgthread-2.0.so.0", "libgtk-x11-2.0.so.0", "libjpeg.so.62", "libpango-1.0.so.0", "libpangocairo-1.0.so.0", "libpangoft2-1.0.so.0", "libpangoxft-1.0.so.0", "libpng12.so.0", "libtiff.so.5", "libxcb.so.1", ] lsb_core_base_ia32.remove("/lib/ld-lsb.so.3") #lsb_core_base_ia32.append("ld-linux.so.2") # Same goes for the 64-bit version #lsb_core_base_ia32.append("ld-linux-x86-64.so.2") safe_libs = lsb_core_base + lsb_core_base_ia32 + lsb_desktop for lib in safe_libs: ret = subprocess.call(["/bin/true"], env={"LD_PRELOAD": lib}) main()