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-cpp
- 
Create 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