linuxmint / timeshift

System restore tool for Linux. Creates filesystem snapshots using rsync+hardlinks, or BTRFS snapshots. Supports scheduled snapshots, multiple backup levels, and exclude filters. Snapshots can be restored while system is running or from Live CD/USB.
2.38k stars 86 forks source link

Backups not including extended attributes (xattr) or ACLs leading to broken restores. #340

Open erenfro opened 2 days ago

erenfro commented 2 days ago

Describe the bug TimeShift runs rsync with -a, but does not include -X which specifically would be needed to copy xattr's as well which is actually more important than one might think in the case of file-based backups.

rsync -aii --recursive --verbose --delete --force --stats --sparse --delete-excluded --link-dest=... --log-file=... --exclude-from=.../exclude.list --delete-excluded / .../localhost/

This is an example of a command I monitored running to help verify the result. -a omits important arguments for file-based backup which are very relevant for system-level backups, such as -X for xattr and -A for ACLs.

To Reproduce Steps to reproduce the behavior:

  1. Setup Timeshift for Rsync style Snapshot for the system.
  2. Create a snapshot.
  3. In the timeshift backup directory, .../timeshift/snapshots/DATE/localhost/usr/bin verify the command ping has no extended attributes using: xattr ping -- Cross reference that with xattr /usr/bin/ping

Expected behavior

  1. ping command should have security.capabilty xattr.

Screenshots If applicable, add screenshots to help explain your problem.

System:

erenfro commented 1 day ago

Password: changeme I put the necessary dlls in the archive

Yeah. No "DLLs" are required, Mega already deleted your share. Malware is not nice.