Using lsof to Recover Deleted Files

If an open file is deleted accidentally, it is possible to use lsof to recreate a copy of the file; provided this is done before the file is closed by the application holding it open.

If you have inadvertently removed a file from the filesystem it is still recoverable if the application using the file it still running. This is because the inode is still open and therefore the data blocks are still on the disk until the application closes the file or exits.

Continue reading “Using lsof to Recover Deleted Files”

Essential Docker commands

Docker is the most popular container technology. It is designed to make it easier to create, deploy, and run applications by using containers. Docker behaves similar to a virtual machine hypervisor. But unlike a virtual machine, rather than creating a whole virtual operating system, Docker allows applications to use the same Linux kernel as the system that they’re running on and only requires applications be shipped with things not already running on the host computer. This gives a significant performance boost and reduces the size of the application.

Continue reading “Essential Docker commands”

Ansible Part IV: Roles Overview

You may find Ad-hoc mode (from Part II) easy to use on day-to-day tasks such as for quick systems checks or when updating a config file on multiple systems. Stepping up simple ad-hoc commands are Ansible playbooks (from Part III) and Ansible roles which are very powerful ways to utilize Ansible’s features.

Continue reading “Ansible Part IV: Roles Overview”

Ansible Part III: Using Playbooks

The Ansible cases we tested so far from Part I and Part II are what we call ad-hoc mode. If you are pretty comfortable on combining these ad-hoc commands and bash scripts, you can do a lot of work for a small amount of time. But Ansible can offer a lot more features. We’ll explore creating Ansible playbooks on this part.

Continue reading “Ansible Part III: Using Playbooks”

Ansible Part II: Using Modules

On the first part of this series, you learned how to setup and configure Ansible. Part II explains how Ansible modules work and how you can use Ansible in ad-hoc mode from the command line.

Continue reading “Ansible Part II: Using Modules”

Ansible Part I: Installation and Setup

This is the part one of the four part series on the basics of how to use Ansible. There will be a gradual introduction from basic to intermediate examples how to install, setup and use Ansible. As well as the how to create ansible playbooks and roles. Let’s get started with Part One: Installation and Setup.

Continue reading “Ansible Part I: Installation and Setup”

The Linux Filesystem Explained

Have you ever wondered what all the folders on the root (/) directory of the Linux filesystem are for? Which file goes into which directories and why are they saved in those directories? On this post, we’ll check out each folder and what purpose or function they serve for the operating system itself. Continue reading “The Linux Filesystem Explained”

Comparing files using the diff command

The diff command outputs the differences between two files, line by line. For files that are identical it produces no output, for binary files only reports if they are different or not.

The set of differences produced by diff is often called a diff or patch, and this output can be used later on by the patch command to change other files. Continue reading “Comparing files using the diff command”