This article will describe a process on how to restore pfsense configuration backup from console using USB drive.

In this tutorial you will learn:
  • How to identify USB drive on pfsense system
  • How to mount USB drive/stick
  • How to restore pfsense backup

The Openssh set of utilities let us create secure, encrypted connections between machines. In this tutorial we will take a look at some of the most useful options we can use to change the behavior of sshd, the Openssh daemon in order to make your Linux system administration job easier.

In this article we assume the existence of an already running and accessible server. If you want to know more about Openssh installation, you can take a look at this article on how to install SSH server on Ubuntu Linux.

In this tutorial you will learn:
  • How to customize the behavior of the sshd daemon by manipulating options in the main ssh config file /etc/ssh/sshd_config
  • How to change the default port(s) used by the server
  • How to change the address the server listens to
  • How to change the maximum SSH login time
  • How to allow or deny login as root
  • How to change the max login attempts and maximum number of session opened
  • How to display a message when user tries to authenticate to the server
  • How to Enable/Disable password and pubkey authentication
  • How to Enable/Disable HostBasedAuthentication
  • Enabling/Disabling X11 Forwarding

MySQL workbench is a graphical application which let us manage data and perform administrative tasks on MySQL databases. In this tutorial we will see how to install the program on Ubuntu 18.04 (Bionic Beaver) and we will perform a brief tour of some of its most basic functionalities to make your Linux system administration job easier.

In this tutorial you will learn:
  • How to install and configure MySQL workbench
  • How to create a schema and a table via MySQL workbench
  • How to crate an E.R diagram by reverse-engineering an existing schema
  • How to execute SQL queries

When you're stuck with limited storage space, there's always the option of purchasing more storage, but what if you can't. Devices like Chromebooks and some laptops are fairly limited. Thankfully, Linux has a few tricks to help to make your Linux system administration job easier. Because Unix-like systems treat everything as a file, you can easily use symbolic links and mounted partitions to maximize space.

In this tutorial you will learn:
  • How to Use Symbolic Links at /home
  • How to Use Symlinks Elsewhere
  • How to Extend Your Storage with Mount Points
  • How to Make Effective Use of Networked Drives

Dd is a very powerful and useful utility available on Unix and Unix-like operating systems. As stated in its manual, its purpose is to convert and copy files. On Unix and Unix-like operating systems like Linux, almost everything is treated as a file, even block devices: this makes dd useful, among the other things, to clone disks or wipe data. The dd utility is available out of the box even in the most minimal installation of all distributions. In this tutorial we will see how to use it and how we can modify its behavior by using some of the most commonly used options to make your Linux system administration job easier.

In this tutorial you will learn:
  • How to use dd
  • How to modify the program behavior by using some of the most commonly used options

SSH is an every-day tool of any Linux System Administration job. It is an easy and secure way to access remote machines on the network, transfer data and execute remote commands. Apart from interactive mode, there are many tools exist that enable automation of remote tasks that also rely on the existing ssh server/client architecture. For one such tool, you can read about ansible on Ubuntu for example. You can also find many implementations of the ssh client, but what about accessing the abilities ssh provides from code?

JSch is a project that implements the ssh protocol in Java. With it's help, you can build applications that are capable to connect to and interact with a remote or local SSH Server. This way your application is capable of managing any aspect of the target machine that you could complete with your native ssh client, which gives yet another powerful addition to the already vast Java toolset.

In this article we will import JSch into our Java project, and develop the minimal necessary code pieces to create an application that can log in to a remote machine's ssh server, execute some commands in the remote interactive shell, closes the session, then presents the output. This application will be minimal, however, it may give a hint of the power it provides.

In this tutorial you will learn:
  • How to import JSch into your Java project
  • How to setup the test environment
  • How to implement the UserInfo interface in a custom class
  • How to write an application that initiates interactive ssh session

The /etc/fstab file is one of the most important files in a Linux-based system, since it stores static information about filesystems, their mountpoints and mount options. In this tutorial we will learn to know its structure in details, and the syntax we can use to specify each entry in the file.

In this tutorial you will learn:
  • How to use the fstab file to provide static filesystem information
  • How the fstab file is structured
  • What is the purpose of each entry field in the file

There are number of ways on how to check Linux Mint version. Since Linux Mint comes with number of available Desktops the graphical user interface may differ from user to user hence the procedure is also different. From this reason the easiest and perhaps even recommend solution is to simply open up a command line terminal and execute the following command cat /etc/issue.

To check a version of other Linux distributions visit our how to check Linux version guide.

In this tutorial you will learn:
  • How to check Linux Mint version from graphical user interface
  • How to check Linux Mint version from the command line

This article explains basic commands for navigation within Linux file system. The diagram below represents (part of) a Linux file system know as Filesystem Hierarchy Standard. A line from one node to a node on its right indicates containment. For example, the student directory is contained within the home directory.

