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

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.

The purpose of this is primarily to determine whether the network you are using implements a captive portal. Many public Wi-Fi connections implement captive portals where the user must first sign in or agree to the terms and conditions before full internet access is granted. As a result, NetworkManager’s connectivity checking feature enables the captive portal to be presented to the user easily so that they can use the public Wi-Fi without much fuss.

How to prevent NetworkManager connectivity checking
How to prevent NetworkManager connectivity checking

The way that the connectivity checking works is by performing an HTTP request to a distribution defined URI. If the request is successful then NetworkManager assumes that you have full internet connectivity, otherwise it assumes that you are behind a captive portal. By default, this request is sent once every 300 seconds. Some users may find this behavior undesirable as it enables both the server and anyone who is in a position to monitor network activity to determine information that may be considered private. Connectivity checking enables them to determine that your machine is on and connected to the internet. It also enables them to determine what distribution you are using and that you are in fact using NetworkManager.

Depending on your use case and threat model this may either be considered an insignificant risk that is worth captive portal detection working seamlessly or a completely unnecessary risk that is best avoided. If you use NetworkManager on your laptop and frequently take it to cafes and other public places to use their Wi-Fi then it may be best to leave connectivity checking on, or at least turn it back on when necessary. Conversely, if you use NetworkManager on a desktop or server that is stationary and plugged into Ethernet then it may make sense to disable connectivity checking. We will look at how to turn off NetworkManager connectivity checking on two popular distributions, Ubuntu version 20.04 and Arch Linux.

In this tutorial you will learn:

  • How to turn off NetworkManager Connectivity Checking on Ubuntu 20.04
  • How to turn off NetworkManager Connectivity Checking on Arch Linux

Software requirements and conventions used

Software Requirements and Linux Command Line Conventions
Category Requirements, Conventions or Software Version Used
System Ubuntu, Arch Linux
Software NetworkManager
Other Privileged access to your Linux system as root or via the sudo command.
Conventions # - requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command
$ - requires given linux commands to be executed as a regular non-privileged user

How to turn off NetworkManager Connectivity Checking on Ubuntu 20.04

By default, Ubuntu 20.04 establishes an http connection to once every 300 seconds as described above. In Ubuntu you can easily turn off connectivity checking through a user friendly user interface. To do so follow the directions below.

To turn off connectivity checking in Ubuntu 20.04 click the upside down triangle in the top right-hand corner and then click Settings. Next, click Privacy and then click Connectivity.

You will see a toggle for Connectivity Checking. Simply turn this toggle off and you have turned off NetworkManager’s connectivity checking feature.

Ubuntu connectivity toggle
Ubuntu connectivity toggle

Subscribe to RSS and NEWSLETTER and receive latest Linux news, jobs, career advice and tutorials.

When you change this toggle, what is actually happening behind the user interface is that a value in a configuration file is being changed.

If you examine the contents of the /var/lib/NetworkManager/NetworkManager-intern.conf file before and after toggling this option then you will see that the .set.enabled=true setting under [connectivity] changes to .set.enabled=false after toggling the Connectivity Checking option off in the user interface. With this in mind, if you prefer to use the terminal to change this setting then you can simply edit the file yourself by following the steps outlined below.

First, using your preferred text editor, open the /var/lib/NetworkManager/NetworkManager-intern.conf file with root privileges.

$ sudo vim /var/lib/NetworkManager/NetworkManager-intern.conf

Next, change the following value in the relevant setting from true to false.

Change the following




Finally, restart the NetworkManager service like so.

$ sudo systemctl restart NetworkManager

After following the steps above, if you look at the Connectivity Checking setting in the Settings GUI then you will see that the setting has been toggled off.

How to turn off NetworkManager Connectivity Checking on Arch Linux

Overriding the connectivity checking settings for NetworkManager in Arch Linux looks a bit different compared to Ubuntu. Unlike Ubuntu, Arch Linux let’s the user choose the Desktop Environment and set of packages that they are using, so you may not even be using NetworkManager on your Arch system. If you elected to install NetworkManager or a Desktop Environment that uses it then by default Arch establishes a connection to every 300 seconds as described in the intro.

The Arch project acknowledges that automatic connectivity checks are a potential privacy leak, but they state that they are committed to not logging any access in order to minimize the risk. That commitment prevents Arch from associating you with the connections to their servers, but it still allows anyone who is in a position to monitor network activity to determine information that may be considered private. The recommended method to override this setting and turn off connectivity checking completely is to create a new file with your preferred configuration. The file you must create is /etc/NetworkManager/conf.d/20-connectivity.conf.

First create the new file using your preferred text editor.

$ sudo vim /etc/NetworkManager/conf.d/20-connectivity.conf

As per the CONNECTIVITY SECTION of the NetworkManager man page there are a number of ways to disable connectivity checking within this configuration file. We will use the method that changes the interval setting in order to disable it. The interval setting configures how often NetworkManager pings the uri specified. By default this value is 300, meaning once every 300 seconds. If we change this value to 0 then NetworkManager will never ping the uri specified, thus disabling connectivity checking. Enter the following into the file that you just created (/etc/NetworkManager/conf.d/20-connectivity.conf) and then save it.


Next, restart the NetworkManager service

$ sudo systemctl restart NetworkManager

Now NetworkManager Connectivity Checking is disabled on your Arch Linux system.


In this article we discussed the connectivity checking feature of NetworkManager. We examined what it is, why it exists, and why you may not want to keep it enabled. We discussed the pros and cons of disabling the feature and then we then examined how to disable it on Ubuntu and Arch Linux. Whether you decide to leave connectivity checking enabled or disable it, we think that it is important that you know about this feature and we hope that this knowledge empowers you to make the decision that is right for you.

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

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

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

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.

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.

