在开发中遇到了这个问题. 我们使用Chef来自动的运行Yum install 从yum repo安装一个软件的package (叫做Logstash), 这个软件在我们的设计里需要运行为两个instance, 一个是agent 一个是server, 在生产环境中, 因为系统是分布式的, 所以agent和server一般都在两个系统里, 所以没问题.
但是.. 我们的开发环境只有一台server, 如果要模拟agent client模式 就需要安装这个软件两次到不同的路径,然后分别启动. 请问在不改变我们设计的前提下,有没有什么好的办法通过yum安装两次这个软件, 可以一个是/opt 一个在正常的/usr/local/share, 也不考虑安装为service之类的复杂情况
Update: 看来Yum很难达到这个目的, 那么可以让Chef根据环境的不同, 添加不同的配置给logstash, 因为我们的input filter和output配置是分开写的, 其实很容易把他们都添加给开发环境里的那个logtash, 让它同时做agent和server.
我认为你应该是想错了思路, 你应该去改 Logstash 的配置文件,而不是安装两次。