In this tutorial you will learn:
  • How to use pwd command
  • How to use cd command
  • How to navigate to user home directory
  • Difference between relative vs absolute
  • What is a parent directory

The common scenario is that you have been given an access to a Linux system physically or via remote login and you have no idea what Linux version is installed on this particular system. Given that many of the today's Linux Distributions have implemented systemd as part of their core design, to check for a Linux version is in many cases relatively simple procedure.

The simplest way to check Linux version is by using the hostnamectl command without any arguments. For example the below hostnamectl command will return the Linux distribution name, version and codename in use along with the currently loaded Linux kernel version:
$ hostnamectl 
   Static hostname: x220
         Icon name: computer-laptop
           Chassis: laptop
        Machine ID: 2d4efda5efb0430faeb2087d0a335c6b
           Boot ID: f8c4a3a776a74d42878347efc2c00634
  Operating System: Debian GNU/Linux 10 (buster)
            Kernel: Linux 4.9.0-9-amd64
      Architecture: x86-64

It is a common mistake to refer to the entire GNU/Linux operating system simply as Linux. The important note here is that the so called Linux is actually only the Kernel part of the system whereas GNU is the actual system as in collection of pre-compiled binaries, libraries and system tools. Both GNU and Linux kernel must function in tandem in order for the operating system to actually work.

Hence, one cannot exists without the other, so next time when you talk about your operating system and you wish to be technically correct, refer to it as GNU/Linux or simply as Lignux.

In this tutorial you will learn:
  • Basic introduction to Linux package
  • How to check system architecture and Linux kernel version
  • How to check CPU architecture
  • How to check CentOS, Redhat, Debian, Ubuntu, Mint, Arch, Fedora Linux system version

AMule is a p2p, open source client for the  eD2k network. Released under the GPL license, it supports a lot of platforms and operating systems. In this tutorial we will see how to install a minimal, headless version of AMule on Raspbian "Stretch", the latest version of the official Raspberry Pi OS. We will see how to setup the amule-daemon and adjust the firewall rules in order to control it via web interface.

In this tutorial you will learn:
  • How to install and configure the amule-daemon
  • How to configure and access the amule web interface

Having a cluster built out of Raspberry Pi's is not only fun but also eases your work. As we discussed in our latest article in the series you can use the cluster to compile software or make it gather data from various sources on the Internet. There are many uses for such a thing.

However, after compiling for an hour straight you might get curious as of how your nodes perform. How they work under load, if they're not under-powered or if the CPU temperature is not rising above desired levels. How much memory have you got left in each of the nodes while they're doing tasks. The more nodes you have in your rack, the more information you will have to go through. Luckily there is software out there that can help you visualise such information all at once in various ways.

In this tutorial you will learn:
  • How to install the glances monitoring tool
  • How to configure glances
  • How to use glances to see cluster information
  • How to create a local webpage to display the glances output

Here is out third article in the Building a Raspberry Pi Cluster series. We will talk about what software we can use to make all the cluster nodes respond to your commands all at once, so that you can install whatever you wish and do it only once for ll of the cluster nodes instead of configuring them one by one as separate entities. Such software greatly eases your work and reduces the time needed to perform operations. It does not matter if you have four, eight or fifty nodes to work with you can make them all do the same thing at the same time.

In this tutorial you will learn:
  • How to install and configure ClusterSSH
  • How to install fabric and use the fab command
  • How to give commands to your cluster

As per our first part, you now have your cluster all assembled and ready and want to install it. Do something with it already. For this we will have to download Raspbian Stretch Lite - a Linux distribution based on Debian and made especially for the Raspberry Pi. The ”Lite” version has an image file of 1,8GB and contains only the base system. We will not need an X server or a GUI to make our cluster functional and with Raspbian Lite we also save some space on the 16GB MicroSDHC card.

In this tutorial you will learn:
  • How to write the Raspbian image file to a MicroSD card
  • How to install Raspbian Lite
  • How to configure your first node of the cluster

Nowadays Linux runs on almost anything. You can get a cheap PC and turn it into a media station or web server or whatever else you wish at no additional cost. Hardware is cheap also. With the advent of the Raspberry Pi and similar small computer boards one can get a fully-functional PC for the price you'd usually pay for a sixpack of beer. In this LinuxConfig series we'll not only build a Linux computer; we'll build an entire Linux cluster with four nodes and learn how to manage it so that all the nodes respond at the same time to the same commands.

Hardware Requirements:

Submit your RESUME, create a JOB ALERT or subscribe to RSS feed.
Subscribe to NEWSLETTER and receive latest news, jobs, career advice and tutorials.
Get extra help by visiting our LINUX FORUM or simply use comments below.

You may also be interested in: