Skip to content

fabiodelllima/system-update-script

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Fedora System Updater

A shell script to automate system updates on Fedora Linux, including multiple package managers and detection of manually installed programs that might need updates.

Status: Under Development
Bash License: MIT

FeaturesDependenciesInstallationUsageLicense


Features

The Fedora System Updater offers a comprehensive solution to keep your system up to date:

  • Updates packages from multiple package managers:
    • DNF (Fedora's main package manager)
    • Flatpak
    • Snap
    • Python pip (user packages)
    • Node.js npm (global packages)
    • Rust cargo
  • Detects manually installed programs that might need updates
  • Performs system cleanup after updates
  • Clear, colored output for better readability:
    • Blue: Regular status messages
    • Yellow: Warnings and manual update notifications

Dependencies

Required

  • bash
  • dnf

Optional

The script will check for these and skip if not found:

  • flatpak
  • snap
  • pip
  • npm
  • cargo

Installation

  1. Clone the repository:

    Via SSH

    git clone [email protected]:yourusername/update-all-script.git

    Via HTTPS

    git clone https://github.com/yourusername/update-all-script.git
  2. Install the script:

    cd update-all-script
    sudo cp src/update-all.sh /usr/local/bin/update-all
    sudo chmod +x /usr/local/bin/update-all
  3. Configure PATH

    The system PATH needs to include /usr/local/bin for the script to be executable from any directory. There are two configuration options:

    3.1. Temporary configuration

    For the current terminal session:

    export PATH=$PATH:/usr/local/bin

    3.2. Permanent configuration

    Add to your shell configuration file:

    # Bash users:
    echo 'export PATH=$PATH:/usr/local/bin' >> ~/.bashrc  
    source ~/.bashrc
    
    # Zsh users:   
    echo 'export PATH=$PATH:/usr/local/bin' >> ~/.zshrc
    source ~/.zshrc
  4. Verify installation:

    which update-all

    The output should show: /usr/local/bin/update-all

Usage

Run the script as superuser:

sudo update-all

License

This project is licensed under the MIT License - see the LICENSE file for details.