Everything You Need To Know About CSF Firewall

In this article, we are going to go over the basics of CSF Firewall, what it is, which platforms it runs on, and some basics about installing it.

We have tailored this information to new Linux system administrators or hobbyists who want to understand the basics of CSF Firewall, written out in plain English.

Linux: The Technical Environment We Are Working In

programming codes on a web

?Source: Pixabay

First of all, as we have already hinted at, if you want to run CSF Firewall, you need to be running a Linux server - not Windows or anything else.

Linux, as you probably already know if you are reading this, is an open source operating system based off of UNIX. (Linux is officially pronounced lee-nux (or a softer i as in “in”) and not like the name Linus van Pelt from Peanuts.)

CSF Firewall will run on the following Linux operating systems, and most likely newer versions as well:

  • RedHat Enterprise v5 to v7
  • CentOS v5 to v7
  • CloudLinux v5 to v7
  • Fedora v20 to v26
  • *openSUSE v10, v11, v12
  • *Debian v3.1 - v9
  • *Ubuntu v6 to v15
  • *Slackware v12

For these versions of Linux, you may need to customize some of the regex patterns used in functions.

CSF Firewall can also work on the following virtual servers:

  • **Virtuozzo
  • VMware
  • Xen
  • VirtualBox
  • **OpenVZ
  • MS Virtual Server
  • KVM

Both Virtuozzo and OpenVZ need the iptables to be configured correctly on the host server.

An Overview of CSF Firewall

Internet connection

?Source: Pixabay

CSF Firewall stands for ConfigServer Security & Firewall. It is a free Linux firewall provided by a UK company called Way to the Web Limited (trading as ConfigServer Services).

A firewall, as you probably already know, is a type of software that protects a computer or server from unauthorized intrusions and hacker attacks.

CSF Firewall has been around for a long time and has been considered for years a highly advanced firewall that is still simple enough for less experienced Linux system administrators. It has a ton of configurable options, but you don’t have to worry about all of them when getting started.

It is an alternative to other firewall options on Linux, such as APF Firewall.

You can install CSF Firewall on your Linux server and even use it on a VPS (Virtual Private Server).

Features of CSF Firewall

red and blue armor shield

?Source: Pixabay

CSF Firewall has a lot of great features and has configuration options for both simple installations and more complex needs. Here are just three of the many features of this free firewall software:

1. Login Authentication Failures

CSF Firewall will monitor your logins for repeated attempts to login. If too many login failures are recorded (which can indicate a hacking attempt), the software can automatically ban that IP address from accessing the server.

This feature works with mail servers, FTP servers, openSSH, administrative panels such as cPanel and WHM, websites protected by htpasswd files, and more.

2. Messenger Service

When an IP address is blocked, you can have CSF Firewall send a message to the client. This might provide additional information to a hacker, however, for a real user who might be stumped and frustrated by failed login attempts, it can be very helpful.

3. Port Flood Protection

The last thing you want is a Denial of Service (DOS) attack on your server. This will hang up your website and make it impossible to reach. CSF Firewall has configurable port flooding protection that can limit how many connections can be allowed within a certain time period.

Installing CSF Firewall

top view of workstation with hand on a laptop

?Source: Pixabay

How you install CSF Firewall will depend on what version of Linux you are running and other variables about your server environment. For the best advice on how to install CSF Firewall for your particular configuration, you should probably search “CSF Firewall installation on [Your Linux Version].”

Avoiding Conflicts with other Firewall Software

open laptop on a table

?Source: Pixabay

Make sure, if you want to run CSF Firewall on your machine, that you have uninstalled any other firewall software, as it could cause conflicts and generate problems. You would use your Linux package installer to remove existing firewall software, unless it was source installed.

On Linux versions such as CentOS, the package installer would be Yum. On Ubuntu and other versions, you may be using APT (Advanced Packaging Tool). These removal commands will differ based on the package installer, but can easily be found using an online search.

For example, if you want to remove APF Firewall version 9.6 from CentOS using Yum, you would use the command (as root):

rpm -e apf-9.6_5-1

With apt, the command might be:

apt remove apf-9.6_5-1

Or, if you are on Ubuntu and not logging in directly as root:

sudo apt remove apf-9.6_5-1

Remember, you would use the version number of the APF installation on your server, not necessarily the one shown here.

CSF Firewall Installation Instructions

If CSF Firewall is found in your package repositories, using the same package installer, you can download and install CSF Firewall that way.

If you are using the Synaptic package installer, which has an easy to use graphical interface, this might be the easiest route. Synaptic will install all the dependencies for you, making the process much quicker and easier.

Unfortunately, CSF Firewall is not included in many repositories, so you may need to download it manually. It is possible it might be available in some alternative repositories, in which case, you can add the repository to your package installer.

Alternatively, see below about Centmin Mod installation.

You will need to make sure Perl is installed on your machine, and if it isn’t, Perl must be installed first.

Assuming you have Perl installed, here are some simple commands to manually download and install CSF Firewall. These commands will work whether your server uses Apt or Yum:

# wget https://download.configserver.com/csf.tgz

# tar xfz csf.tgz

# cd csf

# sh install.sh

Make sure you are logged in as root, or, if using Ubuntu, prepend “sudo” in front of every command. (The pound sign above is indicative of a root prompt, and is not part of the command itself.)

Configuring CSF Firewall

Once you have installed the CSF Firewall software, you will need to configure it. There are many web pages with basic configuration information found easily through a search, such as this “how to” with basic command line instructions.

LAMP vs. LEMP Linux Installations

computer security to the web

?Source: Pixabay

For those who are more familiar with a traditional LAMP stack CSF Firewall works with LEMP.

If you want to experiment with running LEMP, or you don’t know what LEMPvs. LAMP is, we will cover that here.


LAMP stacks are common set ups for website servers and are used across the Internet by companies big and small.

LAMP stands for Linux, Apache, MySQL, and PHP. Linux is the operating system, Apache is the web server, MySQL is the database server, and PHP is the scripted programming language that delivers the web sites.


