• 0 Posts
  • 35 Comments
Joined 3 years ago
cake
Cake day: August 6th, 2023

help-circle

  • This has been in beta-beta for a year at least. I tried using it last year I think.
    It’s also still not quite complete. The reaper binary (which to be fair is a tiny piece of software) still depends on 32bit libraries, so on a 64bit only system you currenrly can’t actually start any games, only use the launcher.
    With some trickery this can be circumvented, I am using steam natively without 32bit libraries, but it’s definitely not nearly done yet.



  • Understand on what level?

    The basic idea is that dbus is a type of communication layer and api.
    Services can register there and programs see their registrations. dbus can in theory then launch a service too, so things don’t have to run all the time.
    The idea is similar to having some known config file, that programs write to and that a service listens on or uses later. But dbus has more granularity.

    It also often runs the other way, with system components presenting info in dbus and programs using it, to adapt to user configuration.

    And let’s not even get into udev.

    Point here is that dbus could be implemented via a command and an sqlite database for example. The command checks the database and constructs the dbus state from it.
    But for likely performance reasons it isn’t, so this info is simply hidden in dbus, in ram, instead of being a file.

    You can access dbus via a socket file ofc, but it’s not like you can mount it.

    Even more confusingly, the internal ephemeral dbus structure with its apis and endpoints resembles a filesystem. In that way it is similar to the w!ndows registry, though not nearly as bad.

    so yeah dbus is most definitely not files

    edit: also there’s multiple dbusses, usually one per user and one for the system. Those two hold different apis and info. It’s just the same thing twice tho.






  • You put an account id/token into dns, which allows machines to renew the cert under that account with just the account credentials (key).
    So after setting it up, the token stays the same forever and you don’t need to touch dns.

    Such tokens are already used by acme clients when they renew their certs. It’s also how acme providers can detect expiring certificates for example.


    I find it a bit weird, since the whole deal of shortening lifetimes was in part to protect against stolen certificates, and now by stealing the account key you are again stealing the ability to indefinitely make certificates.

    At least you can “revoke” such access by switching the account and updating the dns record authorizing it.







  • The troubles between stage 2 and 6 are probably realizing dirs are not files, and seeing that device and driver files are different things from data files. Then stage 6 would be realizing that filesystems themselves just sit on device files. The directories and data files are in the device files. In truth, everything is a device file.

    But then, I propose a stage 7. Because when you trace it all back, with mounts pointing to device files sitting in mounted file systems, you see that /dev is a tempfs, mounted in a tempfs, in which device files are “mounted”. The fondamental root, /, is underneath the root filesystem a tempfs too. At boot, the kernel makes a tempfs, and later overlays the rootfs mounted from the /dev mounted in the root tempfs.
    Everything is a filesystem, ever,thing is mounted. The true files, device files, are mounted too. They are the mounting of a kernel module in the same way a directory - a filesystem - is a mounted kernel module.
    The Linux world is a ying and yang between dir structures and mounted kernel modules. In all of this, data files, the “true files”, don’t even show up. At the end, it’s just the kernel talking to itself.




  • btrfs’s handling makes sense. The kernel talks to the disk directly, the file is just a pointer for what range it uses, and a placeholder for the filesystem. Something like raid, balancing, cow, all won’t work because the kernel doesn’t even go through btrfs to change the swap"file".
    If you want a proper file as swapfile, with the corresponding overhead, you can make a regular file and mount it via loopback then use it as a swap device.