Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用Ansible在未知机器上收集所有事实?_Python_Bash_Configuration_Installation_Ansible - Fatal编程技术网

Python 如何使用Ansible在未知机器上收集所有事实?

Python 如何使用Ansible在未知机器上收集所有事实?,python,bash,configuration,installation,ansible,Python,Bash,Configuration,Installation,Ansible,如果我开始管理一台相对未知的机器,那么使用Ansible和/或Bash或Python快速找出安装了什么东西和什么版本的最简单/最好的方法是什么 我很想知道一个通用的答案,但目前我最感兴趣的两个系统是RHEL和MacOSX 谢谢大家!! ps这篇文章只描述了如何列出ansible安装的内容(在我接管之后) 对于RedHat(及其衍生产品),可通过rpm-qa获取已安装软件包的列表(出于安全目的,您可能需要将| sort添加到该列表中) 对于Debian(及其衍生产品),可通过dpkg-l获得已安装

如果我开始管理一台相对未知的机器,那么使用Ansible和/或Bash或Python快速找出安装了什么东西和什么版本的最简单/最好的方法是什么

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

谢谢大家!! ps这篇文章只描述了如何列出ansible安装的内容(在我接管之后)

对于RedHat(及其衍生产品),可通过
rpm-qa
获取已安装软件包的列表(出于安全目的,您可能需要将
| sort
添加到该列表中)

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

这些仅列出软件包安装的软件。手动编译/安装的任何内容都不在该列表中,而且也没有一种简单的方法可以获得这些内容的列表(尽管查看
/usr/local
/opt
是很好的起点)

我不知道如何获得OSX的类似列表。尽管我认为应用商店可能是一个起点。应用程序文件夹是另一个文件夹

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

获取已安装软件包的列表。对于自制软件,它是
brew列表
。对于macports,它安装了
端口
.ty!唉,我担心我会接受这些答案:)。如果我真的很担心手工工作会带来什么,那么我是不是很习惯于手工操作呢?如果是这样的话,也许我需要问另一个问题,如何保持系统的清洁和安装的可查找性?我不知道该如何回答这个问题。@AnneTheAgile是的,对于任何未通过某个系统安装的东西,您可以查询,您需要手工操作、以前的更改文档和/或询问以前的维护人员。这就是为什么强烈建议不要在生产机器上使用未打包/非托管软件的原因,也是为什么(在一定程度上)像
ansible
chef
puppet
这样的系统首先被创建的原因。Ty!我曾尝试组织我的应用程序,但它可能变得相当乏味,有时仍然不清楚。在一个相关的主题上,我确实喜欢Windows(从7开始?)现在有MSI安装程序的列表,其中包含排序和注释/元数据。我认为
ansible主机-m安装程序
应该为您提供ansible可以获得的所有信息。