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

Manipulating texts: ECHO and CAT

 ECHO

$ echo line one > myfile
$ echo line two >> myfile
$ echo line three >> myfile
">" to create the file
">>" to add a line to an existing file

$ echo $VARIABLE
Displays the current contents of $VARIABLE


CAT

$ cat << EOF > myfile
> line one
> line two
> line three
> EOF
$

Note that "EOF" is not a command, but a variable chosen at your leisure.

Alternatively:

cat > myfile
line one
line two
line three
[CTRL+D]

cat FILE1 FILE2
Concatenates the two files and display the output

cat FILE1 FILE2 > NEWFILE
Concatenates the two files and save the output into NEWFILE

cat FILE >> EXISTINGFILE
Append FILE to the end of EXISTINGFILE


$ head -15 FILE
Displays the first 15 lines of a file. Predefined: 10

$ tail -15 FILE
Displays the last 15 lines of a file. Predefined: 10


zat, zecho, zless, zmore, zgrep, zdiff
Same as the related commands, but for compressed files

Comments