January 18, 2021

How to fix a broken application update (Linux)

Sometimes you can get into what seems like a very serious problem when you update an application that results in the tool being completely broken. This can happen even if the update was suggested and validated by the software manager of your distribution.

For example, the manager notifies you of a few application updates and you simply hit "ok" to apply them; the process applies all the dependencies and goes complete successfully, yet one of the updated apps doesn't start, or else crashes as it launches with an undecipherable error. In such cases, you are unlikely to find a direct solution on the web, since the error is likely caused by a code update that is but a few hours old. The Stack Overflow volunteers aren't that quick at providing new answers 😉

The clock is ticking

You can't mitigate a critical program error, you can't undo an installation, and you probably don't have the time or resources to waste figuring out what went wrong and how to fix it (assuming that is even possible). You will need to go back and re-instate a working version of the now faulty application. Luckily, all Linux application providers maintain a repository of their older versions. This means that you will be able to find a slightly older package that either matches the one you just updated or else one that will work properly on your system. That is one of the reasons why most package filenames append the version number: it makes it easier for humans to navigate the packages and their dependencies in case there's trouble.

Here's how you can revert a package when a critical error occurs after an update:

  1. Locate and download an installation package for the previous version of your application. This can usually be found through a simple web search for [application] version archive, or by going directly to the provider's website or version control (Github) page.
  2. Uninstall the application you updated. Make sure that all instances are uninstalled as well, as it is possible to have multiple versions installed at the same (if you use flatpak or snap as well as a native version).
  3. At this point, you may have to reboot your system to ensure that all dependencies are unloaded.
  4. Install the (older) package you downloaded in step 1. You can safely ignore the warning (if any) from the update manager that's letting you know that you're trying to install an older version: since the version you are installing is likely the same version you had installed prior to the software update, everything should go smoothly.
  5. Your desktop sofware update manager will soon notify you that there's a new version of your application available. If you don't have a critical need for the feature(s) that the latest update would have provided, you should tell your software manager to skip the update notifications for the current (latest) update. This way you can update everything on your system regularly without having to worry about the same update creating problems again.

 

 


Warning: Undefined array key "preview" in /home/codecide/public_html/wp-content/plugins/oxygen/component-framework/components/classes/comments-list.class.php on line 90

Warning: Undefined array key "preview" in /home/codecide/public_html/wp-content/plugins/oxygen/component-framework/components/classes/comments-list.class.php on line 102

Warning: Undefined array key "preview" in /home/codecide/public_html/wp-content/plugins/oxygen/component-framework/components/classes/comments-list.class.php on line 113

Warning: Undefined array key "action" in /home/codecide/public_html/wp-content/plugins/oxygen/component-framework/components/classes/comments-list.class.php on line 113

Warning: Undefined array key "preview" in /home/codecide/public_html/wp-content/plugins/oxygen/component-framework/components/classes/comment-form.class.php on line 75

Leave a Reply

Your email address will not be published.


Warning: Undefined array key "preview" in /home/codecide/public_html/wp-content/plugins/oxygen/component-framework/components/classes/comment-form.class.php on line 79
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram