dnf -y update
Running transaction
Preparing : 1/1
Running scriptlet: prosody-0.12.5-1.el9.x86_64 1/4
Upgrading : prosody-0.12.5-1.el9.x86_64 1/4
Error unpacking rpm package prosody-0.12.5-1.el9.x86_64
Upgrading : libdav1d-1.5.1-1.el9.x86_64 2/4
error: unpacking of archive failed on file /etc/prosody/certs;67a215df: cpio: File from package already exists as a directory in system
error: prosody-0.12.5-1.el9.x86_64: install failed
Cleanup : libdav1d-1.5.0-2.el9.x86_64 3/4
error: prosody-0.12.4-1.el9.x86_64: erase skipped
That seems to say that system has a directory (not from any package?) with name that would be needed by a file from new package.
Is there such directory? Where is it from?
There is an directory but the certs is empty. Its seems the rpm is corrupt.
Error unpacking rpm package prosody-0.12.5-1.el9.x86_64
/etc/prososdy/certs is empty. I use my own domains certs.
12.4 is running. But mysql doesn’t work with this.
This is in “epel”, not Rocky. Looks like it does want to create empty dir /etc/prosody/certs
Did you stop service before trying to update? I’d try uninstall old, and then see if that dir has gone, then install new, but there is a risk, as it would be hard to go back to the old version if the new one won’t install.
You can check, if it was provided by any rpm:
rpm -qf /etc/prosody/certs
If it prints some package name, the directory is provided by that package. Contact the publisher of that package.
Otherwise, if it is empty, you should be safe to remove it. After that, try updating again.
[root@server5 prosody]# tree
.
├── certs
├── conf.d
│ ├── example.com.cfg.l
│ └── robkalmeijer.nl.cfg.lua
└── prosody.cfg.lua
Yes it was provided by rocky linux as rpm
[root@server5 prosody]# rpm -qf /etc/prosody/certs
prosody-0.12.4-1.el9.x86_64
Except it’s not provided by Rocky Linux. It’s provided by EPEL.
root@rocky9:~# dnf info prosody
Last metadata expiration check: 2:26:01 ago on Wed 05 Feb 2025 01:50:39 PM CET.
Available Packages
Name : prosody
Version : 0.12.5
Release : 1.el9
Architecture : x86_64
Size : 444 k
Source : prosody-0.12.5-1.el9.src.rpm
Repository : epel
the last line clearly says it comes from EPEL. So if there is a problem installing it, then it needs to be reported to EPEL.
I would suggest renaming the existing file /etc/prosody/certs;67a215df
that it is conflicting with so that you have a copy, then attempt to update. It should then work, since the conflicting file has been renamed. Failing that, report it to EPEL and ask them to fix it.