Automate safe system upodates with a single script (for APT + systemd systems)

THE PROBLEM Keeping a Linux system fully updated usually means doing several things by hand: Update APT package lists Upgrade installed packages Remove unused dependencies and cached files Update Flatpak apps (if you use Flatpak) Update firmware via fwupd (if available) Decide whether to reboot or shut down None of that is hard, but it is repetitive and easy to skip steps, especially firmware updates. This script turns that whole workflow into a single, safe command. REQUIREMENTS This script assumes: Package manager Uses APT Example: Debian, Ubuntu, Linux Mint and similar Init system Uses systemd (for systemctl reboot/poweroff) Shell bash (script uses “#!/usr/bin/env bash” and “set -euo pipefail”) You can run it with: bash script.sh Privileges Your user has sudo rights Optional components Flatpak (optional) If not installed, Flatpak steps are skipped fwupd (fwupdmgr, optional) If not installed, firmware steps a...

Backing Up and compressing

BACKING UP

rsync source-file target:destination-path
where target can be in the form of someone@host. The someone@ part is optional and used if the remote user is different from the local user.

rsync copies the content of the file into another file.

  • Automatically checks if the destination file exists
  • If there is no change in size and modification time, it avoids the copy
  • It copy only the modified part of the file, not the whole file 
  • It can copy to a remote destination
Example:
rsync -r project-X archive-machine:archives/project-X

dd
Makes a raw copy of an hard disk to another.
Very dangerous if used inappropriately.


COMPRESSING

Efficiency compression max to min and speed compression min to max:

  1. xzip
  2. bzip2 (deprecated, no longer maintained)
  3. gzip
  4. tar (most an archiver than a compressor)

Comments