A simple cross-platform system updater written in C++ that can be used to check and update various system packages and backup critical system files. This tool is designed to work on Linux, macOS, and Windows operating systems.
- Checks system information.
- Backs up critical system files.
- Checks for updates and updates packages for supported Linux distributions.
- Updates macOS using the built-in
softwareupdatecommand. - Updates Windows using PowerShell.
- Linux (Ubuntu, Debian, Mint, CentOS, Fedora, RedHat, Arch, Manjaro, OpenSUSE)
- macOS
- Windows
- A C++20 or higher compatible compiler.
- CMake (version 3.16 or higher).
Clone this repository:
git clone https://github.com/BaseMax/system-updater-cpp.git cd system-updater-cppCreate a build directory:
mkdir build
cd build- Generate the build files with CMake:
cmake ..- Build the project:
cmake --build .- After building, the executable SystemUpdater will be available in the build directory.
You can install the program to your system using the following command:
sudo cmake --install .This will install the program to the appropriate system directories.
Run the program:
./SystemUpdaterThe program will detect your operating system and offer to check and update your system.
Follow the prompts to:
Display system information.
Backup critical system files.
Check and update your system.
For Linux, it will check for updates using the appropriate package manager for your distribution.
For macOS, it uses softwareupdate to install updates.
For Windows, it opens the Windows Update settings.
MIT License - see the LICENSE file for details.
Copyright 2025 - Kambiz Asadzade & Max Bae