main

Introduction to database normalization: the first three normal forms

The goal of a relational database normalization is to achieve and improve data integrity and avoid data redundancy so to avoid possible insertion, updation or deletion anomalies. A relational database is normalized by applying a series of rules called normal forms. In this article we will discuss the first three normal forms.

In this tutorial you will learn:

  • What is the first normal form
  • What is the second normal form
  • What is the third normal form
main

Read more

How to rollback pacman updates in Arch Linux

How to rollback pacman updates in Arch Linux

Arch Linux is often praised for it’s bleeding edge software and rolling release model. We discuss these features more in depth in our article comparing Arch Linux and Manjaro. In addition to this praise, Arch Linux also has a reputation for being unstable. This reputation stems from the sometimes unpredictable nature of bleeding edge software. The latest software from upstream developers may contain bugs that were not apparent during initial testing. As a result, the risk is always present that updating with the package manager, pacman, may bring about unexpected results. These may include a specific piece of software no longer working properly (or at all) or even multiple applications or Desktop Environments no longer working as expected.

Read more

Benchmarking compression results of a directory with 7zip, the winner of our test

Best compression tool on Linux

There’s no shortage of compression tools available for Linux systems. Having so many choices is ultimately a good thing, but it can also be confusing and make it more difficult to select a compression method to use on your own files. To complicate things further, there is no objectively best tool for every user or system, and we’ll explain why.

When it comes to compression, there are two benchmarks that we need to be concerned with. One is how much space is saved, and the other is how fast the compression process takes place. Another thing to take into consideration is how widespread a certain compression tool is. For example, it’d be much more appropriate to package files into a .zip archive instead of .tar.gz if you know that the archive will need to be opened on a Windows system. Conversely, a .tar.gz archive makes more sense on Linux, since tar files save file permissions.

In this guide, we’ll be looking at a variety of compression tools that are available on the most popular Linux distributions. We’ll compare their compression ratio, speed, and other features. By the end of this guide, you’ll be armed with enough information to choose the best compression tool for any given scenario.

In this tutorial you will learn:

  • Benchmark results of various compression utilities
  • How to conduct your own tests to measure compression ratio and speed
  • Picking a compression utility based on compatibility

Read more

Split window terminal multiplexer

An introduction to terminal multiplexers

April 20, 2016
by Rares Aioanei

Introduction

If you’re new to server administration and command-line, perhaps you haven’t heard of terminal multiplexers or what they do. You want to learn how to be a good Linux sysadmin and how to use the tools of the trade. Or perhaps you’re a seasoned administrator already and administer quite a few machines, and want to make your life a little easier. Or maybe you’re somewhere in between.

Either way, this article will explain what terminal multiplexers are, what they do and most importantly, how you can benefit from using them.

A terminal multiplexer is nothing more than a program that allows its user to multiplex one or more virtual sessions, so the user can have several sessions inside one single terminal. One of the most useful features of such programs is the fact that users can attach and detach such sessions; how is this useful will become clear shortly.

Use cases

Persistent sessions

Let’s say you have to administer a remote server via ssh/command-line but your connection is not very stable. That means you have to reconnect often and don’t want to start work all over again. Terminal multiplexers offer the feature of saving your sessions between connections so you can continue just where you started.

Please note that such sessions are not persistent between reboots (in our case above, reboots of the server you’re connecting to) so it’s best to know this in order not to expect such a feature. The reason for this is the fact that the multiplexer runs shell sessions, from which you may be running a text editor, a monitoring tool and whatnot. Since all those processes will not be there anymore after a reboot, there is no reason why this feature should be implemented as it would not have any real use.

We spoke in our introduction about attaching and detaching : this is exactly what this feature does. Continuing with our use case, where you have an unstable connection, once you get disconnected, you can just ssh into the server again and reattach to the running session (or choose between sessions to reattach to) and you’ll be right where you
left off.

Read more

Linux Download

In this article, we’ll cover and compare some of the most popular Linux distributions. Furthermore, you’ll be given the information you need to make a decision about which one to use, as well as the links to the official Linux downloads pages for each Linux distribution.

DID YOU KNOW?
When people say “Linux,” what are they actually referring to? Linux isn’t technically an operating system itself, but a kernel that serves as the foundation for a fully packaged operating system.

