Learn how to download and install packages to a custom non-root directory.
Software engineer specializing in backend web services, task automation, and deployment management. A polygot programmer but mainly writes Go. Contributor and advocate of FOSS. Enjoys music, video games, eating meat and getting fit.
Here's what I've written (so far):
Baeldung on Linux
- Administration (47)
- Installation (18)
- Filesystems (14)
- File Editing (12)
- Scripting (8)
- Files (8)
- Networking (5)
- Web (4)
- Security (3)
- Processes (3)
- File Searching (1)
Learn how to create a WiFi hotspot access point in Linux using the Network Manager utility.
Learn how to join two videos side-by-side into a unified video using FFmpeg’s hstack and overlay filters.
Learn how Wine works, how to install the latest stable version, and how to configure audio, graphics, and fonts.
Learn how to customize a shell to display a live clock.
A quick and practical guide to splitting an mp3 file in Linux.
Learn how to set GTK themes manually through configuration files and how to set the icon for the GNOME desktop and install custom emblems.
A quick and practical guide to deactivating updatedb.
Explore various ways we can add an object to a JSON array using jq.
Explore various command-line and GUI utilities to normalize audio files.
Learn about two frame interpolation filters offered by FFmpeg: tblend and minterpolate
Explore the various configuration files for Zsh, such as .zshenv, .zprofile, and .zshrc.
Explore how to replicate packages across major Linux distributions.
Learn how to sort number arrays as well as string arrays in Bash.
Learn how to convert an M4A audio format to MP3 using FFmpeg, Libav, faad2, lame, SoundConverter, and WinFF.
Learn how to annotate images in Linux using ImageMagick, Shutter, and Pinta.
Learn how to use sound equalizers on Linux.
Dive into the conversion process of MKV (Matroska Video) to MP4 (MPEG-4 Part 14) with no or negligible loss of quality.
Learn how to manually remove PPAs from Ubuntu-based distributions and several utilities to delete the PPAs quickly and easily.
Learn how to create a partition table on a USB disk and use a wide range of tools for different file systems to format the USB drive partition.
Learn how to save a file as sudo without leaving the Vim editor.
Explore how to record screens on both X11 and Wayland, convert the resulting video to GIF, and optimize it further.
Learn about PPAs, their advantages over the official package repository, and the risks involved.
Learn how we can display a monitor’s vendor name, model name, and interface name.
Learn how to create a bootable USB disk in Linux using the dd utility and the Ventoy program.
Learn how to fill PDF forms and add a signature image to PDF files using Xournal++, Firefox, and LibreOffice Draw.
Learn how to use the system clipboard using the command line.
Learn about the $TERM environment variable, which defines the capabilities of a terminal.
Explore the differences between GTK+ and Qt-based applications and learn how these two popular GUI toolkits differ in architecture, licensing model, implementation language, and platform support
Learn how to change the font and font size of the GRUB menu.
Learn the basic differences between the BRE and ERE syntax and explore using grep and egrep to find the words that contain n consecutive characters.
Explore what the dm-0 device is, its purpose, and how it’s related to LVM (Logical Volume Manager).
Explore various methods to determine if a filesystem is read-only or read-write.
Learn what file descriptors and close file descriptors are and how to use them.
Explore several techniques to identify the drivers associated with a device.
Learn how to disable CPU cores temporarily and on boot and how to restrict a process to certain cores.
Learn a couple of methods to generate a gallery of thumbnails from a video.
Explore some command-line tools that allow us to stream and watch remote videos directly in Linux.
Explore the possibility of running fsck on a mounted partition and the potential risks and issues associated with it.
Learn various ways to convert and quickly format a partition as ext4.
Learn how Vim 9 Script format can bring improved features and enhancements to our existing Vim Script code.
Learn several tools and techniques available to check for the boot method in Linux.
Learn how to create a development environment for shell scripting using a couple of plugins for autocompletion and linting the shell script to Vim and NeoVim.
Learn how to install a more recent version of software than is available on the Debian package repository.
Learn how to connect to a hidden wireless network using the nmcli and nmtui utilities.
Learn how to render and view HTML pages using lynx, w3m, and html2text.
Learn how to enable dark themes for all GTK applications on a Linux desktop
Learn how to automatically cd into a directory created by git clone.
Learn about different POSIX-compliant shells and how to use the ShellCheck utility to check for the compliance of scripts.
Learn how to add autocompletion, suggestions, and syntax highlighting to Bash and Zsh.
Learn how to open and edit large files in Vim in a performant way using built-in options and plugins
Learn how to disable and enable the touchpad and trackpad from the command line in an X11 or Wayland environment
Learn how to mount an Apple File System (APFS) partition on a Linux machine.
Learn how to install and configure multilingual fonts using fontconfig.
Learn how to install fonts for single and multiple users using the command-line and the Font Manager GUI utility.
Learn how to convert an MBR disk to GPT using tools like gdisk and mkfs.
Learn different ways to use specific DNS for certain domains or certain applications.
Learn how to convert CUE, BIN, and IMG image formats to the standard ISO-9660 format.
Learn the various ways to run GUI applications as root under Linux using gksu, sudo, and PAM.
Learn how and when the scheduled jobs run when the computer is shutdown using the vanilla cron scheduler as well as the anacron task runner.
Learn why we might need to use headless Linux and then dive into the installation process.
Learn a few methods to monitor the DHCP client activity in Linux.
Learn how to detect the RAID information, such as the name and the model number, from the Linux command line.
Understand the risks and problems associated with using Logical Volume Management (LVM).
Learn about the /etc/mtab file in Linux.
Learn the various ways to prevent a package from being updated in Ubuntu as well as RHEL and Fedora.
Learn how to install plugins for Vim and NeoVim manually and using the vim-plug manager.
Learn how to use environment variables inside the Nginx config file.
Learn how we can create a GIF animation out of PNG files from the Linux command line
Leran how to clean a Linux system of unused files and directories to free up disk space
Compare Vim with its alternative implementation known as NeoVim
Learn about the history of X11, how it is designed, the current state of X11, and why it will be replaced in the future
Learn what’s inside the RPM package and go over the package installation mechanism under Arch Linux
Learn how we can install and manage multiple versions of Node.js on a single Linux machine
Learn how to clone only the part of the disk that is already in use
Learn many ways we can use to check for the block USB storage devices attached to our system
Learn how we can create an image of our Linux machine and restore it later on
Learn how we can mount and unmount Media Transfer Protocol devices under Linux
Learn how to choose the correct virtual disk format and the scenarios they are best suited for
Learn how to run an Nginx container both by creating one from scratch using a Dockerfile and by using the official Nginx Docker image.
Learn how we can check whether a specified directory already exists
Learn the negative impacts of using a shell loop to process text contents
Learn how we can check for the CPU temperature on the Linux terminal
Discover several use cases of the “!” symbol to rerun commands from the shell’s history.
Learn different methods to deal with frozen graphical windows and desktop sessions
Go through the most common use-cases regarding handling special characters in shell scripts
Learn different tools and frameworks that we commonly use for different purposes to test the Linux kernel
Learn how to view the swap memory used by processes in Linux by viewing the processes’ information inside the proc directory and using the smem tool
Learn about the Linux kernel restriction on using the “/” character in filenames and a workaround that we can use to include a Unicode character similar to “/”
Learn how we can move files and see their progress in a terminal by using several alternatives to the Linux mv command
Learn how to use the setfacl helper utility to set default permissions for newly created files and directories
Learn various ways to run a command or a script when a Linux system starts up
Learn a couple of ways to use multiple glibc on our machine with g++ and patchelf
Learn how we can save and restore a process using kill and criu