Father, Hacker (Information Security Professional), Open Source Software Developer, Inventor, and 3D printing enthusiast

  • 1 Post
  • 27 Comments
Joined 2 years ago
cake
Cake day: June 23rd, 2023

help-circle



  • As an information security professional and someone who works on tiny, embedded systems, knowing that a project is written in Rust is a huge enticement. I wish more projects written in Rust advertised this fact!

    Benefits of Rust projects—from my perspective:

    • Don’t have to worry about the biggest, most common security flaws. Rust projects can still have security flaws (anything can) but it’s much less likely for certain categories of flaws.
    • Super easy to build stuff from scratch. Rust’s crates ecosystem is fantastic! Especially in the world of embedded where it’s a godsend compared to dealing with C/C++ libraries.
    • It’s probably super low overhead and really fast (because Rust stuff just tends to be like that due to the nature of the language and that special way the borrow checker bitches at you when you make poor programming choices haha).
    • It’s probably cross-platform or trivially made cross-platform.








  • These folks are all giving great advice but also let us know when you’re ready to really fuck around and have fun with your Linux superpowers 😀

    You, in practically no time at all: “Nearly everything is working great! Now I want to make my desktop change it’s background to NASA’s picture of the day while also putting all my PC’s status monitors on there. Oh! And I want my PC to back itself up every hour over the network automatically with the ability to restore files I deleted last week. I’ve got KDE Connect on my phone and it’s awesome!”

    Then, later: “I bought a Raspberry Pi and I want to turn it into a home theater streaming system and emulation station.”

    …and later: “What docker images do you guys recommend? I want to setup some home automation. What do you guys think of Pi-hole?”

    “I’ve got four Raspberry Pis doing various things in my home and I’m thinking about getting Banana Pi board to be my router. OpenWRT or full Linux on it? What do you guys think?”

    …and even later: “I taught myself Python…” 🤣






  • Could be a bug in Nautilus though it’s so mature now that would be strange. I’d report it to their repo (don’t have the link and I’m on my phone but it should be easy to find).

    ext4 supports various filename encodings (simultaneously, even!) but sometimes when you copy a file from one destination to another in a batch with mixed encodings you can end up with situations like this. Especially from within a GUI.

    Does the problem occur when you copy each file one by one or only in batch?


  • You had corruption with btrfs? Was this with a spinning disk or an SSD?

    I’ve been using btrfs for over a decade on several filesystems/machines and I’ve had my share of problems (mostly due to ignorance) but I’ve never encountered corruption. Mostly I just run out of disk space because I forgot to balance or the disk itself had an issue and I lost whatever it was that was stored in those blocks.

    I’ve had to repair a btrfs partition before due to who-knows-what back when it was new but it’s been over a decade since I’ve had an issue like that. I remember btrfs check --repair being totally useless back then haha. My memory on that event is fuzzy but I think I fixed whatever it was bitching about by remounting the filesystem with an extra option that forced it to recreate a cache of some sort. It ran for many years after that until the disk spun itself into oblivion.


  • I wouldn’t say, “repairing XFS is much easier.” Yeah, fsck -y with XFS is really all you have to do 99% of the time but also you’re much more likely to get corrupted stuff when you’re in that situation compared to say, btrfs which supports snapshotting and redundancy.

    Another problem with XFS is its lack of flexibility. By that I don’t mean, “you can configure it across any number of partitions on-the-fly in any number of (extreme) ways” (like you can with btrfs and zfs). I mean it doesn’t have very many options as to how it should deal with things like inodes (e.g. tail allocation). You can increase the total amount of space allowed for inode allocation but only when you create the filesystem and even then it has a (kind of absurdly) limited number that would surprise most folks here.

    As an example, with an XFS filesystem, in order to store 2 billion symlimks (each one takes an inode) you would need 1TiB of storage just for the inodes. Contrast that with something like btrfs with max_inline set to 2048 (the default) and 2 billion symlimks will take up a little less than 1GB (assuming a simplistic setup on at least a 50GB single partition).

    Learn more about btrfs inlining: https://btrfs.readthedocs.io/en/latest/Inline-files.html


  • One point: ext4 has a maximum file size of 16TiB. To a regular user that is stupidly huge and of no concern but it’s exactly the type of thing you overlook if you “just use ext4” on anything and everything then end up with your database broken at work because of said bad advice.

    Use the filesystem that makes the most sense for your use case. Consider it every single time you format a disk. Don’t become complacent! Also fuck around with the new shit from time to time! I decided to format my Linux desktop partitions with btrfs over a decade ago and as a result I’m an excellent user of that filesystem but you know what? I’m thinking I’ll try bcachefs soon and fiddle around more with my zfs partition on my HTPC.

    BTW: If you’re thinking about trying out btrfs I would encourage you to learn about it’s non-trivial maintenance tasks. btrfs needs you to fuck with it from time to time or you’ll run out of disk space “for no reason”. You can schedule cron jobs to take care of everything (as I have done) but you still need to learn how it all works. It’s not a “set it and forget it” FS like ext4.