Skip to content

Instantly share code, notes, and snippets.

@apazga
Last active March 20, 2025 11:53
Show Gist options
  • Save apazga/bffcd786ec322afba6b036dad21f12cf to your computer and use it in GitHub Desktop.
Save apazga/bffcd786ec322afba6b036dad21f12cf to your computer and use it in GitHub Desktop.

Revisions

  1. apazga revised this gist May 22, 2020. No changes.
  2. apazga created this gist May 22, 2020.
    76 changes: 76 additions & 0 deletions jessie_to_buster.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,76 @@
    # Do not run as a script
    # Commands should be run manually step by step

    # Check current version
    lsb_release -a

    # Look for partially installed packages
    sudo dpkg --audit

    # Check for hold packages (should be empty)
    sudo dpkg --get-selections | grep hold

    # Upgrade packages version
    sudo apt-get update && sudo apt-get upgrade

    # Install & removes extra packages solving conflicts
    sudo apt-get dist-upgrade

    # Change apt sources to stretch (from jessie)
    sudo sed -i /deb/s/jessie/stretch/g /etc/apt/sources.list
    sudo sed -i /deb/s/jessie/stretch/g /etc/apt/sources.list.d/*.list

    # Update packages list
    sudo apt-get update

    # Upgrade packages version (stretch)
    sudo apt-get upgrade
    sudo apt-get dist-upgrade

    # If you have additional conflicts with other packages, you need to solve them here
    # e.g. I had some with fail2ban version so disabled it until the end.

    # Clean
    sudo apt-get autoremove
    sudo apt-get autoclean

    # Reboot
    sudo reboot

    # Show system release (should be Stretch)
    lsb_release -a

    # Upgrade stretch packages
    sudo apt-get update && sudo apt-get upgrade -y

    # Look for partially installed packages
    dpkg --audit

    # List packages in hold state (should be empty)
    apt-mark showhold

    # Change apt sources to buster (from stretch)
    sudo sed -i 's/stretch/buster/g' /etc/apt/sources.list
    sudo sed -i 's/stretch/buster/g' /etc/apt/sources.list.d/raspi.list

    # Look for old missing sources (should be empty too)
    grep -lnr stretch /etc/apt
    grep -lnr jessie /etc/apt

    # Remove apt-listchanges
    sudo apt-get remove apt-listchanges

    # Upgrade packages to buster
    sudo apt-get update && sudo apt full-upgrade -y

    # Clean
    sudo apt-get autoremove -y && sudo apt-get autoclean

    # Fix any broken/previous error
    sudo apt --fix-broken install

    # Check system release (should be Buster)
    lsb_release -a

    # Reboot & enjoy Buster
    sudo reboot