LEMP is pretty much exactly like LAMP, only it uses the nginx web server. Nginx is pronounced “engine-x.” Thus, we have an E in LEMP instead of the A for Apache.

Apache was around first and is a reputable web server, but has some limitations or at least stresses that are put on it at high loads. Nginx was specifically designed to address some of these problems that the Apache web server has.

Nginx has a smaller memory footprint and leverages asynchronous event-driven requests to improve performance at times of high web traffic.

If you are setting up a new Linux web server from scratch, and trying to decide between LAMP and LEMP, you might want to go with LEMP. Besides the potential performance boosting benefits, you can use CSF Firewall with Centmin Mod (you also have to run CentOS).

CSF Firewall on Centmin Mod

man working on a computer

?Source: Pixabay

If you are looking for an easy way to set up a new Linux server for the web, using CSF Firewall as well as a LEMP stack, here is a great option for you: Centmin Mod.

Centmin Mod is a LEMP stack that comes with an auto installer run through the command line.

It is designed for CentOS 6.x and CentOS 7.x (both flavors of Linux). It automatically installs and configures:

  • Nginx
  • MariaDB MySQL
  • CSF Firewall
  • Memcached Server

You also get other features, including third party YUM repositories and a variety of add-ons to Nginx.

For more information on how to install and use CSF Firewall with CentOS, check out the Centmin Mod website.

?CSF Firewall

man working on a computer security

?Source: Pixabay

CSF Firewall is an excellent system designed to prevent hacking attempts from succeeding. By using this software, you can help prevent hackers from hijacking and destroying your web server.

With lots of options, CSF Firewall is good for both novice and experienced system administrators. Best of all, it is free!

Problem Solved: How To Check Your Python Version

If you want to check the Python version on a Linux machine, it’s really not that hard.

Python is a great programming language to learn. It has simple syntax and yet it is also very powerful.

Having the latest version of the Python interpreter is a good idea. You don’t want to be using an old, out of date version, especially one that is deprecated.

How to Check Your Python Version

woman biting a pencil while working with the computer

?Source: Pixabay

So, let’s get to the nitty gritty. If you are running the Python interpreter on a Linux machine, here is what you need to do to check the Python version.

Some of these commands may also work on Windows machines using the Windows command line.

Command Line Python Version Check

Login as root, and from the command line, type:

python --version

(That is two dashes before the word “version.”)

If you are using Ubuntu, and can’t login as root, use the sudo command ahead of the text as follows:

sudo python --version

The shortcut to this is to use -V instead of --version, such as:

python -V

Or, in Ubuntu:

sudo python -V

You might also try a lowercase v, because it is by the way, an almost universal command on Linux to check the version of software running on the server. However, with Python, the uppercase V is what is in the user manual.

This can be confusing because so many other programs use a lowercase v.

For example, you can use the same command with php:

php -v

Or, in Ubuntu:

sudo php -v

However, sometimes, the name of the software is not so obvious. With the Apache web server, you would think that the command might be “apache -v” but this is wrong. To find the version of Apache running on your server, type this in instead:

httpd -v

Or, in Ubuntu:

sudo httpd -v

HTTPD stands for “HTTP Daemon,” which makes a bit more sense – this is the daemon (or server) that uses the HTTP protocol to deliver web pages.

At any rate, if you can remember the -v, and the lowercase version is not working, you now know to try an uppercase -V for checking the Python version.

You can also just type in “python” at the command line (or “sudo python” in Ubuntu). You will get not only the version you are running, but a lot more info, such as:

