Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
a friend of mine who works in the linux / unix sector says that Puppet, chef and cfengine are all the rage at the moment. Is this true? is it very useful and necessary to learn to handle these tools? which one is most used in the industry? which one is the best...is it something you can learn on your own? lastly, do you need to use a scripting language with these tools? i think he said i should start picking up a book on ruby.
any advice would be helpful
Last edited by sigint-ninja; 06-07-2014 at 08:28 AM.
If you're managing a large server infrastructure, having a configuration management tool like the ones mentioned is very helpful. It allows you to keep configurations of many machines in sync from a centralized location.
I use Puppet personally at work, but Chef and Cfengine are popular too. From what I recall reading, Cfengine used to be considered not as good from a performance/usability, but it's been rewritten completely within the last few years to fix those issues. Chef seems to be more targeted towards developers and DevOps types (the recipes are Ruby scripts, as opposed to being written in a custom language). Puppet, on the other hand, is more declaratory in nature; you tell it what you want a particular config to look like, and it scripts the necessary changes for you. I wouldn't say one is used any more than others. Puppet and CfEngine are well established, but Chef has been gaining a lot of mindshare, lately, from what I've seen.
You can learn these on your own, but for a small home set-up, you probably really don't need to. If you're looking to get a professional SysAdmin type job, though, they're extremely useful to know, especially as DevOps + the widespread use of cloud computing changes the traditional sysadmin job in many companies.
I use chef and fabric quite a bit. I suggest chef over puppet, because the community version of puppet is made up of 8 different parts and isn't exactly easy to install, whereas chef 'just works.' For an idea of what it takes to install puppet, check out my install scripts at github. Chef takes 2 commands to install, and maybe 5 minutes of prep (setting the hostname mainly.)
I use the community version of Puppet pretty extensively, and it wasn't that hard to get up and running with it. Just install the server bits on the server, the agent on the clients, and optionally something like Foreman for monitoring. I've been meaning to experiment with Chef a bit more, though. My best advice would be to try several CM systems and see which one suits you the best.
a friend of mine who works in the linux / unix sector says that Puppet, chef and cfengine are all the rage at the moment.
Automation (specifically: automating system configuration, in this context) is a big deal when you're managing 100+ servers. It's also important in environments where you need to be able to ensure and report on compliance with some standard (e.g. security checklists).
Originally Posted by sigint-ninja
which one is most used in the industry? which one is the best...is it something you can learn on your own? lastly, do you need to use a scripting language with these tools? i think he said i should start picking up a book on ruby.
It's very difficult to know which of Puppet, Chef, or CFEngine are "most used", and "which one is the best" is entirely subjective. I use the Community (free beer) version of CFEngine, and I like it very much. The Enterprise version - from what I've read - comes with a web GUI front-end, so I believe you can get by without learning any programming. The Community version does require you to write/understand "promise files", which are composed in a pseudo-programming language. If you're already a programmer, it's simple. If not, it will require some study and experimentation.
I have been using puppet for the last 4 years and before that cfengine. I don't know how I survived with them before, not only does it ensure configuration files remain consistent in a production environment but it also means when you build a system pushing out your standard config is much simpler.