BTRFS-based snapshots provide automatic rollbacks of user home folders.
-
Start the setup process by Selecting
Advanced Options > Expert Install
-
Go through:
- Language
- Keyboard
- Detect installation media
- Load Installer components
- Detect Network Hardware
- Configure the Network
- Setup users and passwords (lebtech)
- Configure the clock
- Detect disks
-
Then, at
Partition disks
create new GPT partition
- Go down to
FREE SPACE
and press enter to create the first (EFI) partition. - Choose
Create a new partition
- Enter 1 GB for size and select
Beginning
for position of partition. - On the next screen, choose
Use as
and selectEFI System Partition
- Choose
Done
from menu
- Go down to
FREE SPACE
again to setup swap partition. - Choose
Create a new partition
- Make size 1.5 x Amount of RAM on the machine and select
Beginning
for position of partition. - On the next screen, choose
Use as
and selectSwap area
- Choose
Done
from menu
- Go down to
FREE SPACE
again to setup BTRFS partition. - Choose
Create a new partition
- Leave size at remaining space available.
- On the next screen, choose
Use as
and selectbtrfs journaling filesystem
- Choose
Done
- Arrow down to
Finish partitioning and write changes to disk
and press enter. - Answer
Yes
to all prompts
DO NOT CONTINUE TO NEXT STEP in installer (yet).
-
Instead press CTRL+ALT+F2 to get a terminal window.
-
Enter
df
command to see which partitions are mounted at:
/target
/target/boot/efi
-
umount the two above partitions.
-
mount whatever partition was previously mounted to
/target
to/mnt
-
cd to
/mnt
-
rename root snapshot from
@rootfs
to@
-
mount the root subvolume to target with:
mount -o rw,noatime,compress=zstd:1,space_cache=v2,subvol=@ /dev/<root partition> /target
- create efi directories to mount to inside of /target
mkdir -p /target/boot/efi
- Mount /boot/efi with
mount /dev/<boot partition> /target/boot/efi
Now we need to reflect our recent changes in fstab. Use nano
to edit /target/etc/fstab
The lines for / and should look like the following:
UUID=<(NO CHANGE NEEDED)> / btrfs rw,noatime,compress=zstd:1,space_cache=v2,subvol=@ 0 0
All manual updates are now done. Return to installer by typing exit
in the command line and then entering CTRL+ALT+F1
Continue through the rest of the installation process.
Note: justso must be run with admin privileges*
# justso init
Sets up the initial environment for justso.# justso make <profile>
Creates a user and corresponding home directory.# justso enable <profile>
Enables rolling back of user profile on reboot.# justso disable <profile>
Stop rolling back user's home directory upon reboot.# justso pin <profile>
Creates new snapshot of user's home directory.# justso back <profile>
Rolls the user's home directory back to the latest snapshot.# justso unpin <profile> [Num snapshots]
Removes the latest n snapshots (defaults to 1).# justso revert <profile> [Num snapshots]
Unpins n number of snapshots and rolls back to latest surviving snapshot.# justso prune <profile> [Num snapshots]
Removes n number of oldest snapshots.# justso send [-i | --incremental ] <profile>
Creates a backup file of the latest snapshot that can be sent to other devices for import.# justso receive <profile> <path to exported btrfs file>
Import a file of a btrfs snapshot into the profile's snapshot folder to be used on next reboot.- (TODO)
# justso destroy <profile>
Completely removes a profile. - (TODO)
# justso status <profile>
Provides information about the status of user's profile.