Linux distributions, or distros, all share the same kernel but come preloaded with a slew of software and utilities. These additions are what make Linux usable out of the box and give the user an operating system experience. They’re also what make each distribution unique. Such software usually includes a package manager, desktop environment, and other common tools you’d expect to find.

The Linux kernel is free and open source. Generally, most or all of the software included in a Linux distribution is the same way. GNU makes its way onto most distributions, which is a collection of free software. Some refer to this combination as GNU/Linux or LiGNUx, but it has become more common (and erroneous) to simply say Linux, with the understanding that GNU software is pretty much implied.

Choosing the right distribution to download can seem a little overwhelming, as there are many options. In this guide, we’ll try to make the decision process a little easier by comparing the most popular Linux distributions and helping you download the one that suits you best.

Most popular Linux downloads

UbuntuCentOSDebian
FedoraLinux MintArch Linux
ManjaroOpenSUSERedHat
Kali LinuxPuppy LinuxClear Linux
SolusTrisquel LiGNUXPureOS LiGNUx
Oracle LinuxPop!_OSMX Linux
Elementary OSParrot OSDeepin
SlackwareGentoo
Download pages of the most popular Linux Distributions

Read more

Slackware Linux

Slackware Linux download

Slackware is a Linux distribution that dates all the way back to 1993. As a matter of fact, it’s the oldest Linux distribution that’s still maintained. For other most popular Linux distributions, please visit our dedicated Linux download page.

Linux has come a long way since its inception in the early ’90s. Many distros from back then are no longer around, and the ones that are, have undergone extreme change over the years – as one would probably expect. Slackware, though, has only evolved about as much as it absolutely had to.

Using this distribution is probably the closest you can get to “old school” Linux. It’s not completely devoid of newer innovations; it does have a package manager after all. But package dependencies are not resolved for you. There’s no GUI installer. There’s no systemd. While the vast majority of Linux distros adopted all these conventions over the years, Slackware refrained.

Slackware offers its users a decidedly simple, barebones experience. Installation is not necessarily hard, but you’ll probably need a guide to walk you through it. There’s no hand holding, as Slackware expects its userbase to be well versed in Linux commands. On the plus side, this puts you in total control over your system.

During installation, you can control how much software is installed out of the box. The “full” installation, after everything’s up and running, weighs in at about 9 GB. So, Slackware still comes decked out with the essentials, assuming you choose that option. Package dependencies for included software are already installed, but extra packages will require you to install dependencies manually. This may take a little research on your part, but using Slackware means you’re prepared to get your hands dirty.

Slackware is for Linux veterans that want granular control over their system. It’s an extremely simple and extremely stable operating system. It’s the most UNIX-like Linux distribution that you can get. Some will get joy from using it, and others will only get a headache. It’s one of those things you either love or hate.

Read more

Gentoo

Gentoo Linux download

Gentoo is a Linux distribution with an extreme focus on flexibility and customization, right down to the kernel. For other most popular Linux distributions, please visit our dedicated Linux download page.

When I hear about Linux distros that really leave a lot of control up to the user, usually Arch Linux makes its way into the conversation, and maybe Slackware as a more extreme example. But Gentoo definitely takes it a step further, as the user must compile the kernel itself as part of the installation process.

It’s an advanced process, but Gentoo developers also make it a bit easier with the “genkernel” utility, which can help you compile the kernel in a few short commands. Advanced Linux users can still take as much time as they like to strip the kernel of components they deem unnecessary, or adding in those that they want on their system. This attribute makes Gentoo a modular operating system by design. Each user can customize their out of box experience, making Gentoo highly adaptable.

Choosing what goes into your kernel will lead to a very speedy system with a small RAM footprint. Back when Gentoo premiered in 2000, this was a very enticing feature. These days, with current hardware advancements, most Linux users will probably prefer the GUI installers and precompiled kernels that have become standard in the most common distros. However, Linux veterans that have a passion for tinkering will get their fill of it with Gentoo, and that’s really the target audience.

So, Gentoo is a good way to get your nerd fix, but it also works well for specialized servers. For example, if you are running a database server, you could exclude unrelated components from the kernel. This will give you the speediest system possible, and it will have a smaller chance of encountering problems. This is particularly useful on servers with limited hardware specs.

