Learn how to download and install packages to a custom non-root directory.
Also find me here:
Baeldung Author
Haidar Ali
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
- All
- Administration (47)
- Installation (18)
- Filesystems (14)
- File Editing (12)
- Scripting (8)
- Files (8)
- Networking (5)
- Web (4)
- Security (3)
- Processes (3)
- File Searching (1)
How to Setup WiFi Hotspot in Linux
Filed under Networking
Learn how to create a WiFi hotspot access point in Linux using the Network Manager utility.
How to Stitch Videos Horizontally With FFmpeg
Filed under File Editing
Learn how to join two videos side-by-side into a unified video using FFmpeg’s hstack and overlay filters.
How to Install and Configure Wine on Linux
Filed under Administration, Installation
Learn how Wine works, how to install the latest stable version, and how to configure audio, graphics, and fonts.
How to Display a Real-Time Clock in Shell Prompt?
Filed under Administration
Learn how to customize a shell to display a live clock.
How to Split an MP3 File in Linux
Filed under File Editing
A quick and practical guide to splitting an mp3 file in Linux.
How to Set Icon Theme for GTK Applications
Filed under Administration, Installation
Learn how to set GTK themes manually through configuration files and how to set the icon for the GNOME desktop and install custom emblems.
How to Deactivate updatedb in Linux
Filed under Administration
A quick and practical guide to deactivating updatedb.
How to Add Objects Into JSON Array Using jq
Filed under File Editing
Explore various ways we can add an object to a JSON array using jq.
How to Normalize Audio Files in Linux
Filed under File Editing
Explore various command-line and GUI utilities to normalize audio files.
How to Interpolate Frames Using FFmpeg
Filed under File Editing
Learn about two frame interpolation filters offered by FFmpeg: tblend and minterpolate
Zsh Configuration Files
Filed under Administration
Explore the various configuration files for Zsh, such as .zshenv, .zprofile, and .zshrc.
How to Replicate Packages Across Linux Systems
Filed under Administration, Installation
Explore how to replicate packages across major Linux distributions.
How to Sort Bash Arrays
Filed under Scripting
Learn how to sort number arrays as well as string arrays in Bash.
How to Convert Audio File Format From M4A to MP3 in Linux
Filed under Files
Learn how to convert an M4A audio format to MP3 using FFmpeg, Libav, faad2, lame, SoundConverter, and WinFF.
How to Annotate Image Files in Linux
Filed under File Editing
Learn how to annotate images in Linux using ImageMagick, Shutter, and Pinta.
Sound Equalizers on Linux
Filed under Administration
Learn how to use sound equalizers on Linux.
Lossless Conversion of MKV to MP4
Filed under File Editing
Dive into the conversion process of MKV (Matroska Video) to MP4 (MPEG-4 Part 14) with no or negligible loss of quality.
How to Remove Personal Package Archives (PPAs)
Filed under Administration
Learn how to manually remove PPAs from Ubuntu-based distributions and several utilities to delete the PPAs quickly and easily.
Format a USB Drive in Linux
Filed under Administration, Filesystems
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.
sudo Access for a File Inside Vi/Vim
Filed under File Editing, Security
Learn how to save a file as sudo without leaving the Vim editor.
Creating GIF of Screen Recording on Linux
Filed under Files
Explore how to record screens on both X11 and Wayland, convert the resulting video to GIF, and optimize it further.
Guide to Personal Package Archives
Filed under Administration, Installation
Learn about PPAs, their advantages over the official package repository, and the risks involved.
How to Check Monitor Names in Linux
Filed under Administration
Learn how we can display a monitor’s vendor name, model name, and interface name.
How to Create a Bootable USB Drive in Linux
Filed under Administration, Installation
Learn how to create a bootable USB disk in Linux using the dd utility and the Ventoy program.
How to Fill and Sign PDFs in Linux
Filed under Files
Learn how to fill PDF forms and add a signature image to PDF files using Xournal++, Firefox, and LibreOffice Draw.
Bidirectional Clipboard Piping in Bash
Filed under Administration
Learn how to use the system clipboard using the command line.
The $TERM Environment Variable
Filed under Administration, Scripting
Learn about the $TERM environment variable, which defines the capabilities of a terminal.
Differences Between GTK+ and Qt Applications
Filed under Administration, Installation
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
Adjust GRUB Menu Font Size
Filed under Administration
Learn how to change the font and font size of the GRUB menu.
How to Find “n” Consecutive Characters in Text
Filed under File Searching
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.
Understanding the dm-0 Device in Linux
Filed under Administration, Filesystems
Explore what the dm-0 device is, its purpose, and how it’s related to LVM (Logical Volume Manager).
Check Permissions of a Mounted Filesystem in Shell
Filed under Filesystems, Security
Explore various methods to determine if a filesystem is read-only or read-write.
Close File Descriptors in Bash
Learn what file descriptors and close file descriptors are and how to use them.
How to Find the Drivers Associated With a Device on Linux
Filed under Administration, Installation
Explore several techniques to identify the drivers associated with a device.
How to Disable CPU Cores in Linux
Filed under Administration
Learn how to disable CPU cores temporarily and on boot and how to restrict a process to certain cores.
How to Generate a Thumbnails Gallery of a Video
Learn a couple of methods to generate a gallery of thumbnails from a video.
How To Stream and Watch Remote Videos in Linux
Filed under Web
Explore some command-line tools that allow us to stream and watch remote videos directly in Linux.
Running fsck on a Mounted Partition
Filed under Administration, Filesystems
Explore the possibility of running fsck on a mounted partition and the potential risks and issues associated with it.
Quickly Formatting an ext4 Filesystem
Filed under Filesystems
Learn various ways to convert and quickly format a partition as ext4.
Upgrading an Older Vim Script Code to Vim 9 Script
Filed under File Editing
Learn how Vim 9 Script format can bring improved features and enhancements to our existing Vim Script code.
How to Check Whether a Machine Is Booted Using the UEFI
Filed under Administration
Learn several tools and techniques available to check for the boot method in Linux.
How to Setup a Development Environment for Shell Scripting in Linux
Filed under Administration, Scripting
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.
Installing More Recent Versions of a Software on Debian
Filed under Installation
Learn how to install a more recent version of software than is available on the Debian package repository.
Connect to a Hidden Wireless Network Using Network Manager
Filed under Networking
Learn how to connect to a hidden wireless network using the nmcli and nmtui utilities.
How to Quickly Render Basic HTML in the Command Line
Filed under Web
Learn how to render and view HTML pages using lynx, w3m, and html2text.
How to Use Dark Theme for All GTK Applications
Filed under Administration
Learn how to enable dark themes for all GTK applications on a Linux desktop
How to Automatically Switch to the Git Directory After Cloning
Filed under Installation, Scripting
Learn how to automatically cd into a directory created by git clone.
How to Test for POSIX Compliance of Shell Scripts
Filed under Administration
Learn about different POSIX-compliant shells and how to use the ShellCheck utility to check for the compliance of scripts.
Add Syntax Highlighting and Additional Features to the Shell Command-Line
Filed under Administration, Installation
Learn how to add autocompletion, suggestions, and syntax highlighting to Bash and Zsh.
Open Large Files With Good Performance in Vim
Filed under File Editing
Learn how to open and edit large files in Vim in a performant way using built-in options and plugins
How to Enable/Disable Touchpad in Linux
Filed under Administration
Learn how to disable and enable the touchpad and trackpad from the command line in an X11 or Wayland environment
Mounting APFS Partition on Linux
Filed under Filesystems
Learn how to mount an Apple File System (APFS) partition on a Linux machine.
How to Configure Multilingual Fonts on Linux
Filed under Administration
Learn how to install and configure multilingual fonts using fontconfig.
How to Quickly Install Multiple Fonts in Linux
Filed under Installation
Learn how to install fonts for single and multiple users using the command-line and the Font Manager GUI utility.
Conversion of a Disk from MBR to GPT with UEFI
Filed under Administration, Filesystems
Learn how to convert an MBR disk to GPT using tools like gdisk and mkfs.
Using a Specific DNS for a Specific Domain in Linux
Filed under Networking, Web
Learn different ways to use specific DNS for certain domains or certain applications.
How to Convert CUE, BIN, IMG Images to ISO Images in Linux
Filed under Administration
Learn how to convert CUE, BIN, and IMG image formats to the standard ISO-9660 format.
How to Operate as Root in GUI
Filed under Administration
Learn the various ways to run GUI applications as root under Linux using gksu, sudo, and PAM.
What Happens to Scheduled Crontab Jobs When the Computer Is Shutdown
Filed under Administration
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.
How to Install and Set Up Headless Linux
Filed under Administration, Installation
Learn why we might need to use headless Linux and then dive into the installation process.
How to Monitor DHCP Client Activity in Linux
Filed under Networking
Learn a few methods to monitor the DHCP client activity in Linux.
How to Detect RAID Information in Linux
Filed under Filesystems
Learn how to detect the RAID information, such as the name and the model number, from the Linux command line.
LVM Dangers and Caveats
Filed under Filesystems
Understand the risks and problems associated with using Logical Volume Management (LVM).
Understanding the /etc/mtab File
Filed under Filesystems
Learn about the /etc/mtab file in Linux.
Prevent Specific Package Update in Linux
Filed under Administration, Installation
Learn the various ways to prevent a package from being updated in Ubuntu as well as RHEL and Fedora.
Installing Vim/NeoVim Plugins
Filed under File Editing, Installation
Learn how to install plugins for Vim and NeoVim manually and using the vim-plug manager.
Using Environment Variables in Nginx Config File
Filed under Administration
Learn how to use environment variables inside the Nginx config file.
Create a GIF Animation From PNG Files
Filed under Files
Learn how we can create a GIF animation out of PNG files from the Linux command line
How to Clean Up a Linux System
Filed under Administration
Leran how to clean a Linux system of unused files and directories to free up disk space
How is NeoVim Different From Vim?
Filed under File Editing
Compare Vim with its alternative implementation known as NeoVim
What Is X11?
Filed under Administration
Learn about the history of X11, how it is designed, the current state of X11, and why it will be replaced in the future
Installing RPM Packages on Arch-Based Distros
Filed under Installation
Learn what’s inside the RPM package and go over the package installation mechanism under Arch Linux
Installing and Managing Multiple Node.js Versions in Linux
Filed under Administration, Installation
Learn how we can install and manage multiple versions of Node.js on a single Linux machine
Clone Only the Space In-Use from a Disk
Filed under Filesystems
Learn how to clone only the part of the disk that is already in use
Figuring Out Which Files in /dev are Block USB Devices
Filed under Administration
Learn many ways we can use to check for the block USB storage devices attached to our system
Creating and Restoring a Linux System Image
Filed under Administration
Learn how we can create an image of our Linux machine and restore it later on
Mounting MTP Devices on Linux
Filed under Filesystems
Learn how we can mount and unmount Media Transfer Protocol devices under Linux
Guide to Virtual Disk Images
Filed under Administration, Filesystems
Learn how to choose the correct virtual disk format and the scenarios they are best suited for
Running the NGINX Server in a Docker Container
Filed under Networking
Learn how to run an Nginx container both by creating one from scratch using a Dockerfile and by using the official Nginx Docker image.
Checking Whether a Directory Exists in a Shell Script
Filed under Scripting
Learn how we can check whether a specified directory already exists
Why Is Using a Shell Loop to Process Text a Bad Practice?
Filed under Scripting
Learn the negative impacts of using a shell loop to process text contents
Find Out CPU Temperature From the Command-Line
Filed under Administration
Learn how we can check for the CPU temperature on the Linux terminal
The Exclamation Mark (!) in Interactive Shells
Filed under Administration
Discover several use cases of the “!” symbol to rerun commands from the shell’s history.
Dealing with Frozen Windows and Desktop on Linux
Filed under Administration, Processes
Learn different methods to deal with frozen graphical windows and desktop sessions
Handling Special Characters in Shell Scripts
Filed under Scripting
Go through the most common use-cases regarding handling special characters in shell scripts
How Is the Linux Kernel Tested
Filed under Administration
Learn different tools and frameworks that we commonly use for different purposes to test the Linux kernel
Find Swap Memory Usage by Processes in Linux
Filed under Administration, Processes
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
Using “/” in a Filename in Linux
Filed under Files
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 “/”
Moving Files in Linux While Showing Progress
Filed under Files
Learn how we can move files and see their progress in a terminal by using several alternatives to the Linux mv command
Set Default Permission for New Files and Subdirectories
Filed under Filesystems, Security
Learn how to use the setfacl helper utility to set default permissions for newly created files and directories
Running a Linux Command on Start-Up
Filed under Administration
Learn various ways to run a command or a script when a Linux system starts up
Multiple glibc on a Single Linux Machine
Filed under Administration, Installation
Learn a couple of ways to use multiple glibc on our machine with g++ and patchelf
Save and Restore a Linux Process
Filed under Processes
Learn how we can save and restore a process using kill and criu