Community Blogs

Collectl is a powerful tool to monitor system resources on Linux

Monitoring system resources Linux system admins often need to monitor system resources like cpu, memory, disk, network etc to make sure that the system is in a good condition. And there are plenty of commands like iotop, top, free, htop, sar etc to do the task. Today we shall take a look at a tool called collectl that can be used to measure, monitor and analyse system performance on linux. Collectl is a nifty little program that does a lot more than most other tools. It comes with a...

Read more... Comment (1)

Nmon – A Nifty Little Tool to Monitor System Resources on Linux

Nmon Nmon (Nigel's performance Monitor for Linux) is another very useful command line utility that can display information about various system resources like cpu, memory, disk, network etc. It was developed at IBM and later released open source. It is available for most common architectures like x86, ARM and platforms like linux, unix etc. It is interactive and the output is well organised similar to htop. Using Nmon it is possible to view the performance of different system resources on a single screen. The man page describes nmon as nmon is is a systems administrator, tuner,...

Read more... Comment (0)

Inxi is an amazing tool to check hardware information on Linux

Inxi A very common thing linux users struggle with is to find what hardware has the OS detected and how well. Because unless the OS is aware of the hardware, it might not be using it at all. And there an entire ocean of commands to check hardware information. There are quite a few gui tools like hardinfo, sysinfo etc on the desktop, but having a generic command line tool is far more useful and this is where Inxi works well. Inxi is a set of scripts that will detect a...
Read more... Comment (0)

Munich Transition Documentary

Just in general, if someone has connections with anyone over in Munich, what would be the possibility that a documentary covering their decade long migration to Linux could be assembled for the rest of us to understand better all the trials and tribulations that had to be overcome to bring the complete transition to fruition?


How to configure vsftpd to use SSL/TLS (FTPS) on CentOS/Ubuntu

Securing FTP Vsftpd is a widely used ftp server, and if you are setting it up on your server for transferring files, then be aware of the security issues that come along. The ftp protocol has weak security inherent to its design. It transfers all data in plain text (unencrypted), and on public/unsecure network this is something too risky. To fix the issue we have FTPS. It secures FTP communication by encrypting it with SSL/TLS. And this post shows how to setup SSL...
Read more... Comment (0)

30 Cool Open Source Software I Discovered in 2013

These are full-featured open source software products, free as in beer and speech that I started to use recently. Vivek Gite picks his best open source software of 2013.

#1 Replicant - Fully free Android distribution

Replicant is entirely free and open source distributions of Android on several devices including both phones and tablets. I have installed it on an older Nexus S. You can install apps from F-Droid store a GPLv2 client app that comes configured with a repository hosting only free as in freedom applications.

Read more: 30 Cool Open Source Software I Discovered in 2013


See Behind That Shortened URL Using Python

I'm a big user of URL shortening, especially when sending links via email to family, friends, and/or coworkers. But there are occasions when I come across a shortened URL either on a website or from an unknown source.  So, with just a few lines of Python code, I managed to write a script that, given a shortened URL, will reveal the actual URL behind the shortened link.

Copy the following code into a file and make it executable:

#!/usr/bin/env python
# -- simple python script to take a shortened url
# -- and return the true url that it's pointing too
import sys
import urllib2

# get the url from the command-line, bail
# if nothing was entered and show usage
if len(sys.argv) != 2:
print '[!] Usage: <shortened url>'

# store the given url
url = sys.argv[1]

# connect to the url and retrieve the real
# url
shortenedUrl = urllib2.urlopen(url)
realUrl = shortenedUrl.geturl()

# display result
print '[+] Shortened URL: ' + url
print '[+] Real URL: ' + realUrl

# done

The execute the script like so:

[+] Shortened URL:
[+]          Real URL:

There you have it.  A quick and easy way to show what's behind those shortened URLs.


Linux: Keep An Eye On Your System With Glances Monitor

Glances is a free LGPL licensed cross-platform curses-based monitoring tool that can provide me a maximum of information about your cpu, disk I/O, network, nfsd, memory and more in a minimum of space in a terminal. It can also work in a client/server mode for remote monitoring. This utility is written in Python and uses the psutil library to fetch the statistical values from your server.


Read more: Linux: Keep An Eye On Your System With Glances Monitor


Setting up an ARM Based Cassandra Cluster with Beagle Bone Black

A great project to try on cheap ARM boards such as the BeagleBone cluster is to set up a database cluster. For a developer, this is useful both for storage for projects and to gain experience administrating NoSQL databases with replication. Using my existing three BeagleBone Black cluster I decided to try using the Cassandra database. Cassandra is easy to use for those already familiar with SQL databases and is freely available. All of these steps were done on an Ubuntu install and should work on any ARM board running an Ubuntu based OS.

To get started, you need the Cassandra binaries. I was unable to find a repository that had an arm version of Cassandra so I downloaded straight from the apache site and untared it. You can go to and use wget to get the gzip file from one of the mirrors. The version I downloaded was apache-cassandra-2.0.2-bin.tar.gz. Once you have it on each machine, place it in a directory you want to use for its home, for example /app/cassandra and then unzip it:

tar -xvzf apache-cassandra-2.0.2-bin.tar.gz

Now you have everything you need to configure and run cassandra. To run in a cluster, we need to set up some basic properties on each machine so they know how to join the cluster. Start by navigating to the conf directory inside the folder you just extracted and open the cassandra.yaml file for editing. First find listen_address and set it to the ip or name of the current machine. For example for the first machine in my cluster:


Then do the same for rpc_address:


Finally we list all of our ips in the seeds section. As I have three nodes in my cluster, the setting on each machine looked like this:

- seeds: ",,"

Additionally if you want to give your cluster a specific name, you can set the cluster_name property. Once all three machines are set up as you like them, you can start up cassandra by going to the bin directory on each and running:

sudo ./cassandra

Using Cassandra

Once all three nodes are running, we can test on one of the nodes with cqlsh and create a database. Cqlsh is a command line program for using Cassandra's SQL like language called CQL. I connected to the utility from my first node like this:


The first step is to create a keyspace which acts like a schema in a SQL database like Oracle. Keyspaces store columnsets which act like tables and store data with like columns:

>create keyspace testspace with replication = { 'class': 'SimpleStrategy', 'replication_factor': 3 };
>use testspace;

Now we can create our column set and add some rows to it. It looks just like creating a database table:

>create table machines (id int primary key, name text);
>insert into machines values (1, 'beaglebone1');
>insert into machines values (2, 'beaglebone2');
> insert into machines values (3, 'beaglebone3');
>select * from machines;

Now we have a simple set of columns with some rows of data. We can check that replication is working by logging in from a different node and performing the same selection:

>use testspace;
>select * from machines;

So now we have a working arm based database cluster. There is a lot more you can do with Cassandra and some good documentation can be found here. The biggest issue with using the BeagleBone Black for this is the speed of the reads and writes. The SD card is definitely not ideal for real time applications or anything needing performance but this tutorial is certainly applicable for faster arm machines like the Cubieboard and of course desktop clusters as well.


How to Install ImageMagick on CentOS, RHEL and Ubuntu

ImageMagick is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats like GIF, JPEG, PNG, Postscript, and TIFF. We can also use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.

ImageMagick is typically used from command line. Also we can use it from any programming language by using its interface like Magick.NET (.Net),IMagick (PHP), PerlMagick (Perl) etc.

Read complete article at Install ImageMagick on CentOS, RHEL and Ubuntu


10 basic examples of Linux ps command

Linux ps command The ps command on linux is one of the most basic commands for viewing the processes running on the system. It provides a snapshot of the current processes along with detailed information like user id, cpu usage, memory usage, command name etc. It does not display data in real time like top or htop commands. But even though being simpler in features and output it is still an essential...
Read more... Comment (0)
Page 11 of 131

Upcoming Linux Foundation Courses

  1. LFD331 Developing Linux Device Drivers
    25 Aug » 29 Aug - Virtual
  2. LFD411 Embedded Linux Development
    25 Aug » 29 Aug - Santa Clara, CA
  3. LFS422 High Availability Linux Architecture
    08 Sep » 11 Sep - Raleigh, NC

View All Upcoming Courses

Who we are ?

The Linux Foundation is a non-profit consortium dedicated to the growth of Linux.

More About the foundation...

Frequent Questions

Join / Linux Training / Board