Skip to content

drbess/Fedora-Linux-Upgrade

Repository files navigation

Fedora 41 to 43 Upgrade Documentation - README

Overview

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


πŸ“‹ Contents

  • 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

🎯 What's Included

Documentation Sections

  1. Cover Page with Fedora ASCII Logo

    • Professional branding with ASCII art
    • Quick reference guide formatting
  2. System Preparation & Backups

    • 4 backup strategies (Timeshift, Tar, Rsync, LUKS)
    • Pre-upgrade verification checklists
    • Internal partition backup solutions (no external drive needed)
  3. 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
  4. 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
  5. 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
  6. Troubleshooting & Rollback

    • Common upgrade issues with solutions
    • Boot failure recovery procedures
    • Network problem resolution
    • Service troubleshooting
    • Full system rollback using Timeshift
  7. Command Reference & Appendix

    • 50+ essential DNF commands
    • System information utilities
    • Backup/restore commands
    • ASCII art terminal commands

πŸš€ Quick Start

For Users (Minimal Setup)

# 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)

For System Administrators (Comprehensive Setup)

# 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

πŸ“‹ System Requirements

Minimum Requirements

  • Fedora 41 Workstation (current installation)
  • 5GB free disk space on root partition
  • Active internet connection (broadband recommended)
  • Sudo/root access

Recommended Specifications

  • 10GB+ free disk space
  • 8GB RAM minimum
  • Uninterruptible power supply (UPS) recommended
  • Separate /home partition
  • External backup media (USB drive acceptable alternative)

Supported Hardware

  • x86_64 (AMD/Intel 64-bit processors)
  • Arm64 (ARM-based systems)
  • Secure Boot compatible (optional)
  • UEFI or BIOS boot systems

πŸ“š Documentation Structure

File Organization

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

πŸ”§ Usage Instructions

Running the Upgrade Script

# 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

Reading the Documentation

  1. Start with: Cover page + Executive Summary
  2. Review: System Preparation section (choose backup strategy)
  3. Execute: Upgrade Strategy section (run script)
  4. Perform: Post-Upgrade Tasks section (14 procedures)
  5. Reference: Appendix for command reference
  6. Troubleshoot: If issues occur, consult Troubleshooting section

Displaying Fedora ASCII Logo

# Quick display
screenfetch
fastfetch
linuxlogo

# Add to terminal startup (.bashrc)
echo "fastfetch" >> ~/.bashrc
source ~/.bashrc

# Create custom ASCII art
figlet -f slant "FEDORA 43" | lolcat

⚠️ Important Warnings

Critical: Backup Your System First

This 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/

Do NOT

❌ 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

System Administrator Notes

  • 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

πŸ› Troubleshooting

Common Issues

Issue: "DNF lock exists"

sudo rm -f /var/lib/dnf/lock
sudo dnf system-upgrade download --releasever=43

Issue: "Insufficient disk space"

df -h /
sudo dnf clean all
sudo journalctl --vacuum-size=50M

Issue: "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 err

Issue: "Network not working"

sudo systemctl restart NetworkManager
nmcli connection show

Getting Help

  1. Check Troubleshooting Section - Consult main documentation
  2. Review Logs - journalctl -xb, dmesg
  3. Search Fedora Forums - https://discussion.fedoraproject.org/
  4. Community Support - https://ask.fedoraproject.org/

πŸ“– Documentation Navigation

For Specific Tasks

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

Quick Links

  • 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

πŸ” Security Considerations

Before Upgrade

  • Backup LUKS headers (if encrypted): See Part 1.4
  • Verify package signatures: rpm --checksig
  • Check for failed SELinux contexts: getsebool

During Upgrade

  • Ensure stable power (UPS recommended)
  • Disconnect from untrusted networks
  • Don't interrupt package installation

After Upgrade

  • Verify SELinux status: getenforce
  • Check firewall: sudo firewall-cmd --state
  • Review failed services: systemctl list-units --failed
  • Update packages: sudo dnf upgrade

πŸ“Š Expected Timeline

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

πŸ”„ Rollback Instructions

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 reboot

Recovery Time: 15-30 minutes depending on system size


πŸ“ Version History

Version 1.0.0 (January 18, 2026)

  • 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

🀝 Contributing

Reporting Issues

  • Document the specific problem
  • Include system information: neofetch, uname -a
  • Provide reproduction steps
  • Attach relevant logs: journalctl -xb

Suggesting Improvements

  • Specify the section affected
  • Explain the improvement
  • Provide examples or references

πŸ“„ License & Usage

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.


πŸ”— Related Resources

Official Fedora Documentation

Community Resources

Related Tools


πŸ“ž Support & Feedback

Getting Help

  1. Consult this README - Check the Troubleshooting section
  2. Review main documentation - Detailed procedures and examples
  3. Check system logs - journalctl -xb for detailed information
  4. Search community forums - Fedora community is very helpful

Documentation Updates

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

πŸŽ“ Learning Resources

Understanding the Upgrade Process

Before you upgrade, understand:

  1. DNF vs Flatpak - Different package management systems
  2. Kernel versions - Linux kernel updates and compatibility
  3. Filesystem types - Ext4, Btrfs, differences and implications
  4. SELinux - Security enhancement framework basics
  5. Systemd - Modern Linux initialization system

Recommended Reading

  • "The Linux Command Line" - William Shotts (free online)
  • Fedora System Administrator Guide - Official documentation
  • "Advanced Linux System Administration" - Mark Wilkins

✨ Features Highlight

What Makes This Documentation Unique

βœ… 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


πŸ“ž Contact & Feedback

Have questions or feedback?

  • Review the Troubleshooting section
  • Check References for official resources
  • Search Fedora community forums
  • Visit Ask Fedora for community support

πŸŽ‰ After Successful Upgrade

Celebrate Your Upgrade!

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

Next Steps

  1. Customize your system for your workflow
  2. Install preferred development tools
  3. Configure shell environment and terminal
  4. Document any custom configurations
  5. Set up automated backups for the future

πŸ“‹ Quick Reference Checklist

Pre-Upgrade βœ“

  • System backed up (multiple strategies)
  • Disk space verified (5GB+ minimum)
  • Current packages documented
  • Network stable and reliable
  • Power supply adequate (UPS available)

During Upgrade βœ“

  • Screen remains visible (monitor upgrade progress)
  • System not interrupted
  • Power remains stable
  • Updates complete without errors
  • System reboots normally

Post-Upgrade βœ“

  • 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

πŸ“„ Document Information

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

About

A basic script that updates your Fedora Linux OS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages