Update needs manual intervention

[nss>=3.51.1-1 and lib32-nss>=3.51.1-1 updates require manual intervention]

If you get this error and are unable to update.

nss: /usr/lib/p11-kit-trust.so exists in filesystem
lib32-nss: /usr/lib32/p11-kit-trust.so exists in filesystem

Use:

pacman -Syu --overwrite /usr/lib\*/p11-kit-trust.so

https://www.archlinux.org/

7 Likes

Typo alert!!

Missing a \ in the overwrite command - try:

sudo pacman -Syu --overwrite /usr/lib\*/p11-kit-trust.so

got to escape the * !!

Freebird54

9 Likes

Haha!

I got the alert on my mobile, but as the lazy sod I am, I thought I’d just log in here and copy/paste.

I tried twice, and was about to post a reply when I scrolled down. :slight_smile:

Thanks! :wink:

1 Like
pacman -Syu --overwrite /usr/lib\*/p11-kit-trust.so

i do add this to first post // hope @ricklinux will not kill me for doing this :innocent:

5 Likes

That’s the only way I noticed too - very un-Archlike of us not to mentally ‘execute’ the command before running it! (waggles finger (no, not that one)- you should never…)

Freebird54

Yeah, to my defence was I still in bed. :smile:

But it was a lesson learned.

Okay…what did i miss? It worked for me! My copy & paste?

There was a missing \ before the *… and then it was fixed (after I tried it and it didn’t work). No idea how it got there (or left there) but that’s the story.

I still have no idea what it is, or what it does, but I know it works! :grin: (and no, I don’t plan to archwiki it today, thanks.

Freebird54

I am not sure, but maybe it’s the way pacman understands globbing? It seems to be ignoring the wildcard if it isn’t escaped.

I copied and pasted it after using it from the Arch site which worked but i know sometimes this copy and paste messes things up. I didn’t notice anything when i pasted it? :thinking:

Apparently there was a typo early on?

I understood the globbing - it’s the pll-kit-trust I know nothing about! :grin:

Computers - the more you know, the less you know - but you know it!

Freebird54

Globbing …what is globbing? I just thought the * is for all files? I’m going to check my other computer and see if the \ was there because i used it and it worked before i posted it? So i copied and pasted it from the Arch site not my terminal? Strange it would be missing?

Globbing is how a shell handles expansion and matching of patterns containing wildcard characters. man 7 glob should give a pretty good overview of that.

In pacman escaping the wildcards seems to be necessary in order to prevent the expansion be done by the shell (?). I haven’t been able to make it (pacman) to use wildcards anywhere, but while using the –overwrite option. And regex seems to be working only in search :thinking: I am still looking for a good documentation on that though…

You need to somehow escape the * to keep it from being interpreted by the shell. Otherwise it tries to expand /usr/lib*/p11-kit-trust.so before calling pacman. I suppose if you only had one file matching that expression it might work either way but I have never tested that.

There quite a few ways to stop the * from being interpreted. One way is to escape it with a \ as is shown above. Another way would be to surround the whole thing in quotes.

1 Like

I have very limited skills with bash shell so i can only absorb parts of the info but i get the drift. :grin:

1 Like

A warning…
Use the command as described without using alias, otherwise you’ll get errors and won’t update the system.

Wouldn’t this be interpreted as a literal ‘*’ ?

edit: pacman confuses me :sweat_smile:

I just posted it as it was on the Arch site last night late and i did the update on my kde system and it had 82 updates and was no problem. I’m going to go back and look and see what the command was exactly that i used because i really don’t know if it was same?

I’m also confused…
I tried using alias, none of the versions worked.
example
syu --overwrite /usr/lib\*/p11-kit-trust.so
and
syu --overwrite /usr/lib*/p11-kit-trust.so
zsh and bash failed too.
Then i copied and pasted from archwiki, just added sudo and worked.
Maybe there is some format to the text you pasted up there…