Python 2.7.5 (default, Jun 17 2014, 18:11:42)
[GCC 4.8.2 20140120 (Red Hat 4.8.2-16)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.

In some respects, this is just faster and easier, and gives you a lot more information about the entire platform.

Checking the Python Version from a Control Panel

Surprisingly, when you search for ways to check the Python version from an administrative interface or control panel such as WHM or Cpanel, not much comes up.

Your best bet is to use the search function from within the control panel to look up “Python.” From there, you might be able to see which version of Python is installed and running.

Checking the Version of Python from Within a Python Script

You may want to check the version of Python from within a Python script you are writing. Some of the reasons may be that you want to ensure compatibility with the Python interpreter, especially if the script is going to be run on different servers.

There is no one solution to this, as you can find various examples and ways to do this from within Python. It will also depend on which version of Python you are writing your programming script for.

You can check sites such as Stack Overflow, where developers can get into long and sometimes convoluted discussions on how best to do certain things with code.

In this Stack Overflow discussion about checking the Python version, you can find this potential solution for looking at the version from within a Python program:

# Method 1:

import sys
assert(sys.version_info >= (2,6))

?# Method 2:

import platform
from distutils.version import StrictVersion
assert(StrictVersion(platform.python_version()) >= "2.6")

?Note that this answer does not get as many votes as some of the solutions above. However, this answer was posted on November 16, 2017, making it a much more recent answer than the highest voted answer, which was originally posted in 2009.

This is why it is important to check the dates on Stack Overflow answers, because what is voted up the most may be due to its longevity on the website, when a more current answer with fewer votes may be the answer that works.

A Little Bit More About Python Versions

computer screen with programming codes

?Source: Pixabay

Python, like any living programming language, changes over time. As the team who maintains the code improves it and optimizes it, the syntax of the language may be modified.

Usually, these changes are not so overwhelming that you couldn’t understand a Python program from a different version. However, these changes could break your program or make it not work as expected.

Compatibility Between Python Versions

Python, like PHP, is an interpreted programming language. This means that Python is not compiled into an executable program before it is run.

Instead, it is “compiled on the fly” via the Python interpreter. Thus, the program will work until it hits up against some code that isn’t in compliance with the Python version the interpreter is using. Then, the program could hiccup, mess things up, or stop working entirely.

Usually, if you are using a Python version that is the same major version, but the interpreter has a different minor version, the hiccups will hopefully be minimal. However, if you are trying to run a Python program where the major version is different from the major version of the interpreter, it is often totally incompatible.

You especially have to pay attention any time a release is labeled as “backwards incompatible.” This means that it is totally not going to work with earlier versions of the software. Python 3.0 is backwards incompatible with Python 2.0.

However, some of the features of the 3.0 version of Python have been “backported” to Python versions 2.6 and 2.7 to make the code more compatible.

Major Versions vs. Minor Versions of Python

As with most programming languages and software applications, Python uses a numerical convention to distinguish between major and minor releases.

The major version is the number before the first period. The minor version is the number after the period, with an update to that minor version following the second period:


Thus, 3.2.5 is major version 3, minor version 2.5.

Also, a “zero” indicates the general major version. All variations of Python 3 (Python 3.1.0 or 3.5.1) are part of Python 3.0. All variations of Python 2 are part of Python 2.0, etc.

Here is a list of all Python versions:

Python Beta Version

An initial version of Python was released in 1991. This was 0.9.0 and not a full number 1, as it was not ready for prime time yet. These versions were released on the following schedule:

  • Python 0.9.0 - February 20, 1991
  • Python 0.9.1 - February, 1991
  • Python 0.9.2 - Autumn, 1991
  • Python 0.9.4 - December 24, 1991
  • Python 0.9.5 - January 2, 1992
  • Python 0.9.6 - April 6, 1992
  • Python 0.9.8 - January 9, 1993
  • Python 0.9.9 - July 29, 1993

?Python 1.0

The first official version of Python was launched in 1994.

  • Python 1.0 - January 1994
  • Python 1.2 - April 10, 1995
  • Python 1.3 - October 12, 1995
  • Python 1.4 - October 25, 1996
  • Python 1.5 - December 31, 1997
  • Python 1.6 - September 5, 2000

??Python 2.0

Released in 2000, Python 2.0 not only offered a whole host of new features, but the new version was transitioned to a community-based, collaborative open source language.

  • Python 2.0 - October 16, 2000
  • Python 2.1 - April 15, 2001
  • Python 2.2 - December 21, 2001
  • Python 2.3 - July 29, 2003
  • Python 2.4 - November 30, 2004
  • Python 2.5 - September 19, 2006
  • Python 2.6 - October 1, 2008
  • Python 2.7 - July 4, 2010

?Python 3.0

Python 3.0 is also known as "Python 3000" or "Py3K," and it is the current major version of Python.

  • Python 3.0 - December 3, 2008
  • Python 3.1 - June 27, 2009
  • Python 3.2 - February 20, 2011
  • Python 3.3 - September 29, 2012
  • Python 3.4 - March 16, 2014
  • Python 3.5 - September 13, 2015
  • Python 3.6 - December 23, 2016
  • Python 3.7 - June 27, 2018

?Don’t Forget to Check Python Version

programming codes on a cellular phone

?Source: Pixabay

Checking the Python version is easy, just remember to do this once in a while – perhaps by placing a reminder on your calendar.

You will need to keep the Python interpreter up to date to benefit from the latest features of the ever-evolving and constantly improving Python coding language.

Everything You Need to Know About MV Linux – User’s Guide

In UNIX and UNIX-like systems, mv (short for move) is a command used to move one or more files or directories from one location to another. The user executing the command must have write permissions for both the current directory and the destination directory for the argument to work, as mv changes the contents of both directories.

In some UNIX iteration, the commands cp, ln, and mv (copy, link, and move) are linked together at the binary level, giving the user mover leverage in deciding how to manipulate the file and/or directory. As with the command rm, switches like -i and -f are perfectly acceptable.

MV LINUX Nuts and Bolts

i switch

The -i switch will force mv to verify each mv ahead of time, but this becomes tedious with large batches of files for obvious reasons. Mostly, the use of rm is pretty straightforward, and, say, you wanted to move a file called playlist. Then just type in mv playlist, and - poof - it is gone out of one folder and appears in the destination.

Perhaps you were not sure about moving playlist2, however, so you would execute to command, rm -i playlist2 to prompt you to make sure moving the file is ok, and it will ask you to confirm your choice by typing “yes” three separate times.

Also, like rm, mv LINUX accepts the -f (force) switch, which will override permissions. But mv is much more powerful than being able to just move files, as it can rename and even back up file given the correct switch is called when the command is executed.

LINUX MV: Proceed with Caution

Terminal data

Write-protected files are your friend, and mv will prompt you before deleting them. You must answer yes three different time before they will be removed, and, also, a write-protected directory is even more difficult to move by design.

The command mv, like rm, works silently, and will not return a comment unless there is an error or necessary prompt. Unlike rm, though, it is inherently adept at dealing with folders, and it will handle any sort of file, folder, or directory on your HDD with ease.

Beware though, because unless you use the correct switch the data in the folder you are moving from could be deleted by the time mv is done copying over information. Take, for example, the following scenario of renaming /home/jojo/thingamajig to /home/jojo/thingamajig2 in the same folder.

Sure, you could say, just right-click and rename it, but let’s use the command-line. In terms of mv, that would be written as mv /home/jojo/thingamajig /home/jojo/thingamajig2, and, in terms of what LINUX understands you would be telling it to take the data from a file called thingamajig and move it to a new folder called thingamajig2. This would leave thingamajig empty with no data, and you could use rm -r to remove it.

MV LINUX Requires Brain Power

MV LINUX Requires Brain Power

That may seem like an overcomplicated process when you consider that, through the GUI, you can just drag and drop, but, nevertheless, that is what goes on under the LINUX hood. One blog, further posits that we, as users, have gotten into the habit of taking for granted many of the simple tasks that computers carry out on a daily basis.

Moving from Windows to LINUX or MAC OS to LINUX, or, even in some cases, from Windows to MAC OS can make you more aware of just how complicated computer files systems actually are, and using mv LINUX to move files is one of the most common conundrums for most new free-source OS users.

Beyond helping you keep in touch with the “old school” side of computers, there is a fair bit of raw power to access, as UNIX and UNIX-like systems use, essentially the same command-line brain under the hood. And the command arguments for mv LINUX are very good examples.

The mv LINUX command is very simple. It moves stuff. It moves stuff by moving stuff, and it moves stuff by renaming it. The power of mv LINUX is multiplied when you consider the use of wildcards. Take, for example, the following scenario, thank, in part to Computer Hope:

mv ~/Downloads/*.png /home/jojo/Documents/

Remember, too that moving up a level is easy by implementing the ../ call. So moving those .png files from /home/jojo/Documents/ to /home/jojo is a snap with the mv /home/jojo/Documents/ ../ argument.

Please note that if a file exists in the folder you are moving to with the same name as the file you are moving, it will be deleted unless you use the -b (backup switch).

There. Without too much effort you just moved all files with the .png extension from the Downloads folder to jojo’s Documents folder to his home folder with two single lines of code. Now that is power. And is more fun than dragging around files, don’t you think?



By this time, you already know there are about as many flavors of the LINUX GUI as there are flavors of ice cream at the local scoop shop.

On top of that, there are a lot of file managers you can use. And with them comes some popular file managers like KDE’s Dolphin or Gnome’s Nautilus. Both are powerful and flexible graphical interpretations of command line arguments.

They may not be as powerful as the simplicity of the command-line, but they are darn easy to use and just as effective. By and far, the protocol is the same but the following example was taken from an Ubuntu installation running Nautilus:

  • 1
    Open the file manager by clicking it.
  • 2
    Locate the file you intend to move, then right-click it.
  • 3
    A pop-up will appear, and you should choose the “Move To” option.
  • 4
    A follow-up window will open and need to navigate to the new destination.
  • 5
    Once you are there select that file, and you are done.

You can also move files to the Trash, copy, and more. Nautilus will function as a drag and drop manager as well, and you can avoid that second pop-up window, granted the destination is listed in the common places section of your file manager. If it is not, no worries, just pop open that second window, and you are good to go.

Single files, multiple files, it is pretty much the same argument under the hood, plus or minus a few characters. But LINUX file manager like Nautilus will save you the pain of having to learn the LINUX command line all at once. Just don’t rely on it too heavily, lest you miss the point of running mv LINUX and other commands in the first place.

LINUX MV Wrap-up


It should be apparent to you now, the mv LINUX is a powerful, if not basic, command that as important as rm, cp, ln, and other simple arguments. Plus, moving files about and renaming name is one of the most integral elements of any OS.

We've only touched the tip of the iceberg as far as examples of mv, so to read all about it, as always, just type man mv at the command-line for a better grasp on what it can do. Just remember that mv works with single files, multiple files, and directories. Plus, you can rename files, folders, and directories with it.

As for this blog, we hope we have at least perked your interest in using the command line to perform some of the most basic tasks on your computer. We have touched many of the command line options this tool offers. But, as with all UNIX and UNIX-liked command, they are flexible, can understand multiple switches, can be piped, and can be combined with other commands.

Hands working in the laptop

The possibilities with mv LINUX run quite deep, and it all depends how much you want to learn the command-line and use it regularly. Because, if you want to retain any of this knowledge, you have to use it - or it will disappear, and you will be right back in this tutorial (not that that is a bad thing).

But, if you practice and start with the basic commands, the command-line won’t seem so intimidating, you will want to practice more, and you will be well on your way to using piped arguments in no time at all.

So, start practicing now, move some files around, copy them, link them, and rm the old ones. Once you get going, you’ll wonder why they made the GUI at all.



A Free Operating System with Virtually No Viruses? Getting Started With Ubuntu

Ubuntu is an open-source operating system.

It is free of charge with consistent release cycles. 

Ubuntu is suitable for desktops or servers.


What can I get for free?

This advantage of getting started with Ubuntu is monumental.

People across the globe who have access to a reasonable computer can enjoy Ubuntu and many of its apps for free.

The History of Ubuntu

Thinking of getting started with Ubuntu?

Ubuntu is an African word referring to humanity.

The concept is often paraphrased as “My humanity is tied to yours.”

The African concept of Ubuntu puts the product into perspective.

They mean it to be free to all people, compassionate to all languages and shared with the world.

Some say “I am what I am because of who we all are.”

zulu tribal warriors doing some native dance

CC0 Creative Commons by RonPorter  Image via Pixabay

In 2004, Mark Shuttleworth assembled a team of developers interested in free and open source software to found company Canonical.

Shuttleworth was a South African internet aficionado who founded the VeriSign company.

He eventually sold that company for roughly a half billion dollars.

Canonical developed the Linux desktop called Ubuntu.

Ubuntu was free to all people and entities, regardless of their station and calling, from children in Africa to attorneys in New York City.

children in a 3rd world country

CC Creative Commons by thomaspedrazzoli Image via Pixabay

Shuttleworth also raised $10 million toward The Ubuntu Project, a foundation to secure Ubuntu’s future.

The First of Its Kind

Ubuntu’s fixed, six-month schedule of new releases was the first of its kind.

It included a two-year cycle offering long-term support for major deployments.

Another unique quality of Ubuntu was that it did not divide itself between a free and paid version as others.

Every aspect of the product was free to every user.

free sign

CC0 Creative Commons by kalhh Image via Pixabay

Today Ubuntu is a shared work among companies, including Canonical, and countless volunteers who are determined to do their part in maintaining an operating system for all of humanity.

Getting started with Ubuntu is for everyone.

Backed By A Global Company

canonical logo

CC0 Creative Commons by Mikix Image via Wikimedia

Canonical has evolved into a global organization.

They are the primary service provider for Ubuntu, and the money made in Ubuntu support by Canonical goes toward the continued work of the free Ubuntu product.

Canonical’s services include design and consulting for Ubuntu’s use on large-scale deployments.

Through a service agreement, projects receive management software and 24/7 support from Canonical.

These activities are crucial to the free availability of Ubuntu.

Ubuntu Basics

Ubuntu sees itself not only as a free, open-source platform but as a community.

group of volunteer doing a teamwork gesture

CC0 Creative Commons by rawpixel Image via Pexels

Getting started with Ubuntu is essentially becoming part of a collaboration among millions using a free desktop operating system based on Linux.

It is powered by free software.

Most software is controlled by a single company, but free and open source desktops use software from an array of developers worldwide.


  • Is free
  • Is easy to use and novice-friendly
  • Is professionally styled
  • Has no major viruses such as trojan horses
  • Is continually updated
  • Is supported through a global community

The Complete Package

Ubuntu is fully equipped to run an entire organization or to serve you at home.

An office suite, email, media, and thousands of applications are ready to serve your needs.

family gathered around the computer

CCo Creative Commons by Fox Image via Pexels

Getting started with Ubuntu is not just adding a supplement; Ubuntu is a complete operating system.

When Ubuntu debuted in 2004, it did not take long to claim its spot atop the Distrowatch rankings.

Users loved its easy installation and ease of operation.

Unity was the desktop environment within Ubuntu, and at the time it was considered a strong, modern environment.

Jump to the future and Unity is soon to be obsolete, with GNOME taking over as the default environment.

ubuntu logo

CC0 Creative Commons by Ubuntu teamwork Image via Wikimedia

Along with GNOME, LXDE, XFCE, KDE, and MATE are other environments available.

A Look at The Desktop

Ubuntu desktop

The Ubuntu desktop features a launch bar on the left and an upper panel.

You will need to utilize the Super Key (equivalent to the Windows Key) often.

Holding the Super Key will also display a list of keyboard shortcuts that will be useful to you.

Pressing and releasing the Super Key will display the Ubuntu Dash.

A search box appears to help you find anything you need.

Clicking the internet icon on the top panel will display a list of wireless networks; ethernet connections will connect automatically.

Apps and More Apps

Getting started with Ubuntu means thousands of apps available for the Ubuntu Desktop, and most of them are free.

LibreOffice logo

CC0 Creative Commons by LibreOffice Image via Wikimedia

Those with business needs can find a professional assortment of documents, spreadsheets, and slides within LibreOffice, a free office suite that’s compatible with Microsoft Office.

The primary LibreOffice icons are found in the launch bar.

From Ubuntu, you can still manipulate Word, Excel, and PowerPoint quickly and easily.

Browsing the Web is a cinch with Firefox, Google Chrome, or other browsers.


Many of Ubuntu’s free apps allow you to edit and share photos taken from cameras or phones.

No extra drivers are needed.


Go a step farther by editing your photos or business illustrations.

Videos can also be viewed, edited, and shared.

Totem is Unbuntu’s common video player.

Press and hold ALT + F2 and type “Totem” to enter your email for the first time as you are getting started with Ubuntu.

Rhythmbox is the primary package for audio.

It allows you to import music, create playlists, enjoy life radio, and connect to other external devices.

With a little extra effort, Rhythmbox allows you to play music on your computer from your phone or other device.

Rhythmbox logo

CC0 Creative Commons by The Rhythmbox developers Image via Wikimedia

Press and hold ALT + F2 and type “Rhythmbox” to enter your email for the first time.

Are games your thing? Enjoy many, from chess to sudoku.


While offering Mozilla’s Thunderbird email right on your desktop, your favorites including Gmail and Hotmail are still readily available.

Press and hold ALT + F2 and type “Thunderbird” to enter your email for the first time as you are getting started with Ubuntu.

Security Is Key

Ubuntu offers first-class virus protection and a built-in firewall, making it an incredibly safe operating system.

Long-Term Releases come with a guaranteed five-year security net.

Ubuntu gives users low privileges to keep individual users from corrupting the operating system.

To prevent hackers from disrupting the environment, network ports remain closed.

A Little Privacy, Please

Are proprietary systems better? That is a fair question.

Proprietary operating systems, like all products, have several concerns, including their privacy settings.

It can be a confusing undertaking to ensure you are not sharing your private information with too many people.

Getting started with Ubuntu, you will find privacy settings always err on the side of caution.

malware logo

CC0 Creative Commons [Public Domain] Image via Wikimedia

Trojan horses and malware have been virtually non-existent on Ubuntu, whereas they can drive you crazy in traditional operating systems.

Ubuntu was created with the best intentions for novice users susceptible to privacy issues and dangerous navigation.

An Upgrade to Subtlety?

When circumstances keep you from wanting an immediate upgrade, messages and pop-ups from the proprietary companies can drive you crazy.

frustrated person with hands on head

CC0 Creative Commons by Tim Gouw Image via Pexels

With Ubuntu, you can choose to keep your current operating system for as long as you’d like.

When getting started with Ubuntu, you will receive notifications when updates are available, but unlike some proprietary operating systems, you maintain full control over how often the updates are applied.

You can also adjust how often you are notified of updates.

notification logo

CC0 Creative Commons by Trizek (WMF) Image via Wikimedia

A Long-Term Support (LTS) version of Ubuntu comes with a guaranteed support system for at least five years.

You may miss newer versions in the meantime, but you will still receive updates on your preferred version, and you will not be harassed to upgrade.

Readily Available

Canonical works to ensure that Ubuntu is compatible with the latest and best devices.

Ubuntu is available across Asia and Latin America.

Ubuntu is available in over 50 languages, because the Ubuntu mindset is that computing should be available to everyone regardless of location or other identifiers.

Ready to Give It A Try?

Before you install Linux, be sure your computer is Linux-capable.

You will need a 2 GHz dual-core processor, 2 gigabytes of RAM, 25 gigabytes available on the hard drive, and a minimum 2GB USB port.


On a 2GB thumb drive, save the Ubuntu ISO file at


Choose to download the file through the link and then click “download now.”

Boot your designated computer from the USB. Proceed to install Ubuntu.

If you are adding Ubuntu to a computer that already has an OS, you can download Ubuntu at


You can choose from an assortment of versions to meet your needs and preferences.

What Flavor Sounds Good?

Like making a big decision at your favorite ice cream place, Ubuntu is offered in unique flavors. Some flavors include:

couple  eating ice cream in a cone

CC0 Creative Commons by rawpixel Image via Pexels


Kubuntu is Ubuntu with the K Desktop Environment (KDE). KDE Plasma 5 is very powerful. Kubuntu is often preferred by folks previously preferential to Windows XP or Windows 7. Some may find it old fashioned, but others will be comforted by that very thing.


Lubuntu is a good choice for those wanting something fast and simple. This user-friendly flavor on the LDXE desktop is reduced to the essential elements. Some may not flock to its no-frills basics, but others will appreciate its simplicity.


Mythbuntu is all about the creation of a home theater. Be aware, however, that Mythbuntu requires specific hardware and a more complex installation (choosing how to set up the frontend/backend as well as setting up your IR remotes), so be sure to research the requirements before settling on Mythbuntu.

Ubuntu Budgie

Ubuntu Budgie offers a chic and polished interface. The desktop is practical, but it is also clutter-free with features such as a hideable sidebar. If you like the refined and simple, you will like Ubuntu Budgie.

children eating ice cream

CC by-SA 3.0 Adam Jones, Ph.D. Image via Wikimedia


Xubuntu has many similarities to Lubuntu, but on the Xfce desktop, it can be a bit more business-minded. Xubuntu comes with LibreOffice office suite.

Ubuntu MATE 

Ubuntu MATE is a simple and elegant Ubuntu flavor that seeks a classic, traditional desktop.

Ubuntu Kylin

Ubuntu Kylin is focused on the needs of Chinese users.

Ubuntu Studio

Ubuntu Studio is all about multimedia needs. It is focused on the audio, video and graphics users, or professionals. So if artistic or communicative media is your thing, Ubuntu Studio may be the flavor for you.


Among the many flavors, the flagship product is still one of the most enticing. With Ubuntu, the high level of community is at its fullest with forums, documentation, and other communities.

Also, GNOME continues to be a time-tested desktop that proves extremely reliable.

Desktop Environmentally Friendly?

There is one major difference between the Ubuntu flavors: desktop environment.

The flavors look and act differently, and most of the differences are determined by the desktop environment each flavor utilizes.

cluttered office desk

 CC0 Creative Commons by John Kappa Image via Unsplash

With any operating system, your hardware is controlled by a kernel.

The kernel communicates between your software and your hardware, causing your hardware to function properly.

The kernel is the most important part of the operating system.

When getting started with Ubuntu, the average user, though, the kernel is not something we think about.

Our interaction with the computer happens primarily in the desktop environment where we open files, arrange our desktop icons, open new windows, watch videos, and other things.


With Ubuntu’s flavors, you can choose your personal preference for appearance, offerings, and user experience.

You opt for a certain look or a good match for your hardware.

disposable coffee cup on the side of a computer

 CC0 Creative Commons by Ali Yahya Image via Unsplash

Some Ubuntu flavors are particularly effective at allowing older hardware to perform at a higher standard.

If you do bring technical know-how to the table, you can create your own custom Ubuntu desktop environment from among the choices.

For the average user, the standard flavors offer a more-than-sufficient selection.

You can even install multiple environments and toggle between them each time you log in depending on your needs for the day.

computer themed

CC0 Creative Commons by  Alexandru Acea Image  via Unsplash

Some noteworthy environments include:


The Xubuntu flavor comes with Xfce. Xfce is meant to be fast while not overusing system resources. This makes Xubuntu a good choice for older machines. Xfce can operate with only 1GB of RAM.


Budgie is not as lightweight as Xfce, but it is not heavy either. Considered a middleweight, Budgie is found in several distributions, including Ubuntu Budgie.

It is considered a very chic interface. While its appearance can be adjusted with Budgie settings, Budgie is based on GNOME.


The GNOME environment comes with Ubuntu. GNOME provides easy access to the items you need. It attempts to keep all your needs in one location and to cut down on cluttered desktops.

It offers easy integration to online accounts and adjacent windows to view multiple projects at once.


Ubuntu’s GNOME environment is actually GNOME 3. For those who preferred GNOME 2, the MATE desktop environment was a continuation of GNOME 2. While GNOME now sits untouched, MATE continues to evolve and improve.

KDE Plasma

Widgets allow KDE Plasma to offer a personalized environment in the Kubuntu flavor. They can be moved, added, removed, and personalized to match your exact needs and wants.

Some believe it also makes a smooth transition for Windows users.


Another lightweight environment, LXDE is Lubuntu’s default environment. It is known to be extremely fast but lacks the aesthetic appeal of an environment such as Budgie.

What Next?

You have installed your favorite Ubuntu flavor and are ready to roll.

Check for updates.

There could have been fresh updates since you downloaded the IOS to our thumb drive.

Begin an Activity Overview from your computer’s primary menu and launch the Software Updater.

Ubuntu storage files/areas are referred to as repositories.

Repositories such as the Main Repository and Universe Repository house open-source software.

Other repositories house proprietary software and devices.

person open filing cabinet drawer

CC0 Creative Commons by Edu Grande Image  via Unsplash

From the Activity Overview, to Software and Updates.

Within the Ubuntu Software tab, check the Main, Universe, Restricted, and Multiverse repositories.

Enable the use of media files by installing media codecs.

These are found in the Repositories but do not automatically download.

The Software Center

As you continue getting started with Ubuntu, it is time to choose your software.

Within the Software Center, you will find many choices divided by categories.

The Ubuntu Software Center is the hub for installing software in Ubuntu.

“Synaptic” is typically one of the first pieces of software to download because it makes ensuing downloads faster and easier.

The Best Software to Install

Choosing software to download requires a personal inventory. 

What are your needs and pleasures? 

Below are a few of the commonly sought software downloads.


At some point, most of us want to play a game online or chat with a loved one far away. Others will seek to watch videos or enjoy similar multimedia. In these cases, you will probably need Java.

java logo

Image by Freepik via Flaticon

Java is a programming language needed for many Web applications, including some that will be mentioned below.


You may be familiar with storing files in particular folders on your PC. Dropbox is similar, but when a file is stored in Dropbox, it syncs online to other devices in your network. You can store a report in Dropbox on your home computer and open it in Dropbox the next morning on your office computer.

Google Drive

Google Drive shares similarities with Dropbox. Files stored in Google Drive are kept in the cloud where they can be shared by other users. Together, individuals can work collaboratively to create and edit documents, spreadsheets, and other files.


Telegram Messenger is a messaging app that works over the internet, just like WhatsApp or Facebook Messenger. That means you can send messages for free by using a wi-fi connection or your mobile data allowance (providing you have enough data).


VLC is a media player capable of playing many different types of multimedia files. With VLC, users can also play DVDs and CDs. VLC is another free, open source.

Google Chrome

Google Chrome has become a commonly used web browser since its release in 2008. Unlike other proprietary browsers, Google Chrome is an open-source browser.

google chrome logo

CCo Creative Commons by Google Inc. image via Wikimedia


Many people had their first video call on Skype, a telecommunications app that provides traditional and video calls between computers, mobile devices, and smart devices. Skype is also an instant messenger.


Flash Player allows users to stream videos, play audio, and enjoy multimedia and Rich Internet Applications (RIA).

Ubuntu Cleaner

This practical open source product removes private information from your browser while freeing disk space. It removes cache items and other unnecessary elements from your computer.

Geary Email

Email options are plentiful with Ubuntu, from the default Thunderbird option to the availability of Hotmail and similar products. However, a personal favorite of many Ubuntu users is Geary.

Geary has rich features and a wizard to help with setup. Some fin Geary feels similar to Gmail.


Caffeine is a lock screen inhibitor. With passwords requiring so many numbers, letter, capitals, and special characters, it can be a bear to enter over and over again.

For others, it is frustrating to have your screen lock in the middle of necessary inactivity, such as listening to a song or lecture—Caffeine a great remedy for such nuisances.


Fanz allows users to engage in messaging services such as Facebook Messenger without the use of their browser.


Similarly, Corebird allows users to engage on Twitter without the use of their browser.

twitter logo

CC0 Creative Commons by Clker-Free-Vector-Images Image via Pixabay

For troubleshooting help, the Ubuntu Software Center is available.

And for The Kids

school supplies

CCo Creative Commons by simisi1 Image via Pixabay

A number of educational apps for children are also available, so if you have young ones, consider these applications.

KDE Edu Suite

This is an entire software package for children’s learning. It can serve grade school students through college graduates.


Learning about space? Celestia’s 3D rendering of the universe can’t be beaten.


The children’s learning app not only features games, puzzles, alphabets, math, and more, it also teaches computer basics to the students.

student with backpack

CC0 Creative Commons by  Element5 Digital Image via Unsplash

Learn about the keyboard, mouse, and using a touchscreen.


Enjoy math, geometry, algebra, calculus, statistics, and more.

Getting the Most Out of Ubuntu

Ubuntu offers a multi-million member community of users. 

Community members are able to help each other through problems; you have probably not experienced any difficulty not already solved by another community member.

huge mass of people

 CC0 Creative Commons by Davide Ragusa  Image via Unsplash

Some Ubuntu communities meet in person while others communicate online.

Ubuntu Local Communities, known as LoCos, meet within a region to promote and experience Ubuntu together.

Finding a LoCo may be a great way to receive meaningful advice and support.

Meaningful Change

The active Ubuntu communities, such as regional LoCos, help facilitate meaningful change and improvement.

Because Ubuntu upgrades and improvements are always free, there is no need to change for the sake of change.

The Local Communities, or LoCos, begin with a LoCo Council of elected members.

The members are diverse in backgrounds but dedicated to the Ubuntu community.

The LoCo Council governs LoCo teams by guiding, helping, and leading by example. The council exists to:

  • Assess and reassess teams
  • Communicate with Ubuntu governance boards about LoCo needs and achievements
  • To unbiasedly resolve disputes among teams
  • Govern LoCo resources and allocations
  • Helping to guide the Ubuntu Project
  • Motivating and holding LoCos to a high standard

Ubuntu Advantages


You know there are many advantages of using Ubuntu for newer users. The crafty veterans have a lot to be excited about too.

To those who know what they’re doing, Ubuntu’s open source approach allows us to look at the source code of the Ubuntu OS.


Again, for advanced users, Ubuntu supports most programming languages. Developers and programmers consistently sing its praise.

welcome in different languages

CC by-SA 3.0 Lili Charlie Image via Wikimedia?


Ubuntu offers a variety of flavors from which to choose.


Do not overpay for the local computer shop to help you out before you have exhausted your Ubuntu community. It is a hard community to exhaust.


Let’s face it; we all get sick of viruses and computer hacking. The security of Ubuntu is unmatched, particularly when compared to the proprietary products. No third-party antivirus vendors are needed.


No reboot!

Update and install without rebooting.

Price Tag

There is no better price than free.

The Ubuntu Way

The Ubuntu Mission is to “bring free software to the widest audience.”

Their website states, “In an era where the frontiers of innovation are public, and not private, the platforms for consuming that innovation should enable everyone to participate.

zulu women

CC0 Creative Commons by ArtsyBee Image via Pixabay

That is the vision for Ubuntu and Canonical, which motivates us to enable a wide diversity of open source communities to collaborate under the Ubuntu umbrella”


From the Zulu tribes of South Africa, Ubuntu philosophy identifies a truth that we are all connected to each other through an invisible web of interdependence.

We share the world in which we live, and an individual’s struggles affect many people.

In a real sense, we are all on the same team. We strengthen ourselves when we strengthen others.

Ubuntu informs our commitment to treat everyone we encounter with deep respect.

cheese pawn pieces in different colors

CC0 Creative Commons by MetsikGarden Image via Pixabay

Ubuntu is a way of being; likewise, getting started with Ubuntu OS may be just the right decision for you.

Everything You Need to Know About MKDIR Linux

The mkdir (make directory) command is pretty universal as far as command languages go. And, in fact, you will find it in UNIX and UNIX-like systems as well as used in scripting languages. You will even find it used in the MS-DOS vocabulary of command.

Normal usage of mkdir is pretty straightforward, and basic arguments can be stated by using the following syntax:

laptop with cup of coffee

mkdir name_of_directory

It is worth note, however, that unless the location of the directory is specified in the argument mkdir will create a new directory inside of the directory you call the command in. The mkdir command can even handle the creation of multiple directories, separated by a space in the argument.

Like many commands, mkdir LINUX returns no status if everything executed successfully and an error if things happened to go wrong. This command is extremely powerful, though it is rather singular in its purpose, and the -p (parents) switch will allow users to create a directory anywhere in the filesystem, even if the parent folder does not already exist.

?MKDIR LINUX Nuts and Bolts


So, that is the skinny on mkdir, but say you wanted to make a new directory in your home folder but did know the entire path. Well, by default, the Terminal or command-line is set up to use your home folder, and if you ever find yourself needing to refer to it quickly the shortcut cd ~ will get you there in the blink of an eye.

But let us assume we are already there and ready to start using mkdir. Just type the following mkdir LINUX command to make your first folder:

mkdir commonstuff

That’s it. But, say you wanted to see the permissions on that new folder you just created. Well, thanks to our friends at Lifewire, we have an answer. If you run the ls command with the -l and -t flags (long format sorted by timestamp), it will list the contents of your current directory (which your new folder should be in) and each folder’s read-write access.

That readout would look something like the following command return:

drwx------+ 4 jack staff 136 Jun 4 2016 Music

Now, setting permission gets to be a little tricky, and that is beyond the scope of this blog, but, basically, it is a three-digit number that can be understood by noting that 7 is equivalent to full permission and 0 equals no permission, with the understanding that the first number is for the owner, the second for the group, and the third for everyone else.

So, say you wanted to make sure everyone had full permissions to the folder because you were going to share it. Then you would use chmod (change mode) and the three-digit number we just talked about in an argument that looks like the following:

chmod 777 commonstuff


?LINUX MKDIR Works Well with Others

Documents Data

But what does all of that have to do with mkdir? Well, mkdir works fine on its own, and it is a very powerful tool, but, when you combine it with other commands, you, hopefully, begin to see the broad scope of its application.

Sure, you can spend all day practicing using mkdir and learn all of the flags and switches, until you become so familiar with it, you began to dream about little mkdir’s jumping the fence in your dreams, and that would be fine. But, it wouldn’t impart any practical knowledge.

However, since we are on the subject, let’s have a look at those switches. One you know about already, and that is the -p or parent switch, which creates a parent and directory if there is not one. And the other is -m or mode, which allows you to set permissions when you create the folder.

If you are awake and facing the right way, you will recall that we were just talking about chmod and ls, and how you could use them to set permissions and further define directories and folders. Well, as you may be able to guess, there is a slightly more efficient way, as you can set permissions when you create folders.

Before we move on to an example of that, it is worth noting that mkdir LINUX will create a new folder or directory inside the default folder of the command-line (most of the time, the user home folder) unless you tell is otherwise.

It should also be no surprise that the new folder you create will inherit the permissions of the home folder unless you tell it otherwise. So, let’s go ahead and do that now with the -m switch.

mkdir -m777 commonstuff

Data and eye glasses

Of course, this LINUX blog also reminds us the switch -v (verbose) can also be used to squeeze a little more info on the command-line. The verbose option, in fact, is somewhat universal and can be used as a flag with many commands, so it is not what we would call linked to mkdir LINUX.


?MKDIR Examples and Tips and Tricks

Data in computer screen

So, we have shown you a few examples already, but let’s use the universal medium of music to help us cement why mkdir and so many other commands via the command-line are so powerful and simple to use once you get the hand of them.

This following command-line scenario is presented with help from our friends at Computer Hope. Say you wanted to create a music directory with folders for genres and artists for the download and storage of your favorite tunes. Say you had four artists you wanted to start with.

While you could spend a few minutes in the GUI setting a music folder, naming it, setting up the different genre folders and naming them rock, rap, and jazz, and setting up the four artists folders and naming them, why not let mkdir LINUX do the heavy lifting for you in one quick command line argument?

We will use the -p switch to create the parents, and we will use add multiple folders to our directory as well. Remember ~/ means home.

mkdir -p ~/music/rock/CCR ~/music/rock/nickleback ~/music/rap/rm ~/music/jazz/louisarmstrong

Poof. Like that, you have to start of a music directory. If you open up your file manager, you will find a music file with the files “rock,” “rap,” and “jazz” inside. Inside of the genre folder, you’ll find folders with the appropriate artist’s names.

Of course, experienced LINUX command-line hounds will probably say, “well that could have been written even more elegantly,” so something like that, but you get the point, to be sure. And, hey, this is a tutorial. There is no shame in learning as you go. Plus, writing in the command-line more than you have to is a great way to learn it more quickly.


?LINUX RM Wrap-up

Linux Logo

So, we have learned that the quickest, most efficient ways to make files and directories is to use mkdir LINUX. Even if you are more comfortable using a GUI file manager, executing a few lines of code in Terminal is always faster.

We know we have barely touched on what mkdir can do, we hope we have given you a taste of the power of the command line. A word of caution when learning to use permission, though. Always set a folder to full permissions until you get a good handle on what you are doing.

There is nothing worse than having a eureka command-line moment with mkdir LINUX only to discover you can use the folder you have just created. Of course, the beauty of the command-line is that it is usually easy to correct your mistakes if you are a user with elevated privileges, and you can just use chmod to reset permissions should this happen.

One thing that we did not talk about at all in this piece is the partner to mkdir, rmdir, which can remove entire directories at a time. This is also a powerful command, and you should practice only with folders that you have created. Like the rm command, the rmdir command can be very destructive.

Remember that if you practice and start with the basic commands, the command-line won’t seem so intimidating, you will want to practice more, and you will be well on your way to using piped arguments in no time at all.

So, start practicing now, move some files around, copy them, link them, and rm the old ones. Once you get going, you’ll wonder why they made the GUI at all.