Why can't I update pi-topOS?

Sometimes updating doesn't go smoothly... Find out what you can do to about it!

Not being notified to update?

Check your internet connection!

Always check that you're connected to the Internet! pi-topOS won't prompt you to install updates without being connected.

pi-topOS Updater doesn't actually update?

In most cases, this can be fixed by opening a terminal and running the following commands: 

sudo apt update
sudo apt dist-upgrade -y

E: Command line option --with-new-pkgs is not understood in combination with the other options 

This requires a manual entry at the moment. Open up a command terminal and type in the following.

sed -i 's/"--with-new-pkgs", //1' /usr/lib/pt-os-updater/update_model.py

A fixed version has been submitted so newer users won't have this issue

I'm getting a NO_PUBKEY issue - what?

If you're seeing this:

Hit:1 http://archive.raspberrypi.org/debian buster InRelease
Hit:2 http://raspbian.raspberrypi.org/raspbian buster InRelease
Get:3 https://apt.pi-top.com/pi-top-os sirius InRelease [7,057 B]
Err:3 https://apt.pi-top.com/pi-top-os sirius InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY FCA561F37869155A
Reading package lists... Done
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://apt.pi-top.com/pi-top-os sirius InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY FCA561F37869155A
W: Failed to fetch http://apt.pi-top.com/pi-top-os/dists/sirius/InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY FCA561F37869155A
W: Some index files failed to download. They have been ignored, or old ones used instead.

run the following in a terminal:

curl https://apt.pi-top.com/add-sirius | sudo bash

My updates were interrupted (I closed the update window, lost power or some other reason) and now updates don’t work!

“Under the hood”, the OS updater runs the following commands:

sudo apt update

sudo apt dist-upgrade -y

Try and run this yourself in a terminal. This may solve your issue. However, it is likely that you will see the following:

E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.

Try running the following to resolve the issue:

sudo apt install -f

sudo dpkg --configure -a

I get an error message during my updates.

Use apt-get to fix missing and broken packages.

Use the “fix-missing” option with “apt-get update” to run the updates and ensure the packages are up to date and there is no new version available for the packages.

sudo apt-get update --fix-missing

Once you are done with the update, execute the below command in order to force the package manager to find any missing dependencies or broken packages and install them.

 sudo apt-get install -f

I've tried everything! What now?

If that hasn't worked for you, then - unfortunately - in most cases, the fastest way to get up and running again is to download the latest version of pi-topOS and reinstall to the SD card (we recommend that you keep a downloaded version of pi-topOS available to re-use in the future).

If you truly need to fix your OS's ability to update, and you've tried everything here, then your best bet is to reach out to the great people on the pi-top forum, who may be able to help you!

Something broke after an update - how can I find out what was updated?

If it were installed via the OS updater, or via the apt or apt-get commands, the history can be found in /var/log/apt/history.log. However, this will not list packages that were installed manually. To see all the packages that went through dpkg, you can look at /var/log/dpkg.log.

What about Python modules?

Some Python modules are installed via the same mechanism as other software on pi-topOS. Some, however, are installed via pip - Python’s package installer. These packages will not be updated with the OS updater.

It is recommended that you manage these with care. To list all of the Python packages, run the following:

pip3 freeze

To update all packages (not recommended if you depend on any projects unless you have a backup, or can revert the change yourself):

pip3 install -U $(pip3 freeze | awk -F'[=]' '{print $1}')