/sysupdate

A Bash script to not only keep your Linux servers/workstations updated, but also, remove residuals and keep a logfile for all of them.

Primary LanguageShellMIT LicenseMIT

sysupdate

sysupdate is a Bash script that is used to not only update/upgrade your Linux servers, workstations and IoT devices, but also take care of the residual files and configuration files that are prone to stay on your system over time and need to be manually removed.
As of this writing updating Snap and Flatpak packages under Debian and its derivatives is supported with the plan to extend this functionality to other distros.

It logs the steps taken in a file located in /var/log/sysupdate.txt so you can keep track of the changes made to your system.

This script has been running on over a dozen different servers and workstations for a couple of years now and never caused any issues, however, please be wise and cautious when using it.

Usage

For convenience, it is suggested to place this script in your OS's PATH as depicted below:

curl -O https://raw.githubusercontent.com/pouriyajamshidi/sysupdate/master/sysupdate.sh
chmod +x sysupdate.sh
sudo cp sysupdate.sh /usr/bin/sysupdate

And run it like:

sudo sysupdate

If you prefer to not place it in your system PATH:

sudo ./sysupdate.sh

You can also make a cron job to run it at the time of your liking.

Demo

asciicast

Images

sysupdate1 sysupdate2

Supported Operating Systems/Distros

  • Debian and its derivatives:
    • Ubuntu
    • Mint
    • ZorinOS
    • Pop!_OS
    • etc...
  • Fedora
  • RedHat
  • CentOS
  • Arch
  • Oracle
  • Raspberry Pi

Tested on

Ubuntu, Mint and vanilla Debian.
If you see your distro in the supported list but the script fails to work, please file a bug report.

Contributing

Pull requests are welcome.

License

License: MIT