Chef: command not found


#1

Hi All,

I am a beginner to the Chef/Linux world. I was trying to setup a Chef server for a lab purpose.

I have installed Chef server in an EC2 host. But when I try to run any chef command, I am getting this error.

[ec2-user@ip-172-31-50-190 ~] chef -bash: chef: command not found [ec2-user@ip-172-31-50-190 ~]

Can you please help me to find the issue here. It looks like I am missing to set path to chef. But I am not sure how to do that.

I have installed chef-manage, so I can access the Chef server GUI.

Krish


#2

You need to install chefdk if you want to use the chef command.

For a regular node, the command is (typically) chef-client, not chef.


#3

Hi nclemons,

Thanks for the quick response!

Does that mean that we can’t create any cookbook on the chef server? We have to create the cookbook in chefdk and push it to chef server?

Krishna


#4

Chef server does not provide the chef command, that comes from the ChefDK.

On the Chef server you can use the chef-server-ctl command (and chef-manage-ctl for Manage) to operate the server processes and do some administrative tasks.

If you’re unfamiliar with all of this, you might want to start with some of the tutorials to get familiar with running Chef DK and doing other tasks: https://learn.chef.io/tutorials/learn-the-basics/


#5

Thank you Nathan!


#6

Correct. You can install ChefDK on the chef server node itself, that’s not a problem, btw. But managing content in chef isn’t done through the chef server tools, they’re more for managing access controls and services.