I have spent a lot of time spent over the years to tweak my system to my taste. Things like Openbox, Vim, Zsh, Tmux have a myriad of options and plugins that I put effort into configuring, and also I have my collection of installed programs whose configuration files I tuned. When it comes to …
Category: linux
How to recover a BTRFS partition
Disclaimer: I take no responsibility for any data loss resulting from following this guide. Try to understand what you are doing at all times and don’t copy-paste commands without reading carefully. BTRFS is a great filesystem for holding data. It is a modern copy-on-write filesystem featuring enhanced data integrity mechanisms to avoid silent data corruption, …
Enjoy your self hosted music with Diffuse Music Player
Diffuse is a music player that supports various services such as Google Drive and S3, plus decentralized locations such as Webdav and IPFS. It is very easy to use and the latest, stable Electron release can be installed to Windows, MacOS or Linux desktops from here. Music is simply displayed as a list and …
Running and building ARM Docker containers in x86
We already covered how Linux executes files and how to run ARM binaries “natively” in Linux in the last two posts. We ended up running a whole ARM root filesystem transparently in a chroot jail using QEMU user mode and binfmt_misc support. Now that we have that covered, nothing prevents us from applying that to …
Transparently running binaries from any architecture in Linux with QEMU and binfmt_misc
What? you can do that in Linux? It turns out you can! First, let’s see it in action. Here I retrieve a binary from my Raspberry Pi which is an ARM binary and execute it in my x86_64 machine transparently. If you try to do this… it won’t work right away. $ ./echo …
The real power of Linux executables
What happens when a file gets executed in Linux? What does it mean that a file is executable? Can we only execute compiled binaries? What about shell scripts then? If I can execute shell scripts, what else can I execute? In this article we will try to answer those questions. What involves executing a …
Debugging the Linux Kernel
This is a little compilation of some useful configuration options and basic methods to debug a Linux kernel. There is good documentation in kernel.org and elsewhere but back when I was learning these things I felt that there are few places where you can get a high level overview. We will go through more advanced …
Understanding disk usage in Linux
How much space is this file taking from my hard drive? How much free space do I have? How many more files can I fit in the remaining free space? The answer to these questions seems obvious. We all have an instinctive understanding of how filesystems work, and we often picture storing files in disk …
Analyze disk usage with dutree
dutree is a command line tool to analyze disk usage. Features coloured output, according to the LS_COLORS environment variable. display the file system tree ability to aggregate small files ability to exclude files or directories ability to compare different directories fast, written in Rust This tool is a mix between tree and durep, which we already …
Easy sync BTRFS snapshots with btrfs-sync
To complement the last BTRFS tool btrfs-snp (which allows us to schedule snapshots), I would like to share a new tool to synchronize them locally or remotely to achieve efficient data redundancy. With btrfs-snp we can replicate our BTRFS snapshots in a different BTRFS system, and have a second copy of our versioned subvolume in …