Quick save

This commit is contained in:
2026-09-09 17:01:35 +02:00
parent de25ed2aac
commit 23597e3a36
3 changed files with 14 additions and 11 deletions
+2
View File
@@ -1,3 +1,5 @@
# Documentation
Documentation for Kira Linux
[Documantation Index](src/index.md)
+1 -1
View File
@@ -1,3 +1,3 @@
Documentation for Kira Linux
# Documentation for Kira Linux
[Update Process](updates.md)
+10 -9
View File
@@ -1,17 +1,18 @@
[Back to index](index.md)
# Update process
Main feature of Kira Linux is atomic (to some degree) update process that allows roll back of unsuccessful or broken updates.
We achieve this by relying on bcachefs snapshots and subvolumes.
The main routine is as follows:
1. Before update process snapshot /usr and /var directories.
Put snapshots to **/bzz-snaps** directory named as **bzz-usr-yyyy-mm-ddTHH-MM-SS** and **bzz-var-yyyy-mm-ddTHH-MM-SS**
2. Set update status in /var/lib/hive-up/hyve-db.json as failed (update_status = false)
3. Perform update (pacman -Su)
4. If update was successful, set update status in /var/lib/hive-up/hyve-db.json to true.
5. Process with reboot.
6. On boot Nyanit reads update status from /var/lib/hive-up/hyve-db.json and if it is false roll back latest snapshots from /bzz-snaps dir.
7. Otherwise boot as usual.
The main internal routine is as follows:
1. Before update process snapshot /usr and /var directories.
Put snapshots to `/bzz-snaps` directory named as `bzz-usr-yyyy-mm-ddTHH-MM-SS` and `bzz-var-yyyy-mm-ddTHH-MM-SS`
2. Set update status in `/var/lib/hive-up/hyve-db.json` as failed (`update_status = false`)
3. Perform update (`pacman -Su`)
4. If update was successful, set update status in `/var/lib/hive-up/hyve-db.json` to true.
5. Process with reboot.
6. On boot **nyanit** reads update status from `/var/lib/hive-up/hyve-db.json` and if it is false **nyanit** roll back latest snapshots from `/bzz-snaps` dir.
7. Otherwise boot as usual.