• 0 Posts
  • 54 Comments
Joined 1 year ago
cake
Cake day: August 6th, 2023

help-circle


  • I made a honest effort, but in the end went back to Git for my personal projects. The advantages Fossil has over Git (wiki, bug tracker) are trivial to emulate with versioned plaintext files, and everything about Git’s version control system just clicks with my head. Having years of experience breaking and unbreaking things helps too.

    Tho one thing Fossil taught me is to merge by default, not rebase. Rebase when there’s good justification for it, and the rest of the time, have an alias for git log --oneline --graph --first-parent (or whatever that was). --first-parent collapses a horrible branchy-mergy history into a linear overview thereof, with details available when needed.








    1. Make a snapshot with LVM2 or BTRFS to ensure consistency, delete the snapshot after backing up.
    2. You can back up files as root (I do) or a dedicated user that has perms to all the relevant data via groups.
    3. Rsync can preserve users either numerically or by name.
    4. Rsync can do incremental backups via hardlinks (you’ll have a complete view of all files in each snapshot, but only pay the storage when files actually change).







  • It didn’t, but due to unrelated reasons. The root FS was mounted r/w, so the regular IO eventually overwhelmed the network’s ability to copy stuff.

    But no worries, a reboot later, with unmounted FS, I finished the same thing.

    Copying the disk of a running system appears to be fine in LVM. Copying is done block-by-block, and the only thing it has to do to make it atomic is: in case of a conflict (writing into a block that’s being copied right now), postpone writing to a block until it’s copied, then finish the write in the new location. Or else, abort the copy, finish the write, then copy again.