首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从锻造中切换安装的木偶模块的过程

从锻造中切换安装的木偶模块的过程
EN

Stack Overflow用户
提问于 2013-11-24 13:31:49
回答 1查看 158关注 0票数 1

我安装了:

代码语言:javascript
复制
puppet module uninstall branan/minecraft

并使用:

代码语言:javascript
复制
class { 'minecraft': }

一个来自锻造的模块。这个模块特别安装和配置了一个Min克拉夫特服务器,但我遇到的问题确实与所有模块有关。

因此,在提供之后,服务器现在有一个新的服务正在运行,并且所有Min克拉夫特文件都存储在/opt/Min克拉夫特中。

有一天,我想尝试一个新的“我的世界”模块,因为它的目的是允许更多的定制,更容易使用等等。

我该如何切换模块呢?在我看来,我需要这样做:

  1. 以某种方式还原当前模块所做的所有更改,例如class {'minecraft': ensure => purged }
  2. 运行傀儡应用程序应用更改..。
  3. 运行puppet module uninstall branan/minecraft --modulepath puppet/forge-modules
  4. 安装新模块
  5. 使用高级配置选项(如class {'minecraft': heap_size => '1024M' } )添加新类
  6. 再次运行木偶申请..。

这似乎是一个相当长的手工过程,涉及到两个傀儡应用程序和一个“我的世界”服务器,一直到最后一步。

我认为class {'minecraft': ensure => purged }甚至不能工作,据我所见,该模块没有删除所创建的文件或服务的代码。

正如你所看到的,我很困惑,我可能遗漏了一些显而易见的东西。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2013-11-26 01:39:41

你的步子大多是对的。

然而,ensure参数在很大程度上取决于类如何使用它。据我所知,ensure参数是硬编码的。

与接受ensure参数的新模块相比,作者没有以允许卸载的方式编写他的模块。

您最好的选择是手动停止服务--无论是通过命令行还是使用傀儡(未经测试)。

命令行:改编自linux script to kill java process

代码语言:javascript
复制
ps -ef | grep minecraft

注意id

代码语言:javascript
复制
kill 1234

其中1234是我的运行实例的id。

木偶:理论上,这应该可以工作,因为您也可以访问模块提供的类。我自己也没试过。

代码语言:javascript
复制
service { 'minecraft':
    ensure => stopped
}

最后,您可能希望或不希望删除配置文件。它们似乎都位于“我的世界”主目录下,默认情况下该目录位于/opt/minecraft下。这些内容不会影响新模块,因为新模块要么会覆盖它们,要么会使用单独的目录进行信任。

然后可以卸载旧模块,并安装新模块。

一般来说,木偶脚本的应用时间不应该太长,每个不超过一分钟。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20175059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档