In this guide, we'll be going over the step by step instructions to remove NGINX web server and reverse proxy server from Ubuntu Linux. Ubuntu offers us two options for uninstalling the software, either "remove" or "purge." Read on to learn the difference and find out how to perform either function.

In this tutorial you will learn:
  • How to remove, purge, or reinstall NGINX web server / reverse proxy from Ubuntu

If you're running openSUSE inside a VirtualBox virtual machine, installing the Guest Additions software will help you get the most out of the system. VirtualBox Guest Additions will give the machine more capabilities, such as a shared clipboard with the host system, drag and drop file transfer, and automatic window resizing.

This makes copying data to and from a host system much more convenient. It also changes the VM's resolution automatically when its window is resized, so you don't need to change it manually. Guest Additions will work with just about any Linux distribution, but instrutions can differ because of dependencies and package managers.

In this guide, we'll be going over the step by step instructions to get VirtualBox Guest Additions installed on openSUSE. With these instructions, it doesn't matter what host system you're using, as long as the virtual machine is running openSUSE. This guide assumes that you've already installed openSUSE in the VM correctly.

In this tutorial you will learn:
  • How to install VirtualBox Guest Addition on openSUSE

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.

Anyone with a Google account has a free 15 GB of cloud storage in Google Drive. Of course, additional storage is also available for the price of a subscription. The problem for Linux users is that Google has not made an official Google Drive client for Linux.

Other operating systems have an easy time syncing files with Google Drive, either as a backup or just for storage, thanks to Google supplying them with a client application. Linux users are not completely without options, though. In this guide, we're going to cover two different methods for using Google Drive on a Linux system.

In this tutorial you will learn:
  • How to use Google Drive with GNOME
  • How to use Google Drive with KDE
Integrating Google Drive into a Linux system
Integrating Google Drive into a Linux system

Linux inherently works well for coding and testing software. For developers and programmers, almost any Linux distro will be a good fit. When it comes to picking a distro for developing, the biggest factor is just going to be personal preference. Even so, some distros offer certain features that developers may find particularly helpful for their work.

With so many choices available, the task of choosing a distribution can be overwhelming. At the same time, jumping ship to "distro hop" is very easy to do, and shouldn't be discouraged, as it gives you an idea of what else is available. We aim to make your choice a little easier with this guide, where we list our top picks of Linux distros for developers.

Join us as we go over our top eight picks of Linux distros, presented in no particular order. Outside of this list, there are still many other good distros that you can try. And it's important to remember that there is no wrong choice. Let the countdown begin.

In this tutorial you will learn:
  • Best Linux distros for developers

Deepin Linux debuted in 2004, albeit under a different name, and has a solid foundation with being based on Debian Linux. For other most popular Linux distributions, please visit our dedicated Linux download page.

All Linux distributions, at least the good ones, were made to fulfill a particular niche. When I was first met with the Deepin installation prompts, which were in Chinese, it became apparent what its niche was. So, how's the Wuhan-developed distro stack up against other Linux distros? Let's go over its main features.

As you should be able to guess, the majority of Deepin's userbase is in China. Interestingly, the Chinese government likes Deepin so much that they commissioned a derivative to be made, which is slated to displace Microsoft Windows in China by 2022. The distro is called Unity Operating System, and it closely resembles Deepin.

Deepin is to UOS like Fedora is to Red Hat Enterprise Linux. In other words, Deepin introduces new features and updates, and after a period of testing, those updates get absorbed into UOS - the commercial Linux distro which will soon be on a massive amount of China's computers.

Although Deepin is based on Debian, the Wuhan developers have replaced a lot of the default staples with their own inventions. The Deepin Desktop Environment was created just for this distribution, and combines a lot of favorites from other systems. For example, it institutes the old "start menu," popularized by Windows. But there's also a quick launch toolbar at the bottom of the desktop, which reminds me of macOS. Of course, you'll see plenty of other conventions sprinkled throughout, inspired by various Linux desktop environments.

It doesn't stop there. Deepin has also created their own music player, movie player, text editor, and a bunch of other applications that are included by default. The system feels intuitive, like a comfy daily driver. The developers certainly did a fine job in making this system approachable by anyone, which must've led to its widespread adoption in China. While poking around, I noticed that Google Chrome could be directly installed via package manager - something that most distros don't support, due to Chrome's closed source nature. When Deepin makes these calls, is it to support user friendliness, or a step away from a FOSS philosophy? You be the judge.

NGINX is one of the most popular web server suites deployed across the internet. It's efficient, versatile, and works well on pretty much any Linux distribution. Whether you need a local server for testing, or want to host a website for the masses, NGINX is easy to set up. It can also be used as a reverse proxy server.

In this guide, we'll be going through the step by step instructions to install NGINX on a variety of Linux distributions. We'll also go over some basic usage commands, like how to start and stop the service. Keep reading to get NGINX setup on your own Linux system.

In this tutorial you will learn:
  • How to install NGINX on various Linux distros
  • How to manage the NGINX service
Successful installation page of NGINX on Linux
Successful installation page of NGINX on Linux

Users account management is one of the fundamental task of every Linux system administrator. In this article we will learn how to create a new user account, how to modify it and how to delete it from the command line using the useradd, usermod and userdel utilities, which are part of the base system.

In this tutorial you will learn:

  • What is the use of the /etc/login.defs file
  • How to create a user account with various options using the useradd command
  • How to modify a user account using the usermod command
  • How to delete a user account using the userdel command

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: