Browse by distribution
RHEL family tutorials
Covers RHEL, Rocky Linux, AlmaLinux, CentOS, CentOS Stream, Fedora, Oracle Linux.
Ubuntu tutorials
Ubuntu Linux guides for LTS and interim releases. apt and snap installs, Netplan networking, systemd services, and desktop or server setup.
Debian tutorials
Debian Linux guides for stable, testing, and unstable. apt and dpkg workflows, systemd, networking, and server or desktop configuration.
Kali Linux tutorials
Kali install, repository, and package guides live in the ethical hacking section—VirtualBox, USB, Android, Apple Silicon, and day-to-day apt tasks on Kali.
Linux Mint tutorials
Linux Mint guides built on the Ubuntu LTS base. apt and dpkg installs, Cinnamon desktop configuration, Update Manager, and driver setup.
Arch Linux tutorials
Arch Linux guides — pacman, AUR workflows, and rolling-release administration.
General Linux guides
Distribution-neutral Linux tutorials—systemd, networking, security, and administration concepts that apply across RHEL-family, Debian-family, and other platforms.
Featured in this section
All Linux articles
How to Copy a Directory Over SSH on Linux
Copy a directory and its contents between Linux hosts with scp -r and rsync -av over SSH, verify the remote layout, and avoid common path mistakes with trailing slashes.
Restrict SFTP Users to a Directory with OpenSSH Chroot
Restrict SFTP users to a chroot directory with OpenSSH ChrootDirectory, ForceCommand internal-sftp, Match blocks in sshd_config, writable upload folders, and SSH public-key authentication.
How to Set Up a Proxy for YUM and DNF Repositories
Configure proxy settings in dnf.conf and yum.repos.d for YUM, DNF 4, and DNF 5 on RHEL-family systems, including authenticated proxies, per-repo overrides, and proxy=_none_.
How to Set SFTP umask in Linux
Set SFTP upload permissions with OpenSSH internal-sftp -u in sshd_config, apply umask per user or group with Match blocks, and understand why umask removes bits but cannot add them.
Secure HTTPS File Transfer with curl and Apache on RHEL
Set up Apache httpd with TLS, WebDAV, and HTTP basic auth on RHEL-family systems, trust the server certificate on the client with curl --cacert, and upload or download files over verified HTTPS.
How to Set the FFmpeg Output Directory on Linux
Set the FFmpeg output directory by including the folder in the output file path after -i, use the current working directory for bare filenames, and set input_dir and output_dir in bash scripts.
SCP vs rsync in Linux: When to Use Each for Remote File Transfer
Compare scp and rsync for Linux file transfer: what each tool does, when to use one-off copy vs repeated sync, SSH security, metadata, resume, and common path mistakes.
pkill -P: Kill Child Processes by Parent PID in Linux
Use pkill -P PARENT_PID . to send SIGTERM to every direct child of a parent process, list them with ps --ppid, and clean up script workers with pkill -P $$ . on EXIT.
Run a Script Before the Linux Login Prompt with systemd
Run a shell script before the console login prompt with systemd using Wants and Before getty-pre.target, then verify with systemctl show and the script log file.
Run a Script Before Shutdown or Reboot with systemd
Run a shell script before shutdown or reboot with systemd using Before=shutdown.target and WantedBy=shutdown.target for cleanup on both poweroff and reboot.
Run a Script at Linux Boot with systemd (Without cron)
Run a shell script at Linux boot with a systemd service unit after network-online.target, enable it with systemctl, verify with journalctl, and avoid common ExecStart path mistakes.
Run a Script N Minutes After Boot with systemd (Without cron)
Run a shell script five minutes after boot with a systemd timer using OnBootSec, keep the Timer section in a .timer file, enable only the timer, and verify with systemctl list-timers.
Run a Script at Shutdown Only (Not on Reboot) with systemd
Run a shell script only at poweroff or halt with systemd by enabling the unit on poweroff.target and halt.target, not on reboot.target, and verify with a poweroff test.
pam_faillock: Lock User Accounts After Failed Logins on RHEL
Enable pam_faillock on RHEL-family Linux with authselect and faillock.conf, verify SSH lockout after failed passwords, and reset tallies with the faillock command.
Install Prometheus and Grafana on RHEL, Rocky Linux, and AlmaLinux
Install Prometheus from the upstream Linux binary on RHEL-family hosts, add Grafana from the official RPM repository, enable both with systemd, open firewalld ports 9090 and 3000, and connect Grafana to Prometheus on the …
What Does the Dot After Linux File Permissions Mean?
Learn what the trailing dot after Linux permissions means in ls -l output, how it differs from a plus sign, and when to use ls -Z or restorecon instead of removing SELinux labels.
How to Copy Files from One Linux Server to Another
Copy files between Linux servers with scp, rsync, SFTP, tar over SSH, ncat, curl, and wget using tested push, pull, sync, and HTTP examples.
How to Create a Dropdown List in SoftMaker PlanMaker
Create a dropdown list in SoftMaker PlanMaker with input validation for in-cell lists or a form object dropdown linked to a sheet range and result cell.
chmod 777 in Linux: Meaning, Risks and Safer Alternatives
chmod 777 gives owner, group, and everyone else read, write, and execute or search permission (rwxrwxrwx); learn why that is risky, what chmod -R 777 does, and which modes like 755 or 775 to use instead.
Check Last Password Change and Expiration Date in Linux
Check last password change and expiration date on Linux with chage -l, chage -i -l, passwd -S, and /etc/shadow, including status codes and local vs LDAP users.
How to Check if a Linux Server Is Physical or Virtual
Check if a Linux server is physical or virtual with systemd-detect-virt, virt-what, dmidecode, DMI sysfs files, and lscpu, including VM vs container detection and when tools disagree.
Capture SSH and sshd strace Logs for Troubleshooting
Capture SSH client and sshd strace logs with ssh -vvv and sshd -ddd on an alternate port, analyze syscall failures, optionally attach strace -f -p to the running daemon, and collect matching tcpdump evidence.
Batch Resize Images in Linux with ImageMagick
Batch resize images in Linux with ImageMagick mogrify and magick, including aspect-ratio control, non-destructive output directories, mixed JPG and PNG folders, recursive trees, and optional format conversion.
bash: curl: command not found
Fix bash: curl: command not found by installing the curl package with apt, dnf, pacman, zypper, or apk, or by restoring /usr/bin and /bin in PATH when curl is already installed.
Systemd Tutorial for Beginners: Units, Services, Targets, and systemctl
Learn what systemd is in Linux, how units and targets fit together, and which systemctl commands to run first. This beginner tutorial focuses on concepts and points to dedicated guides for listing services, targets, …
Best Automation Testing Tools: Open Source and Linux-Friendly
Compare the best automation testing tools in {year} for Linux and CI pipelines, including Playwright, Selenium, Cypress, Appium, pytest, REST Assured, Robot Framework, k6, and JMeter, with guidance on test types, …
Best Open Source APM Tools for Application Performance Monitoring
Compare the best open source and self-hosted application performance monitoring tools in {year}, including SigNoz, Apache SkyWalking, OpenObserve, Coroot, Glowroot, and the Grafana stack, with guidance on OpenTelemetry …
How to Automate SFTP in Shell Scripts on Linux
Automate SFTP file transfers in Linux shell scripts using sftp batch mode with SSH keys, or password authentication with sshpass or expect when keys are not available.
How to Install ARPACK on Linux
Install ARPACK runtime and development packages on Ubuntu, Debian, and RHEL-family Linux from distribution repositories, verify libraries with dpkg or rpm and pkg-config, and link a sample Fortran program against …
Fix “Another App Is Holding the yum Lock” on RHEL and Fedora
Fix “another app is currently holding the yum lock” and modern DNF lock messages on RHEL and Fedora. Find the holding PID, wait safely, and clear stale metadata or RPMDB locks on DNF4 and DNF5.







