Fedora Linux Health & Setup Tool
by sudo3rs
FedChecker is a comprehensive command-line tool designed to help Fedora Linux users maintain a healthy system. Whether you're a new user setting up Fedora for the first time or an experienced administrator performing routine maintenance, FedChecker provides an all-in-one solution for:
- System health diagnostics
- Driver detection and configuration
- Security auditing
- Desktop environment optimization
- Post-installation setup automation
- Professional PDF report generation
Navigate through options using an intuitive terminal interface with keyboard controls:
ββββββββββββββββββββββββββββββββββββββββββββ
β FedChecker - Fedora Health Tool β
β by sudo3rs β
β βββββββββββββββββββββββββββββββββββββββββββ£
β [1] Health Check β
β [2] Drivers Check β
β [3] Security Check β
β [4] Desktop Environment Check β
β [5] Post-Install Setup β
β [6] Auto-Fix All Issues β
β [7] Generate PDF Report β
β [8] Settings β
β [0] Exit β
ββββββββββββββββββββββββββββββββββββββββββββ
- Disk Space Analysis - Monitor usage across all partitions
- Memory Usage - RAM and swap utilization tracking
- CPU Temperature - Thermal monitoring for overheating prevention
- Systemd Services - Detect failed units and service issues
- Package Integrity - Verify RPM package consistency
- Orphaned Packages - Find and clean unused dependencies
- GPU Drivers - NVIDIA, AMD, and Intel graphics detection
- WiFi Drivers - Wireless adapter status and firmware
- Audio Drivers - Sound system configuration check
- Bluetooth - Bluetooth adapter and service status
- Printer Drivers - CUPS and printer configuration
- Missing Firmware - Detect and report missing firmware files
- Firewall Status - firewalld configuration check
- SELinux Status - Security policy enforcement verification
- Failed Logins - Authentication failure monitoring
- Open Ports - Network service exposure scan
- SSH Configuration - Secure shell hardening audit
- Root Account - Root login and sudo configuration
- Password Policy - Password strength requirements check
- Automatic Updates - DNF automatic update status
- DE Detection - GNOME, KDE, XFCE, and other environments
- Display Server - X11/Wayland detection
- Compositor Status - Window compositor health
- Theme Integrity - GTK/Qt theme verification
- GNOME Extensions - Extension status and compatibility
- Missing Dependencies - Desktop package verification
Automate common post-install tasks:
| Feature | Description |
|---|---|
| DNF Optimization | Enable fastest mirror, parallel downloads, deltarpm |
| Repository Setup | RPM Fusion (free + nonfree), Flathub |
| Multimedia Codecs | FFmpeg, GStreamer plugins, VA-API/VDPAU |
| Development Tools | Git, GCC, Make, Python dev packages |
FedChecker can automatically fix detected issues:
- User confirmation before applying any changes
- Detailed logging of all fix actions
- Rollback information where applicable
- Safe, non-destructive operations
Generate professional reports with:
- Executive summary with overall health score
- System information overview
- Color-coded check results
- Graphical charts (pie charts, bar charts, gauges)
- Prioritized recommendations
- Fix command suggestions
- Fedora Linux (38 or later recommended)
- Python 3.11 or higher
- pip package manager
# Clone the repository
git clone https://github.com/Masriyan/FedChecks.git
cd FedChecks
# Install dependencies
pip install -r requirements.txt
# Run FedChecker
python run.py# Install from the repository
pip install git+https://github.com/Masriyan/FedChecks.git
# Run FedChecker
fedchecker# Clone and install in editable mode
git clone https://github.com/Masriyan/FedChecks.git
cd FedChecks
pip install -e .# Run with the launcher script
python run.py
# Or if installed via pip
fedchecker| Key | Action |
|---|---|
β / β |
Navigate menu items |
Enter |
Select option |
1-9 |
Quick select menu item |
0 / q |
Exit / Go back |
# Show version
fedchecker --version
# Show help
fedchecker --help| Package | Purpose |
|---|---|
| rich | Terminal UI, progress bars, tables |
| reportlab | PDF generation |
| matplotlib | Charts and graphs |
| psutil | System information |
| distro | Linux distribution detection |
FedChecks/
βββ fedchecker/
β βββ __init__.py # Package initialization
β βββ main.py # Main application entry
β βββ banner.py # ASCII art banner
β βββ ui/
β β βββ colors.py # Color definitions
β β βββ menu.py # Interactive menu system
β β βββ progress.py # Progress bar animations
β βββ checks/
β β βββ health.py # System health checks
β β βββ drivers.py # Driver detection
β β βββ security.py # Security audit
β β βββ desktop.py # Desktop environment
β βββ fixes/
β β βββ health_fix.py # Health issue fixes
β β βββ driver_fix.py # Driver fixes
β β βββ security_fix.py # Security fixes
β β βββ desktop_fix.py # Desktop fixes
β βββ postinstall/
β β βββ dnf_optimizer.py # DNF configuration
β β βββ repos.py # Repository setup
β β βββ codecs.py # Multimedia codecs
β β βββ devtools.py # Development tools
β βββ reports/
β βββ generator.py # PDF report generator
β βββ charts.py # Chart generation
β βββ templates.py # Report templates
βββ requirements.txt # Python dependencies
βββ setup.py # Package setup
βββ run.py # Launcher script
The interactive main menu provides quick access to all features with visual status indicators.
Detailed results with pass/fail/warning status for each check, including fix availability.
Professional reports with charts, color-coded results, and actionable recommendations.
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow PEP 8 style guidelines
- Add docstrings to new functions and classes
- Update tests for new features
- Keep commits atomic and well-described
- Configuration file support
- Custom check plugins
- Network diagnostics module
- Backup and restore functionality
- Multi-language support
- Web-based dashboard
This project is licensed under the MIT License - see the LICENSE file for details.
- The Fedora Project for an amazing Linux distribution
- Rich library for beautiful terminal output
- ReportLab for PDF generation capabilities
- All contributors and users of FedChecker
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Made with love for the Fedora community
FedChecker by sudo3rs
