How to Install keytool on Ubuntu
Fix keytool command not found on Ubuntu by installing OpenJDK (default-jdk or openjdk-21-jdk), set JAVA_HOME and PATH, verify with keytool -help, run a PKCS12 smoke test, update through apt, and uninstall cleanly.
OpenSSL vs LibreSSL vs BoringSSL: Which TLS Library Should You Use?
Compare OpenSSL, LibreSSL, and BoringSSL for TLS and cryptography: intended audience, API stability, FIPS, how Linux distributions package each library, and when each is the right choice—with commands to verify what your …
OpenSSL Command Cheat Sheet: Keys, Certificates, TLS & PKCS#12
OpenSSL is the standard CLI for TLS keys, X.509 certificates, CSRs, chain verification, PKCS#12 bundles, file encryption, and live HTTPS inspection. This cheat sheet covers everyday subcommands with copy-paste tables and …
PKI, Certificates, CA, CRL, and OCSP Explained for Beginners
Beginner-friendly PKI tutorial: public keys, X.509 certificates, Certificate Authorities, trust chains, SAN extensions, PEM and PFX formats, CRL vs OCSP revocation, TLS and mTLS handshakes—with diagrams and OpenSSL …
How to Create PKCS12 from CRT and KEY with OpenSSL
Create a PKCS12 (.p12) keystore from CRT and KEY with OpenSSL pkcs12 -export for Java keytool, Oracle JSSE, and IBM apps. Covers alias, chain, self-signed certs, -legacy for older Java, cert-only bundles, and …
How to Create a PFX from CRT and KEY with OpenSSL
Create a PFX or P12 file from CRT and KEY with OpenSSL pkcs12 -export: add intermediate chain with -certfile, set export password with -passout, and use -legacy for Windows IIS. Copy-paste examples with verification …
How to Extract a Private Key from PFX with OpenSSL
Use OpenSSL pkcs12 to extract a private key, certificate, and CA chain from a PFX or P12 file on Linux. Covers password-protected and empty-password PFX, unencrypted PEM for nginx, -legacy for old Windows exports, and …
How to Verify a Certificate Matches a Private Key with OpenSSL
Verify a certificate matches a private key with OpenSSL: compare RSA modulus MD5 hashes, use pkey -pubout for EC and ECDSA, check CSR alignment, and test encrypted keys. Covers nginx mismatch errors and copy-paste …
How to Install OpenSSL on Ubuntu
Install OpenSSL on Ubuntu with apt (openssl and libssl-dev), verify with openssl version, understand when the distro package is enough versus building from source, and generate a test TLS key and certificate.
How to Generate a Self-Signed Certificate with OpenSSL
Generate a self-signed SSL certificate with OpenSSL in one command or via CSR: RSA 2048/4096, EC, Ed25519, SAN for localhost and IP addresses, encrypted keys, and nginx-ready PEM files. Copy-paste examples with real …
APT Rollback and History on Ubuntu/Debian: Undo Package Changes
APT on Debian and Ubuntu does not offer a single yum-style history undo. This page covers reading /var/log/apt/history.log, downgrading with apt install package=version, holding packages, and when to use snapshots …
df and du Commands in Linux: Disk Space Syntax, Options & Examples
df reports free and used space on mounted file systems. du walks directories and sums how much disk space files and folders consume — use df for mount points, du to find what is filling a path.
dig and host Commands in Linux: DNS Lookup Syntax, Options & Examples
dig and host query DNS name servers from the command line. dig exposes full resolver control and sectioned output; host prints concise answers for quick forward and reverse lookups.
gzip Command in Linux: Compress, Decompress, and Inspect .gz Files
gzip compresses single files with the DEFLATE algorithm, replacing each source with a .gz file by default. gunzip and zcat decompress; use -k to keep originals, -c to write to stdout, and -r for directory trees.
hostnamectl Command in Linux: Syntax, Options & Practical Examples (systemd)
On systemd-based Linux, hostnamectl queries and changes the static, transient, and pretty hostnames plus chassis, icon, deployment, and location metadata. It talks to systemd-hostnamed and updates /etc/hostname where …
kill and pkill Commands in Linux: Syntax, Options & Signal Examples
kill sends a signal to a process when you know its PID; pkill matches processes by name or command line and signals them in bulk. Together they are the standard way to stop runaway jobs, reload daemons, or end test …
lsblk Command in Linux: Syntax, Options & Practical Examples (Block Devices)
lsblk lists block devices — disks, partitions, LVM volumes, and loop devices — in a tree with sizes and mount points. Use it before partitioning, mounting, or resizing storage when you need a quick map of what lives on …
systemctl Command in Linux: Syntax, Options & Practical Examples (systemd)
systemctl is the main control tool for systemd on modern Linux. It lists units, shows service status, reads unit files, and starts or stops daemons — the first command to reach for when a service misbehaves or you need …
timedatectl Command in Linux: Syntax, Options & Practical Examples (systemd)
timedatectl reads and sets the system clock, time zone, NTP synchronization, and RTC mode on systemd-based Linux. It talks to systemd-timedated and systemd-timesyncd for status and one-line changes without hand-editing …
ufw Command in Linux: Syntax, Options & Firewall Examples (Ubuntu/Debian)
ufw (Uncomplicated Firewall) is the default host firewall front end on Ubuntu and Debian. It wraps iptables/nftables with simple allow, deny, and limit rules for ports, subnets, and applications.
firewalld Cheat Sheet: firewall-cmd Rules, Commands and Examples (RHEL/Fedora)
On RHEL, Rocky Linux, AlmaLinux, and Fedora, firewalld manages host firewall rules through zones and services. The firewall-cmd CLI opens ports, assigns interfaces to zones, and applies rich rules without restarting the …
pacman Command in Arch Linux: Syntax, Options & Practical Examples
On Arch Linux and derivatives, pacman is the native package manager. It syncs official repositories, installs and removes packages with dependency tracking, and maintains a local package database under /var/lib/pacman/.
grep Pattern Matching in Linux: Regex, -E, -P, -f, and Context Lines
Match lines with extended and Perl regex, pattern files, whole words, and context lines on files or stdin. This page covers pattern engines and line-level matching — not recursive directory walks.
mke2fs Command in Linux: Syntax, Options & ext Filesystem Examples
mke2fs builds ext2, ext3, or ext4 filesystems on a block device or image file. It is the low-level formatter behind mkfs.ext4 and writes the superblock, inode tables, journal, and default mount metadata for …
losetup Command in Linux: Syntax, Options & Loop Device Examples
losetup attaches regular files or block devices to /dev/loop* kernel nodes so you can partition, format, and mount disk images without dedicated hardware. It also lists, resizes, and detaches loop devices from the shell.
mdadm Command in Linux: Syntax, Options & Software RAID Examples
mdadm assembles, creates, monitors, and stops Linux MD RAID devices (md arrays) from partitions or whole disks. It writes version 1.2 metadata superblocks, reports array health, and integrates with /etc/mdadm/mdadm.conf …
pvcreate Command in Linux: Syntax, Options & Physical Volume Examples
pvcreate writes the LVM label and metadata on a disk or partition so it can join a volume group. Use it on empty block devices before vgcreate or vgextend.
vgcfgrestore Command in Linux: Recover LVM Metadata From Archive
vgcfgrestore rebuilds volume group metadata from text backups created by LVM — usually under /etc/lvm/archive and /etc/lvm/backup. It recovers mistyped lvremove or vgcfg changes; it does not replace disk imaging when …
lvscan Command in Linux: Syntax, Options & Scan Logical Volumes
lvscan lists logical volumes on the host with activation state, device path, size, and allocation policy. Use it for a quick inventory before lvdisplay or lvs.
lvdisplay Command in Linux: Syntax, Options & Show LV Details
lvdisplay prints detailed logical volume fields — path, UUID, size, extents, allocation, snapshot status, and device-mapper block major:minor. Use it when lvs is not enough.

