This repository contains comprehensive, enterprise-grade documentation for upgrading Fedora Linux Workstation from version 41 to version 43, with extensive post-upgrade system administration procedures and terminal customization guides.
Status: β Production Ready | Last Updated: January 18, 2026 | Version: 1.0.0
- Fedora-41-to-43-Upgrade-Documentation.html - Complete interactive documentation (primary reference)
- fedora-upgrade-41-to-43.sh - POSIX-compliant shell script for automated upgrade
- README.md - This file (setup and usage instructions)
- CHANGELOG.md - Version history and updates
- REQUIREMENTS.md - System prerequisites and disk space calculations
-
Cover Page with Fedora ASCII Logo
- Professional branding with ASCII art
- Quick reference guide formatting
-
System Preparation & Backups
- 4 backup strategies (Timeshift, Tar, Rsync, LUKS)
- Pre-upgrade verification checklists
- Internal partition backup solutions (no external drive needed)
-
Upgrade Strategy & Execution
- POSIX-compliant shell script (bash/dash/sh compatible)
- Step-by-step upgrade procedures
- DNF5 vs DNF4 command comparison
- Error handling and recovery
-
Post-Upgrade Tasks (14 Procedures)
- System verification and health checks
- Retired package removal
- Kernel cleanup and optimization
- Cache and log cleanup
- Package database maintenance
- Firmware updates
- Service verification
-
Terminal ASCII Logo Integration
- Tools comparison: Fastfetch, Screenfetch, linuxlogo
- Installation and configuration
- Shell startup integration (.bashrc, .zshrc, .config/fish)
- Custom ASCII art with Figlet and Lolcat
- MOTD (Message of the Day) setup
-
Troubleshooting & Rollback
- Common upgrade issues with solutions
- Boot failure recovery procedures
- Network problem resolution
- Service troubleshooting
- Full system rollback using Timeshift
-
Command Reference & Appendix
- 50+ essential DNF commands
- System information utilities
- Backup/restore commands
- ASCII art terminal commands
# 1. Review the documentation
# Open: Fedora-41-to-43-Upgrade-Documentation.html
# 2. Create backups
sudo dnf install timeshift
sudo timeshift --create --comments "Before F43 upgrade" --tags D
# 3. Run the upgrade script
sudo bash fedora-upgrade-41-to-43.sh
# 4. After script completes, start the upgrade
sudo dnf system-upgrade reboot
# 5. System reboots and upgrades automatically (~1 hour)
# 6. After reboot, perform post-upgrade tasks
sudo remove-retired-packages 41
sudo dnf remove $(dnf repoquery --installonly --latest-limit=-2 -q)# 1. Review all documentation sections
# 2. Audit current system state
rpm -qa > /tmp/f41-packages-$(date +%Y%m%d).txt
df -h > /tmp/f41-disk-usage.txt
# 3. Create multiple backup types
sudo dnf install timeshift
sudo timeshift --create --comments "F41 full backup" --tags D
# For user data
sudo tar czvpf /mnt/backup/home-f41-$(date +%Y%m%d).tar.gz \
--exclude='/home/*/.cache' /home
# 4. Stage and test upgrade script
sudo bash -n fedora-upgrade-41-to-43.sh
sudo bash fedora-upgrade-41-to-43.sh
# 5. Execute upgrade and monitor
sudo dnf system-upgrade reboot
# 6. Post-upgrade verification (comprehensive)
cat /etc/os-release | grep VERSION_ID
rpm -qa | wc -l
dnf history info
systemctl list-units --failed
journalctl -p 3 -xb- Fedora 41 Workstation (current installation)
- 5GB free disk space on root partition
- Active internet connection (broadband recommended)
- Sudo/root access
- 10GB+ free disk space
- 8GB RAM minimum
- Uninterruptible power supply (UPS) recommended
- Separate /home partition
- External backup media (USB drive acceptable alternative)
- x86_64 (AMD/Intel 64-bit processors)
- Arm64 (ARM-based systems)
- Secure Boot compatible (optional)
- UEFI or BIOS boot systems
fedora-43-upgrade-docs/
βββ README.md # This file
βββ CHANGELOG.md # Version history
βββ REQUIREMENTS.md # Detailed requirements
βββ Fedora-41-to-43-Upgrade-Documentation.html # Main documentation
βββ fedora-upgrade-41-to-43.sh # Upgrade script
βββ scripts/
β βββ clean-old-kernels.sh # Kernel cleanup
β βββ show-fedora-logo.sh # ASCII logo display
β βββ terminal-startup.sh # Custom startup
βββ backups/
β βββ .gitkeep # Placeholder
β βββ README-backups.md # Backup procedures
βββ configs/
β βββ fastfetch-config.jsonc # Fastfetch example
β βββ motd-template # MOTD template
βββ reference/
βββ dnf-commands.txt # DNF command reference
βββ troubleshooting-guide.md # Common issues
βββ rollback-procedures.md # Recovery steps
# Make script executable (if needed)
chmod +x fedora-upgrade-41-to-43.sh
# Run with sudo
sudo ./fedora-upgrade-41-to-43.sh
# Or use full path
sudo /usr/local/bin/fedora-upgrade-41-to-43.sh
# Script provides:
# β System version verification
# β Disk space checking
# β Package download with retry logic
# β Clear pre-upgrade instructions
# β Error handling and logging- Start with: Cover page + Executive Summary
- Review: System Preparation section (choose backup strategy)
- Execute: Upgrade Strategy section (run script)
- Perform: Post-Upgrade Tasks section (14 procedures)
- Reference: Appendix for command reference
- Troubleshoot: If issues occur, consult Troubleshooting section
# Quick display
screenfetch
fastfetch
linuxlogo
# Add to terminal startup (.bashrc)
echo "fastfetch" >> ~/.bashrc
source ~/.bashrc
# Create custom ASCII art
figlet -f slant "FEDORA 43" | lolcatThis is NON-NEGOTIABLE before upgrade:
# Minimum backup strategy (choose at least one)
sudo timeshift --create --comments "Before F43" --tags D
# Better: Multiple backup types
sudo tar czvf /mnt/backup/home-$(date +%Y%m%d).tar.gz /home
sudo rsync -aAXv --delete / /mnt/backup_partition/β Interrupt the upgrade process (power off, force reboot, etc.)
β Run multiple package managers simultaneously
β Skip backup creation
β Use --force flags on DNF without understanding consequences
β Remove system-critical packages with dnf autoremove without review
- Test upgrade script on non-production systems first
- Monitor disk space during upgrade (may take 20-45 minutes)
- Document pre-upgrade state (kernel version, custom configs, etc.)
- Verify post-upgrade functionality (services, network, graphics)
- Keep previous kernel available for boot fallback
Issue: "DNF lock exists"
sudo rm -f /var/lib/dnf/lock
sudo dnf system-upgrade download --releasever=43Issue: "Insufficient disk space"
df -h /
sudo dnf clean all
sudo journalctl --vacuum-size=50MIssue: "Boot fails after upgrade"
# Boot from GRUB menu into previous kernel
# Hold Shift (BIOS) or Esc (UEFI) during boot
# Select "Advanced options" β older kernel
# After booting, check logs:
journalctl -b -p errIssue: "Network not working"
sudo systemctl restart NetworkManager
nmcli connection show- Check Troubleshooting Section - Consult main documentation
- Review Logs -
journalctl -xb,dmesg - Search Fedora Forums - https://discussion.fedoraproject.org/
- Community Support - https://ask.fedoraproject.org/
| Task | Location |
|---|---|
| Create backup | Part 1.1-1.4 |
| Run upgrade | Part 2.1-2.3 |
| Post-upgrade cleanup | Part 3 |
| Display ASCII logo | Part 4 |
| Troubleshoot issues | Part 5 |
| Command reference | Part 6 |
- Backup Strategies: Part 1.1
- Upgrade Script: Part 2.1
- Post-Upgrade Checklist: Part 3.1
- ASCII Logo Setup: Part 4.4, 4.8
- Rollback Procedures: Part 5.5
- DNF Commands: Part 6.1
- Backup LUKS headers (if encrypted): See Part 1.4
- Verify package signatures:
rpm --checksig - Check for failed SELinux contexts:
getsebool
- Ensure stable power (UPS recommended)
- Disconnect from untrusted networks
- Don't interrupt package installation
- Verify SELinux status:
getenforce - Check firewall:
sudo firewall-cmd --state - Review failed services:
systemctl list-units --failed - Update packages:
sudo dnf upgrade
| Phase | Duration | Activity |
|---|---|---|
| Preparation | 1-2 hours | Backups, pre-flight checks |
| Script Execution | 5-10 minutes | Download packages |
| System Reboot | 1-2 minutes | Enter upgrade environment |
| Upgrade Process | 20-45 minutes | Package installation |
| Post-Upgrade Boot | 2-5 minutes | System initialization |
| Post-Upgrade Tasks | 30 minutes | Cleanup, verification |
| Total | 2-3 hours | Complete upgrade cycle |
If upgrade fails critically, rollback to Fedora 41:
# Using Timeshift (if snapshot exists)
sudo timeshift --restore
# Select pre-upgrade snapshot and confirm
# Using Rsync backup
sudo rsync -aAXv --delete /mnt/backup_partition/ /
# After restoration
sudo rebootRecovery Time: 15-30 minutes depending on system size
- Initial comprehensive documentation release
- POSIX-compliant upgrade script
- 4 backup strategies (Timeshift, Tar, Rsync, LUKS)
- 14 post-upgrade procedures
- Terminal ASCII logo integration
- Complete troubleshooting guide
- 50+ command reference
- Document the specific problem
- Include system information:
neofetch,uname -a - Provide reproduction steps
- Attach relevant logs:
journalctl -xb
- Specify the section affected
- Explain the improvement
- Provide examples or references
This documentation is provided as-is for educational and system administration purposes.
Terms:
- β Use for personal or organizational upgrades
- β Modify for internal use
- β Reference in other documentation
β οΈ Test thoroughly before production useβ οΈ Maintain backups before running any commands
Disclaimer: The authors assume no responsibility for data loss, system damage, or downtime resulting from use of this documentation or scripts. Always maintain working backups and test procedures on non-production systems first.
- Fedora Upgrade Guide: https://docs.fedoraproject.org/en-US/quick-docs/upgrading-fedora-offline/
- Fedora 43 Release Notes: https://docs.fedoraproject.org/
- DNF Documentation: https://docs.fedoraproject.org/en-US/fedora/latest/system-administrators-guide/package-management/DNF/
- Fedora Discussion Forum: https://discussion.fedoraproject.org/
- Ask Fedora Q&A: https://ask.fedoraproject.org/
- Fedora Magazine: https://fedoramagazine.org/
- Reddit r/Fedora: https://www.reddit.com/r/Fedora/
- Timeshift Backup: https://github.com/teejee2008/timeshift
- Fastfetch: https://github.com/LinusDiercksen/fastfetch
- Screenfetch: https://github.com/KittyKatt/screenFetch
- Consult this README - Check the Troubleshooting section
- Review main documentation - Detailed procedures and examples
- Check system logs -
journalctl -xbfor detailed information - Search community forums - Fedora community is very helpful
Check back periodically for:
- New Fedora versions (44, 45, etc.)
- Security updates and best practices
- Tool updates (DNF6, new system management utilities)
- Community feedback and improvements
Before you upgrade, understand:
- DNF vs Flatpak - Different package management systems
- Kernel versions - Linux kernel updates and compatibility
- Filesystem types - Ext4, Btrfs, differences and implications
- SELinux - Security enhancement framework basics
- Systemd - Modern Linux initialization system
- "The Linux Command Line" - William Shotts (free online)
- Fedora System Administrator Guide - Official documentation
- "Advanced Linux System Administration" - Mark Wilkins
β
Enterprise-Grade - Production-ready procedures and error handling
β
Multi-Strategy Backups - No external drive needed (internal solutions)
β
POSIX-Compliant Script - Works with bash, dash, sh, zsh
β
Comprehensive - Covers 41β43, post-upgrade, troubleshooting
β
Practical - Real commands with expected outputs
β
Visual - ASCII logos and clear formatting
β
Accessible - Written for admins and power users
β
Referenced - 150+ sources and official documentation links
Have questions or feedback?
- Review the Troubleshooting section
- Check References for official resources
- Search Fedora community forums
- Visit Ask Fedora for community support
Display your new Fedora 43 system:
# Show off your system
fastfetch
screenfetch
# Check the new features
neofetch
uname -r # Should show 6.17.x kernel
# Create a post-upgrade snapshot
sudo timeshift --create --comments "Fedora 43 stable" --tags D- Customize your system for your workflow
- Install preferred development tools
- Configure shell environment and terminal
- Document any custom configurations
- Set up automated backups for the future
- System backed up (multiple strategies)
- Disk space verified (5GB+ minimum)
- Current packages documented
- Network stable and reliable
- Power supply adequate (UPS available)
- Screen remains visible (monitor upgrade progress)
- System not interrupted
- Power remains stable
- Updates complete without errors
- System reboots normally
- Fedora 43 verified (VERSION_ID=43)
- Kernel updated to 6.17.x
- Failed services checked and resolved
- Retired packages removed
- Old kernels cleaned up
- System caches cleared
- New snapshot created
- Logs reviewed for issues
| Attribute | Value |
|---|---|
| Title | Fedora 41 to 43 Upgrade Documentation |
| Version | 1.0.0 |
| Date | January 18, 2026 |
| Target Audience | Fedora Linux users, system administrators |
| Scope | Complete end-to-end upgrade with post-upgrade procedures |
| Compatibility | Fedora 41 to 43, DNF5, POSIX shells |
| Maintenance | Community-maintained, periodic updates |
| Status | β Production Ready |
Last Updated: January 18, 2026
Maintained By: Linux System Administration Community
License: Creative Commons Attribution 4.0
For latest updates, visit the main documentation file and check CHANGELOG.md