很容易知道在linux发行版上安装了哪个版本的包:
package-manager info <packagename>即:
yum info ntp但是,是否有一种“linux约定”来了解正在运行的进程的包版本?
潜在的情况是,仅仅安装包的行为并不能保证它启动的进程停止并重新启动(这是一个常见的约定,但不能保证!)。所以,我很好奇是否有办法确定这个过程的版本.它不一定是当前安装的使进程可用的包的版本。
发布于 2012-05-03 19:55:18
你可以用木偶做这件事。指定(要求)特定的包版本,并重新启动服务以匹配。您的其他包依赖项也可能出现这种情况。
发布于 2012-05-03 20:03:47
我相信您正在寻找类似于checkrestart工具的东西,它是debian-好东西包的一部分。它主要使用查看所有正在运行的进程,并确定它们是否引用已删除的文件。然后,通过搜索包数据库中的文件,将其与包名关联起来。然后告诉您哪些服务需要重新启动。
如果您没有运行基于Debian的发行版,那么我怀疑您可以下载源代码(python),并尝试使该工具适应您的环境。或者你可以弄清楚它在做什么,直接打电话给lsof。
这是某个人为Gentoo创建的.的版本
发布于 2012-05-03 19:42:49
一旦可执行文件在内存中,文件系统上的实际版本就会有所不同。所以不是。
https://serverfault.com/questions/385821
复制相似问题