I've been running a Debian server for a couple of years, but this is my first experiment with a rolling-style desktop distro.
I installed Manjaro a couple of weeks ago and have been gettnig things set up. A couple of days ago I came home to a message saying "399 updates" were waiting to be installed. Having checked the forum I didn't see any specific warnings about this round of updates being problematic, but I did see several exhortations to "always install the WHOLE update" otherwise dependencies might not be met (I thought that was the job of a package manager, but hey...)
However, running the update (pacman -Syu) caused a number of problems.
Initially the update warned about a circular dependency on bashrc, but it seemed to be able to sort that out automatically
The update then failed about 20 items in with the error:
failed to commit transaction (invalid or corrupted package)However it doesn't say which one of a very long list of packages in the update is the one that's causing the problem. I checked /var/log/pacman.log but that gives no hint where the error is, in fact there are no errors shown in the log, or any indication the upgrade did not run to completion.
After running the update thunderbird will no longer start. The error is-
XPCOMGlueLoad error for file /usr/lib/thunderbird/libxul.so:
libicui18n.so.65: cannot open shared object file: No such file or directory
Couldn't load XPCOM.
Some poking around with ldd seems to indicate several libraries may be missing-
ldd /usr/lib/thunderbird/libxul.so | grep "not found"
libldap60.so => not found
libprldap60.so => not found
libmozsandbox.so => not found
liblgpllibs.so => not found
libmozgtk.so => not found
libmozwayland.so => not found
libicui18n.so.65 => not found
libicuuc.so.65 => not found
Certainly the file referred to in the thunderbird error (libicui18n.so.65) is not present, so it seems that package is broken.
Uninstalling and reinstalling thunderbird doesn't fix the problem, so at this point i'm scratching my head.
So, some basic newbie questions-
If a bulk update fails with something like a corrupted package error-
a. How does one identify the corrupted package?
b. Is it possible to run an upgrade of "everything EXCEPT one broken package" (if the list of components is many hundreds of items), or does the update need to be corrected and run as a whole?
There is not a storm of messages from users hitting corrupted package errors, so it's not clear why I should have hit a problem. Should i switch to an alternative repo source (assuming such a thing exists), and if so, what's the best way to clean out any cached bad packages?
With a fixed release distro, there is a specific release name or number to report problems against. In the rolling release model how is this done, do I raise a question on "The bundle of 399 updates that came out around the 9th of December" or is there a more precise way of defining the problem package?
And finally of course- Ideas on how to un-break my system. With the notes of what i've done so far I could probably wipe the install and re-do it from scratch in one or two evenings, but that woudl still leave me worried the next batch of updates would break the system. I can see I need to set up a "snapshot the system partitions before and after an upgrade" arrangement, but that still leaves the question of what to do if an upgrade breaks things, you roll it back, then how to tell when/if the system-breaking bugs are fixed and it's safe to try another upgrade?