Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fabiodelllima/system-update-script
Automates system updates and cleanup on Fedora Linux.
https://github.com/fabiodelllima/system-update-script
bash fedora linux package-manager system-update zsh
Last synced: 10 days ago
JSON representation
Automates system updates and cleanup on Fedora Linux.
- Host: GitHub
- URL: https://github.com/fabiodelllima/system-update-script
- Owner: fabiodelllima
- License: mit
- Created: 2024-12-23T06:00:00.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2025-01-22T22:12:47.000Z (11 days ago)
- Last Synced: 2025-01-22T23:19:52.393Z (11 days ago)
- Topics: bash, fedora, linux, package-manager, system-update, zsh
- Language: Shell
- Homepage: https://gist.github.com/fabiodelllima/f110ab036bc4cb2a2d251649ee90854d
- Size: 10.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
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.[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Bash](https://img.shields.io/badge/Made%20with-Bash-1f425f.svg)](https://www.gnu.org/software/bash/)
Features •
Dependencies •
Installation •
Usage •
License
## 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**
```bash
git clone [email protected]:yourusername/update-all-script.git
```
**Via HTTPS**
```bash
git clone https://github.com/yourusername/update-all-script.git
```2. Install the script:
```bash
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:#### 1: Temporary configuration
For the current terminal session:
```bash
export PATH=$PATH:/usr/local/bin
```#### 2: Permanent configuration
Add to your shell configuration file:
```bash
# 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:
```bash
which update-all
```
The output should show: `/usr/local/bin/update-all`## Usage
Run the script as superuser:
```bash
sudo update-all
```## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.