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...

Environment variables

Most common user variables:

$HOME
Points to the users' home directory

$PATH
Points to the directories the shell needs to look at to execute a command or script when you enter it in the command line

  • $ export PATH=$HOME/bin:$PATH
    Adds the directory $HOME/bin
  • $ echo $PATH
    Lists the directories $PATH points to
In this link the difference between
$ PAH=directory-path-1:directory-path-2:directory-path-3 (etc)
and
$ export PATH=directory-path:$PATH

$SHELL
Points to the user's default command shell

$PSI
Your current Prompt Statement. There are 4 PSs in total.
Guide to modify the $PSx


Commands

To show a list of the current variables:
  • env
  • set
  • printenv

Comments