Sarath Pillai's picture

How Does ARP(Address Resolution Protocol) Work?

Address Resolution Protocol

Two machines in a network can only communicate with each other, if they know each other’s physical address. Although computer programs use IP addresses to send and receive messages, the actual underlying communication always happens over the physical address.

Let’s first understand how communication happens over the wire. Let’s try pinging google's publicly available dns server from a machine, and try capturing network packets and see what are the source and destination addresses.

tcpdump is a tool used for capturing network packets and see the details. If you are new to tcpdump, i would recommend going through the below article to understand the basics of tcpdump.


Sarath Pillai's picture

disown command in Linux explained with Example usage

Disown Command Examples

Executing long running process in Linux is a norm. For example, imagine you are compiling a very large program, and that is going to take really long. May be hours or even days. So basically you need a method to keep your program running longer even after you logout of the server. To put it in other words, you want a program to be running continuesly even after your shell session ends.


There are tools and even features of bash shell that you can use for this purpose. In this article, we will be discussing one such feature of bash shell called disown.


Well you might be thinking why am I calling this a feature of bash shell?. This is because disown command itself is part of bash shell. Its basically a shell builtin command similar to cd, pwd etc.


Sarath Pillai's picture

Variables in Linux Shell Scripts: Explained With Examples

Bash Shell Variables

A computer should be able to store information and then later on do operations on that information. There should be a way to store information and then later on retrieve that information. Computer programs also deal with information storage and retrieval. To store information we need storage space(computer memory). In order to retrieve the information stored in memory, we need to specify the storage location where the information is stored.


So basically we need a name, or some sort of identifier to retrieve the stored information. This is where variables comes into picture. In this article, we will be discussing about variables in bash shell scripting.


Sarath Pillai's picture

Different Methods of Executing A Bash Shell Script And Their Differences

Executing a Shell Script in Linux

This is the second article in the series "Linux Shell Scripting Tutorial". In the first article, we discussed about what a shell is, and the methods used to configure the shell or alter its behaviour using variables(or placeholders). We will be covering variables in great detail in the next article. We have also created our first shell script that prints a statement to the screen. Although we have executed the script using one of the common methods in that article, we are yet to cover other methods of executing a script..


If you are beginner in shell scripting, I highly recommend going through the first article in this series before proceeding with this one. You can access the first article by clicking the below link. 


Sarath Pillai's picture

Linux Shell Scripting Tutorial: The Basics

Linux Shell Scripting

If you are a Linux or a Unix user, then you are already using a shell by default. Every user in Linux uses a shell to interact with the system. Shell is nothing but a program that let’s you do your day to day activities. Linus Torvalds said the below in one of his interviews.



Sarath Pillai's picture

Chef Tutorial: Understanding Structure of a Chef Cookbook

cookbooks and recipes in chef

Cookbook is the basic building block of chef configuration management tool. A cookbook contains the complete set of resources required to configure an application or certain thing on a node(a node is a server that has chef agent running, which will pull configurations applicable from chef server). 

For example, a cookbook for Apache or Nginx web server will have all the installation, configuration options to completely get it running on the node. 

If you have previously worked with Puppet configuration management tool, then you can compare chef cookbooks to puppet modules. 


Before proceeding further with this article, reading the below articles that gets you started with chef configuration management tool is necessary.

Sarath Pillai's picture

How to Setup and Configure Chef Workstation

Configuring Chef Workstation

You can consider Chef workstation as a place where all the development work of chef happens. This is the place where most of the administrators will start working on creating cookbooks and recipes. The workstation contains a local chef repository. This repository can then be synchronized with the central chef server.

Chef workstation also will have a command line utility called "Knife", which will be used to interact with the central chef server.


If you are new to chef and its working..I would recommend reading the below article first.

Read: A beginners guide to Chef Configuration Management

Sarath Pillai's picture

How to Install And Configure Chef Server on Ubuntu 14.04

Chef Server Installation on Ubuntu 14.04

The central Chef server is one of the core component of chef infrastructure automation. Central Chef server acts as a single point of contact for agents to pull configurations that are applicable for them. Chef server stores cookbooks, metadata of the nodes, environment and policy details etc. Every agent in the environment will be configured to contact a central chef server.

In this article, we will go through the steps for installing and configuring this central Chef server on Ubuntu 14.04 distribution of Linux. If you are completely new to Chef, then I would recommend reading the below article to get started.


Read: Getting Started with Chef Configuration Management

Sarath Pillai's picture

Chef Tutorial For Beginners: Getting Started with an Introduction

Chef Automation

Before getting started with Chef itself, we need to understand what is “configuration management”. This is because chef comes under the umbrella of tools tagged as “configuration management tools”.


Let me keep it really simple. Its very likely that if you are reading this article then you are currently managing(or is only aware of) configuration of systems in the environment by manual method. ie: log in to the server, and do the required configuration changes. Be that creating a user, configuring ssh keys for a user, installing packages, upgrading or removing packages, modifying configuration files or any such operations.


Sarath Pillai's picture

Primary Key and Foreign Key in MySQL Explained with Examples

Primary Key and Foreign Key in MySQL

MySQL is the most widely used open source relational database management system in the world. MySQL is used by many web applications out there. While you are reading this article, you are actually indirectly using MySQL database.




Subscribe to RSS - Archives