Granular control remains present after you get Gentoo up and running. It uses the Portage package manager (invoked with the emerge command) and USE flags to optionally exclude components from the system. For example, you can install the SeaMonkey web browser, without the PulseAudio component, with the follow command.

# USE="-pulseaudio" emerge www-client/seamonkey

Such flags are also possible to set globally, which helps to ensure that certain components never find their way onto your system. PulseAudio and systemd, among others, are popular components that users like to exclude. It’s also worth mentioning that Google bases their Chrome OS off of Gentoo.

Read more

Splitting tar archive into blocks

How to split tar archive into multiple blocks of a specific size

Tar archives can be split into multiple archives of a certain size, which is handy if you need to put a lot of content onto discs. It’s also useful if you have a huge archive that you need to upload, but would rather do it in chunks. In this guide, we’ll show you the commands you need in order to split tar archives into multiple blocks on a Linux system.

This will work regardless of what type of compression (or lack thereof) that you use. So files with extensions like .tar, tar.gz, tar.xz, etc. can all be split into chunks. We’ll also show you how to extract files from archives that have been split into numerous files.

In this tutorial you will learn:

  • How to split tar archives into multiple files
  • How to open split tar archives
Splitting tar archive into blocks

Splitting tar archive into blocks

Read more

Combining files into a split zip archive

How to split zip archive into multiple blocks of a specific size

When compressing large files on a Linux system, it can be handy to split them into multiple blocks of a specific size. This is especially true for squeezing a large archive onto multiple discs, or uploading a large archive online in chunks.

Linux makes this possible with tar files, as we’ve seen in our split tar archive into multiple blocks guide, but you can also do it with zip files.

In this guide, we’ll see the step by step instructions to create a zip archive split into multiple blocks. We’ll also go through the process of unzipping the split archive.

In this tutorial you will learn:

  • How to split zip archives into multiple files
  • How to open split zip archives
Combining files into a split zip archive

Combining files into a split zip archive

Read more

Beginners guide to xz compression on Linux

Beginner’s guide to compression with xz on Linux

xz compression has been rising in popularity because it offers smaller file sizes than gzip and bzip2. You’re still likely to see all three on a Linux system, but you may want to start opting for xz if you want smaller file archives.

In this guide, we’re going to introduce you to xz compression, starting from basic examples to more specific and advanced usage. If you’ve worked with compressed tar files or gzip compression (files with the .tar.gz extension, for example) in the past, you’ll find that xz feels very familiar.

In this tutorial you will learn:

  • How to create xz compressed archives from command line or GUI
  • How to decompress xz archives from command line or GUI
Beginners guide to xz compression on Linux

Beginners guide to xz compression on Linux

Read more

How to prevent NetworkManager connectivity checking

How to prevent NetworkManager connectivity checking

NetworkManager is a software utility for configuring and managing network interfaces. It is developed by the Gnome project and is used in many distributions and by many Desktop Environments. The stated goal of NetworkManager is to make setting up and configuring networking as automatic and painless as possible, so that it just works. To aid in this goal NetworkManager can perform connectivity checking in order to determine whether your network has full internet connectivity.

Read more

Rocky Linux download

Rocky Linux download

Rocky Linux is an upcoming Linux distribution that will be based on Red Hat Enterprise Linux. For other most popular Linux distributions, please visit our dedicated Linux download page.

For many years, CentOS Linux was a reliable, enterprise-ready distribution based on RHEL. In late 2020, Red Hat announced a change of direction for the distro, which would now be named “CentOS Stream” and exist as an upstream vendor.

In response, CentOS founder Gregory Kurtzer launched Rocky Linux, a project that will inherit the original goals of CentOS. Being based on RHEL means that it will only inherit the most tested and stable components that have been introduced upstream in Fedora and CentOS Stream.

Not much is known about the new distro at this time, except that it should function similarly to CentOS (the CentOS before this change) and will most likely be an appropriate replacement for it. You can stay abreast of the latest news by visiting the official Rocky Linux site, as well as Rocky’s GitHub. We’ll also be updating this article as new information is revealed.

Read more