• rush@lemm.ee
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    1 year ago

    Technically, only apt exists, as per Debian. The filesystem is ext4 but with two system partitions, so that you:

    • have one backup partition
    • can install updates to the unused partition for seemless and atomic updates
    • Be immutable whilst offering easy updates

    It gets compared to NixOS because NixOS is also an immutable distribution and the package manager is equally as flexible as apx (even tho apx also allows you to use nix)

    Multiple package managers outside of apt/dpkg from Debian get managed automatically using the apx tool, only if you wish to use it. Otherwise, for the desktop they promote the use of Flatpaks or AppImages.

    • mintycactus@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      What are updates if it is Debian Sid? Updates to software will replace A and B? Or do you install everything to A and B replaces A only with next OS update?

      • rush@lemm.ee
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        When you’re on A, updates go to B. When you’re on B, updates go to A.

        After an update, a reboot will switch slots.

        • mintycactus@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          1 year ago

          That is what I also read on main page. It is not clear will Firefox package require reboot to be applied.

          BUT!

          Than you read this in documentation:

          abroot allows you to install kernel modules, drivers and other essential packages without compromising the filesystem’s immutability. When a command gets executed in abroot, a transaction gets started in the transactional shell in the second root partition. If the transaction succeeds, the changes are applied using an overlay and synced with the current root on reboot. If the transaction fails, no changes are applied (due to a property known as atomicity). abroot also allows for on-demand transactions using the abroot shell command.

          So Firefox is probably not a thing to switch A and B? But what happens if some package is successfully applied, B synced with A, after reboot it did not worked and you can not boot back.

          Also both partitions will be minimum 20gb, that’s 40 allready. If you install 5gb package, it is successful, it will install 5gb package again… That’s double time! And No garantee the system will boot. Or it won’t be synced until it boots… Yet it could hang in 3 minuted after ram leak, and both A and B are synced, you will have 3 minutes to fix things after boot. Like uninstall that package. Instead of simple rollback.

          IDK I do not get it.

          • rush@lemm.ee
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            The 40gb total are both already reserved, and a normal user isn’t supposed to modify it so it shouldn’t fill up.

            For desktop apps, Vanilla will primarily stick to Flatpaks, so Firefox will also be a Flatpak.

            VanillaOS already has a custom boot menu that can be used to switch slots in case an update went wrong, so that you can go back to your older, but working system.

            The partitions are also not synced.

            If you install something using abroot (e.g an update) it will only be installed to the unused slot. So if you run abroot --update or use the included updater, and you’re in Slot A, it’ll modify Slot B, and vice versa.

        • gnumdk@lemmy.ml
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          Looks bad in comparison with Silverblue where I can pin many previous version. Thanks to OSTree, you can downgrade to any point in the history or even switch back to an older release.

          • rush@lemm.ee
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            If OSTree suits you better, that’s fine!

            The A/B Partition method and OSTree are both great, but have different strengths

            VanillaOS described it in their FAQ once:

            Vanilla OS uses an A/B structure (ABRoot), which transacts updates atomically between two root micro partitions. The benefits of this system are the guarantee that the system is altered only when the entire transaction is successful (concept of atomicity), furthermore, the double root partition structure allows you to roll back to the previous state, directly from your boot, you will always have a home to come back to.

            This structure, unlike others, is compatible with already existing distributions and does not require a complex setup and allows easy re-initialization of the system without data loss.