Vagrant is a free and open source tool developed by Hashicorp, defined as a “a tool for building and distributing development environments”. What Vagrant does is basically acting as an abstraction layer/wrapper around virtual machines providers such as Virtualbox, VMware and libvirt, allowing us to build, provision and easily replicate virtual machines environments on different operating systems, using a common syntax.
How to load, unload and blacklist Linux kernel modules
Linux kernel functionalities, such as the support for specific devices or filesystems, are organized in modules, which can be built statically into the kernel or as separated “units” which can be loaded and unloaded on request. Nowadays needed modules are automatically loaded, so we seldom need to explicit manage them. In certain situations, however, we may need to perform such actions.
How to customize Firefox using policies
In a world where Google Chrome is, by a large margin, the most used web browser, Firefox represents the only relevant open source alternative. The Mozilla browser is installed by default (or at least available in the official repositories) of all the most used Linux distributions. In order to configure its behavior we can change settings interactively, or, more conveniently, we can create and deploy “policies”.
How to manage flatpaks privileges with Flatseal
Flatpaks represent a relative new, cross-distribution way of distributing software on Linux: applications are packaged together with their dependencies and runs in a sandbox, isolated from the rest of the system, except for some specific areas they need to access to work correctly. The system resources a flatpak needs to access are visible when it is installed from the command line; with Flatseal we can inspect and manage them graphically.
How to set default programs using update-alternatives on Debian-based distributions
More often than not, on our Linux system, we can find two or more applications of the same type installed: it is typically the case of text editors, but we can also have multiple web browsers, for example. Setting the default application used to perform a specific task system-wide, however, can sometimes be problematic. To solve this problem, on Debian and Debian-based Linux distributions, we can use the alternatives system and the “update-alternatives” tool.
How to improve and debug your shell scripts with ShellCheck
ShellCheck is a free and open source static analysis tool which can be used to check and improve shell scripts. It is able to highlight both common and edge-case errors, and suggest the appropriate fixes. ShellCheck can be used as an online or system utility, but can also be integrated as a linter in various text editors.
How to manage power profiles over D-Bus with power-profiles-daemon on Linux
Power-profiles-daemons is a free and open source project designed to handle system power profiles over D-Bus. The two major Linux desktop environment, GNOME and KDE Plasma, are nicely integrated with it, allowing the user to easily manage power profiles from their dedicated power manager interfaces, but it is also possible to switch profiles and retrieve information about them from the command line, using a dedicated utility.
How to mount a remote filesystem over SSH with sshfs
SSH (Secure Shell) is a protocol used to establish an encrypted connection with a remote machine using a client-server model: the ssh server runs on the machine we want to access remotely, while a client is used on the machines from which we want to connect. Thanks to sshfs, we can use an existing SSH connection to mount a remote directory in a secure way, without using additional services like NFS or Samba.
How to install Signal on Linux
Signal is a free and open source messaging application developed by the Signal Foundation: it is available on all the major operating systems such as Linux, Windows, Android and iOS, and supports all the major features one can expect, such as encryption, the ability to send files and make group calls. All the infrastructure behind Signal is open source, including the messaging protocol and the server software: the source code is available on github.
How to extend the Thunar file manager with custom actions
Thunar is the file manager included in Xfce, a free and open source Desktop Environment which implements the traditional desktop metaphor, and has become the favorite of many users which switched to it when the GNOME project introduced the GNOME shell. Thunar is light on resources but doesn’t lack functionalities which can be extended further by creating custom actions.
How to retrieve hardware information with dmidecode on Linux
Dmidecode is a free and open source utility we can use to retrieve hardware information on Linux. The tool is available in the repositories of all the major Linux distributions, and is able to inspect and dump the content of the SMBIOS table.
How to perform unattended Linux installations with Kickstart
Kickstart is an automatic installation method natively available on those distributions which uses the Anaconda installer: Red Hat Enterprise Linux (and its clones) and Fedora. It can also be used to install Ubuntu, actually, but in that context it acts as a layer of compatibility to the debian-native preseeding method. With Kickstart we can perform unattended, customizable and reproducible installations.