Sandbox a systemd service with ProtectSystem
ProtectSystem, PrivateTmp, DynamicUser and NoNewPrivileges explained: what each directive blocks, what it breaks, and how to debug a unit that stops starting.
Filtering by topic #linux · clear
ProtectSystem, PrivateTmp, DynamicUser and NoNewPrivileges explained: what each directive blocks, what it breaks, and how to debug a unit that stops starting.
Sourcing a bash script runs it in your current shell. Executing forks a child. Why cd and export do not stick, and why source can close your session.
systemd targets replaced runlevels, and the old numbers survive only as aliases. See what a target really is, and how to change what your VPS boots into.
chown sets which user and group own a file on Linux. Create the account first, use chown user:group and chown -R, and fix root owned files after sudo.
Your VPS disk reads full and a directory walk cannot find the space. Find the deleted file a process still holds open, and the other causes.
Five reasons a cron job never runs: a minimal PATH, an unescaped percent sign, the wrong crontab, output lost to mail, and a script that assumes your shell.
Change Linux permissions with chmod: the octal digits, the u/g/o symbolic form, why a recursive numeric mode breaks a tree, and what capital X fixes.
Your unit says active but the daemon is gone. Pick the right systemd Type= for simple, exec, forking, oneshot and notify, and find the real main PID.
Bash globbing explained: how the shell expands wildcards into filenames before a command runs, plus nullglob, dotglob, globstar and extglob negation.
Colemak, Dvorak or QWERTY: what each layout optimises, where the typing speed evidence is weak, and what a switch costs on machines you do not own.
The umask decides the mode of every file you create. Print it, create a file and a directory, read the modes back, and see why root and your user differ.
How Red Hat Linux split into Fedora and RHEL, why CentOS existed, what the 2020 CentOS Stream change broke, and where Rocky Linux and AlmaLinux came from.
A history of the Linux kernel from 0.01 to 7.x: the GPL switch, the microkernel argument, the birth of git, the LTS model, and what each means for servers.
nginx returns 403 and the permissions look fine. Read the SELinux denial, fix the label with semanage and restorecon, and leave enforcing on.
What SysV init could not do, what Upstart and launchd tried first, why every distribution moved to systemd in four years, and which objections were right.
The dnf command for every apt command you already know, on Rocky Linux, AlmaLinux and Fedora, plus the repository and rollback parts that do not map.
How Unix became Linux: Bell Labs in 1969, AT&T licensing, Berkeley BSD, the 1992 lawsuit, and why the server room went to Linux instead of BSD.
Ubuntu, Debian, Rocky, AlmaLinux, CentOS Stream or Fedora: choose by support lifetime, package age, RHEL compatibility and whose docs you follow.
Linux kernel 7.1 shipped on 14 June 2026. Here is what reaches a VPS tenant, how to check the kernel you run now, and when 7.1 arrives on your distro.
ZFS gives a server checksummed data, free snapshots, send/receive replication and cheap compression. The ARC also takes your RAM. How to judge that on a VPS.
Almost every Linux distribution descends from Slackware, Debian or Red Hat. Trace the family tree, the package managers, and what your VPS images inherited.
A Fedora release gets about 13 months of updates, so a Fedora server needs a version upgrade every year. What that costs, and when Fedora is worth it.
The watch command re-runs anything every two seconds. Pick a sane interval, highlight the diff, exit on change, and quote pipes so watch runs them.
You ran rm -rf on the wrong path. Stop writing to that disk now, then work through the recovery options that actually exist on ext4, in order.
What runs natively on Linux today: the beta desktop app from apt, the Claude Code CLI, editor plugins, and which paid plan covers each one.
Set Colemak on the Linux console, in X11 and on Wayland, learn why an SSH server needs no layout, and what happens to Vim's hjkl and Ctrl keys.
Six server jobs Claude does well: reading a failed unit's logs, drafting systemd units, reviewing nginx and Compose files, plus what you must never paste.
Why $(...) runs in a subshell, so cd and variables vanish, why backticks nest badly, and the process substitution tricks that keep state in your shell.
Your host says NVMe. Check it from inside the guest with lsblk, sysfs, nvme-cli and a bounded fio latency run, and learn why virtio hides the disk.
How SSH keys work and how to manage them: one ed25519 key per device, the permissions sshd demands, config Host blocks, and revoking a lost key.
SSH config, tmux, Ansible, Uptime Kuma, Zabbix and Webmin, ranked by how many servers you have: what each replaces, setup cost in minutes, the one gotcha.
Running a service as root turns one bug into full server access. Give each service its own unprivileged account, or let systemd do it with DynamicUser.
A systemd service keeps your program running: start on boot, restart on crash, log to the journal. How to write one, add a timer, and harden it.
A port is how a server sorts incoming traffic to the right service. Learn to read what is listening with ss, and tell a local port from a public one.
A practical comparison of Linux and Windows Server: cost, footprint, remote management, web stacks, Active Directory, and when each is right.
A fair comparison of Linux and FreeBSD as server systems: base design, licensing, packages, ZFS and jails, containers, and where each one wins.