The follow-up to running Ubuntu Touch on a Fairphone 4 is the feature that actually distinguishes it from every mainstream phone. Plug the phone into a monitor over USB-C, pair a Bluetooth keyboard, and the phone becomes a desktop computer. The phone's own touchscreen then works as the trackpad. This is convergence, and once it works, it changes what the phone is for.
tag: #linux
top tells you a process is busy. It does not tell you why. The perf toolchain, plus a handful of eBPF-based tools, answer the why at the level of functions, cache misses, and individual block-device latencies. This is the advanced layer, for when the basic tools have already told you which process to look at.
bcachefs is, on technical merit, the most interesting copy-on-write filesystem to arrive on Linux in a decade. It is also, as of Linux 6.18, no longer in the kernel, ejected after a governance dispute between its author and Linus Torvalds and now shipping as a DKMS module like ZFS. This is the story of a filesystem whose engineering and whose politics point in opposite directions, and what that means for anyone deciding whether to run it.
I run Ubuntu Touch on a Fairphone 4 as my actual phone. It is a good experience, better than the skeptics assume and worse than the enthusiasts claim. Waydroid runs most Android apps, microG handles most of the apps that expect Google services, and the one real cost is that backups do not work the way you are used to. This is the honest writeup.
Plain ip link and ip addr dump a wall of text for every interface, most of it irrelevant when you just want to know what is up and what has an address. The -br flag collapses each interface to a single line, and it is the version you should be reaching for on every troubleshooting call.
shutdown is the command operators reach for out of habit when they want to bring a system down. For the common case (a single-user workstation, a headless server, an ad-hoc maintenance window), halt does the same orderly shutdown with less ceremony and a simpler invocation. The reason shutdown won the muscle memory is historical and no longer applies on modern systemd systems.
Consumer operating systems trained an entire generation of operators to reach for the reboot button as the first step of any debugging session. On Windows this is occasionally the right answer. On Linux and FreeBSD it is almost always the wrong one, because the reboot destroys the evidence you needed to fix the problem in the first place.
On Debian and Ubuntu, two commands look like they do the same thing. They do not. adduser is a Perl wrapper from the adduser package. useradd is the raw binary from upstream shadow-utils. The difference catches operators who write portable scripts and expect either name to work the same way on RHEL or Alpine.
A chunk-store backup that was projected to take ten days for sixty six gigabytes. The protocol was CIFS over rsync. The fix was rclone over SFTP with parallel transfers. The same data, the same network, the same off-site target, moved 280 times faster. The reason is a protocol property that does not show up in any "which backup software" comparison but that decides whether your backup can actually finish before tomorrow.
GRUB has been the default Linux bootloader for two decades. For most of those decades it was the right default. On a modern UEFI system that runs exactly one operating system, it is not. The smaller, simpler, UEFI-native alternative has been mature for years and should be the choice that an engineer makes deliberately rather than the default that lands on the disk because nothing pushed back.