【问题标题】:How to gather all facts on an unknown machine with Ansible?如何使用 Ansible 在未知机器上收集所有事实?
【发布时间】:2014-09-25 05:14:16
【问题描述】:

如果我开始管理一台相对不为人知的机器,使用 Ansible 和/或 Bash 或 Python 快速找出已安装的内容和版本的最简单/最佳方法是什么?

我很想知道一个通​​用的答案,但我目前最感兴趣的两个系统是 RHEL 和 Mac OSX。

谢谢! ps这篇SO帖子仅描述了如何列出ansible安装的内容,即在我接管之后。 How to check what installed by Ansible?

【问题讨论】:

  • 我认为ansible HOST -m setup 应该为您提供 Ansible 可以获得的所有信息。

标签: python bash configuration installation ansible


【解决方案1】:

对于 RedHat(和衍生产品),已安装软件包的列表可通过 rpm -qa 获得(出于理智目的,您可能希望将 | sort 添加到该列表中)。

对于 Debian(和衍生产品),已安装软件包的列表可通过 dpkg -l 获得。

那些只列出软件包安装的软件。手动编译/安装的任何内容都不会出现在该列表中,并且没有简单的方法来获取这些内容的列表(尽管查看 /usr/local/opt 是不错的起点)。

我不知道如何为 OS X 获取这种列表。虽然我认为 App Store 可能是一个开始的地方。 Applications 文件夹另一个。

对于OS X 上的brew,已安装软件包的列表可通过brew list 获得。 对于OS X 上的macports,可通过port installed 获得已安装软件包的列表。

【讨论】:

  • 对于 homebrew 它是brew list。对于 macports,它是 port installed
  • 泰!唉,我担心我会接受这些答案:)。如果我真的很担心手工工作会带来什么,那么我是否完全坚持手动四处寻找?如果是这样,也许我需要问另一个问题,如何保持系统清洁和可以找到它的安装?不过,我不知道该如何表达这个问题。
  • @AnneTheAgile 是的,对于没有通过某些系统安装的任何东西,您可以查询您是否被手工工作、以前的更改文档和/或询问以前的维护者所困。这就是为什么通常强烈鼓励不要在生产机器上使用未打包/非托管软件的原因,以及为什么(在一定程度上)像ansiblechefpuppet 这样的系统是在最初创建的地点。
  • 泰!我试图组织我的应用程序,但它可能会变得非常乏味并且有时仍然不清楚。在一个相关主题上,我确实喜欢 Windows(从 7 开始?)现在具有可用于排序和 cmets/元数据的 MSI 安装程序列表。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-13
  • 2022-01-12
  • 2017-01-03
  • 2015-09-12
  • 1970-01-01
  • 2018-01-16
相关资源
最近更新 更多