标签: chef

使用厨师删除 ubuntu 包

较旧版本的食谱安装了一个我不再需要在我的系统上的软件包。我的理解是,chef 没有一种直接的方法来明确删除一个包,所以我使用了以下的钝锤execute

execute "Remove nasty perl gearman-server" do
    command "apt-get -y remove gearman-server"
    ignore_failure true
end
Run Code Online (Sandbox Code Playgroud)

但这失败了,我猜是因为厨师本身对 dpkg 有锁定?

STDERR: E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
Run Code Online (Sandbox Code Playgroud)

我怎样才能以编程方式确保这个包不再在我的机器上?如果不清楚,我对仅限 ubuntu 的解决方案非常满意。

ubuntu chef apt

0
推荐指数
1
解决办法
1338
查看次数

通过 Chef、Puppet 等克隆和部署现有的 Linux 构建

Chef、Puppet 等是否能够指向现有的 Linux 服务器并吸收 100% 构建服务器操作系统/包版本/自定义文件/等所需的“东西”,包括构建顺序?

(我猜不是,但相信我是从去年听到的一个演讲中相信这一点的。)

linux puppet chef

0
推荐指数
1
解决办法
459
查看次数

如何“复制”服务器?

我有一个 EC2 和 Digital Ocean 服务器,我想在本地重新创建它们(相同的配置文件和所有内容)。本地我的意思是虚拟盒子(流浪者)。

我一开始是和 Chef 一起管理它们的,但不得不暂时解决这个问题(时间紧迫)。我的厨师食谱不再与服务器同步。

有什么办法可以对这个进行逆向工程吗?我尝试了蓝图,但无法正确安装应用程序。

chef amazon-ec2 chef-solo ubuntu-12.04

0
推荐指数
1
解决办法
1266
查看次数

为什么是chef、puppet、ansible、salt等?

DevOps 工具生态系统让我感到困惑。服务器编排/管理空间中的每个人都在使用自己的专有格式,而不是在任何地方都可以使用的 shell 脚本。Ansible 有他们的 YAML 剧本,Puppet 有它的类/图语言,salt like ansible 有某种 YAML 格式,chef 是一个嵌入式 Ruby DSL。在所有这些方法中,我最喜欢厨师,因为它可以做最简单的事情。所以我想,当您使用这些工具之一时,一个好处是可以更好地了解队列,但这与实际配置和供应组件正交。

我不太明白为什么每个人都试图用 YAML 重新发明 shell 脚本,因为通常ssh -t我需要用一些 shell 脚本库来完成工作。这些脚本通常打包为独立的 tar 文件,并且小而简单,可以根据需要进行混合和匹配。除了bash几乎可以在任何地方工作之外,它们具有零依赖性。那么为什么像这样的简单解决方案对于 ansible、puppet、chef 等来说还不够好?通过用bash其他格式替换脚本,所有这些解决方案有什么好处?

puppet chef chef-solo ansible

0
推荐指数
1
解决办法
1601
查看次数

Ruby/Chef include_recipe 并知道父文件中的变量?

我正在尝试在包含的文件中使用局部变量。我收到未定义的错误。我不确定有什么方法可以做到这一点,是吗?我有一个配方文件夹:

recipes/
    development.rb
    testing.rb
    config.rb
Run Code Online (Sandbox Code Playgroud)

发展.rb

username = "vagrant"
static = []
django = ["project1", "project2"]

include_recipe "server::config"   # <-- Trying to use static and django in there.
Run Code Online (Sandbox Code Playgroud)

配置文件

static.each do |vhost|  #  <-- How do I get the "static" var in here?
    ...
end

django.each do |vhost|  #  <-- How do I get the "django" var in here?
    ...
end
Run Code Online (Sandbox Code Playgroud)

ruby chef chef-solo

0
推荐指数
1
解决办法
1万
查看次数

如何在centos-71中解密密码

我已经安装了 Oracle VM 并在其上安装了 Centos-71。我正在通过 vigrant 用户登录 centos,并且在使用 Chef 配置它时也设置了密码。有没有办法解密root的密码?

chef centos7

-5
推荐指数
1
解决办法
775
查看次数

标签 统计

chef ×6

chef-solo ×3

puppet ×2

amazon-ec2 ×1

ansible ×1

apt ×1

centos7 ×1

linux ×1

ruby ×1

ubuntu ×1

ubuntu-12.04 ×1