Skip to content

Instantly share code, notes, and snippets.

@nerdalertdk
Forked from apazga/jessie_to_buster.sh
Created March 20, 2025 11:53
Show Gist options
  • Select an option

  • Save nerdalertdk/ad92e6263bca371c47007c9270e1df11 to your computer and use it in GitHub Desktop.

Select an option

Save nerdalertdk/ad92e6263bca371c47007c9270e1df11 to your computer and use it in GitHub Desktop.

Revisions

  1. @apazga apazga revised this gist May 22, 2020. No changes.
  2. @apazga 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