#Overwrite copy-pasted so files

2 messages · Page 1 of 1 (latest)

tepid bluff
#

So around 5 days ago or so we had this entire thing going on with libicuuc upgrading which bricked my system because suddenly pacman no longer worked etc.

In an effort to "short-term" fix the issue I booted into a live-usb of arch an copy pasted the following .so files from the live-usb's /usr/lib into my arch install partitions /usr/lib:

Naturally copy pasting in this manner blocks upgrading via pacman as running pacman -Syu now causes this to appear:

(97/97) checking for file conflicts [################################################################] 100%
error: failed to commit transaction (conflicting files)
icu: /usr/lib/libicudata.so exists in filesystem
icu: /usr/lib/libicui18n.so exists in filesystem
icu: /usr/lib/libicuio.so exists in filesystem
icu: /usr/lib/libicuuc.so exists in filesystem
Errors occurred, no packages were upgraded.

Now my question is, how do I "override" the copy-pasted so files so that a "proper" package installation replaces them?
I've been told there is the --overwrite flag that should suit my purposes.
https://man.archlinux.org/man/pacman.8.en says that is exactly what I need, given that it bypasses the conflicts and overwrites the conflicting files.

However I absolutely fail at getting the syntax right.
pacman -S --overwrite icu or various other iterations of that command all don't work, I get error: invalid option "--overwrite" or error: no targets specified (use -h for help) etc.

How exactly is that command supposed to look like?

#

Oh you're supposed to give a value specifically for the flag ?
I tried pacman -S --overwrite \* icu just now and that did it.

I'm still suspicious because that command and running pacman -Syu still gave me a bunch of <one of the libs above> is not a symbolic-link messages though