如何检查linux上安装lib是不是齐全

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何检查linux上安装lib是不是齐全相关的知识,希望对你有一定的参考价值。

参考技术A freeradius
你可下载源码版本,编译的时候就知道你需要什么库了
如果是二进制版本你在安装的时候,你会从安装的错误信息中了解到需要什么样的库
一般人都很难详细的说明白到底需要那些库,都是在安装的时候才知道。
参考技术B 1、操作系统级别的共享库和基础的系统工具库
比方说libc.so, libz.so, libpthread.so等等,这些系统库会被放在/lib和/usr/lib目录下面,如果是64位操作系统,还会有/lib64和/usr /lib64目录。如果操作系统带有图形界面,那么还会有/usr/X11R6/lib目录,如果是64位操作系统,还有/usr/X11R6 /lib64目录。此外还可能有其他特定Linux版本的系统库目录。
这些系统库文件的完整和版本的正确,确保了Linux上面各种程序能够正常的运行。
2、应用程序级别的系统共享库
并非操作系统自带,但是可能被很多应用程序所共享的库,一般会被放在/usr/local/lib和/usr/local/lib64这两个目录下面。很多你自行编译安装的程序都会在编译的时候自动把/usr/local/lib加入gcc的-L参数,而在运行的时候自动到/usr/local /lib下面去寻找共享库。
以上两类的动态共享库,应用程序会自动寻找到他们,并不需要你额外的设置和担心。这是为什么呢?因为以上这些目录默认就被加入到动态链接程序的搜索路径里面了。Linux的系统共享库搜索路径定义在/etc/ld.so.conf这个配置文件里面。这个文件的内容格式大致如下:

/usr/X11R6/lib64
/usr/X11R6/lib
/usr/local/lib
/lib64
/lib
/usr/lib64
/usr/lib
/usr/local/lib64
/usr/local/ImageMagick/lib
假设我们自己编译安装的ImageMagick图形库在/usr/local/ImageMagick目录下面,并且希望其他应用程序都可以使用 ImageMagick的动态共享库,那么我们只需要把/usr/local/ImageMagick/lib目录加入/etc/ld.so.conf文件里面,然后执行:ldconfig 命令即可。
ldcofig将搜索以上所有的目录,为共享库建立一个缓存文件/etc/ld.so.cache。为了确认ldconfig已经搜索到ImageMagick的库,我们可以用上面介绍的strings命令从ld.so.cache里面抽取文本信息来检查一下:

strings /etc/ld.so.cache | grep ImageMagick

ldd <可执行文件名> 查看可执行文件链接了哪些 系统动态链接库nm <可执行文件名> 查看可执行文件里面有哪些符号
strip <可执行文件名> 去除符号表可以给可执行文件瘦身
如果我们想从可执行程序里面提取出来一点什么文本信息的话,还可以用strings命令
strings <可执行文件名>

Linux操作系统上面的动态共享库大致分为三类:

如何检查用户是不是存在

【中文标题】如何检查用户是不是存在【英文标题】:How to check if user exists如何检查用户是否存在 【发布时间】:2019-07-18 04:58:05 【问题描述】:

如果xmpp服务器上存在用户帐户,如何检查xmpp节点js模块?

const Botkit = require('./node_modules/lib/botkit/lib/JabberBot.js');

var controller = Botkit(
    json_file_store: './bot_store/'
);

var bot = controller.spawn(
    client: 
        jid: botConfig.jid,
        password: botConfig.password,
        host: botConfig.host,
        port: botConfig.port
    
);

【问题讨论】:

【参考方案1】:

我猜想使用“正确”实施的服务器并且没有特殊权限,您不能。一般来说,如果您可以发现服务器上是否存在帐户,则认为这是一个安全漏洞。这也是 RFC 6120 第 10.2 节中描述的内容。

例如,这也是(大多数)网站上“忘记密码”功能不会告诉您请求密码恢复邮件的用户是否存在的原因。他们只会告诉你“如果用户存在,你应该收到一封电子邮件”。

【讨论】:

但是本地cisco jabber(或任何其他jabber)客户端如何搜索用户并添加到联系人列表中? @EgoBrain 要搜索用户,您可能需要使用用户目录。在这种情况下,您通常不会搜索 jabber(用户)id,而是搜索名称并取回 jabber id。此外,通常用户目录对于用户来说是可选的,因此您可能无法在其中找到所有用户。如果用户已经知道 jabber id,他可以直接将用户添加到其名册中而无需搜索。

以上是关于如何检查linux上安装lib是不是齐全的主要内容,如果未能解决你的问题,请参考以下文章

安装程序检查软件包依赖关系的原因是Linux中的许多软件包都依赖于(__)?

如何检查一个包是不是已经安装在 ubuntu 上?

如何检查证书是不是在 iOS 上安装和信任

Linux下怎样检查,如何查看某软件包是不是已经安装

如何检查系统上是不是安装了特定的网络浏览器?

如何在Ubuntu上检查一个软件包是不是安装