I recently upgraded to Fedora 37 (from Fedora 35) and am following the post-upgrade steps from here.
I am attempting to rebuild the repo database using the command strace rpm --rebuilddb
.
Just after rebooting I use sudo su
and then enter the command strace rpm --rebuilddb
. Upon which I get this error:
error: can't create transaction lock on /usr/lib/sysimage/rpm/.rpm.lock (Permission denied)
Here is a stack trace of the command as captured by strace rpm --rebuilddb 2>&1 | tail -50
, again run as root.
openat(AT_FDCWD, "/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "error: ", 7error: ) = 7
write(2, "can't create transaction lock on"..., 85can't create transaction lock on /usr/lib/sysimage/rpm/.rpm.lock (Permission denied)
) = 85
ioctl(0, TCGETS, {c_iflag=ICRNL|IXON|IUTF8, c_oflag=NL0|CR0|TAB0|BS0|VT0|FF0|OPOST|ONLCR, c_cflag=B38400|CS8|CREAD, c_lflag=ISIG|ICANON|ECHO|ECHOE|ECHOK|IEXTEN|ECHOCTL|ECHOKE, ...}) = 0
exit_group(-1) = ?
+++ exited with 255 +++
[root@nathanowenlaptop nathan]# strace rpm --rebuilddb 2>&1 | tail -50
read(3, "and(\"%{?_lto_cflags}\"):gsub(\"[%-"..., 4096) = 4096
read(3, "g_hack\" = 1 ] && for i in $(find"..., 4096) = 4096
read(3, "_missing_build_ids_terminate_bui"..., 4096) = 4096
read(3, "__filter_prov_cmd} %{__grep} -v "..., 4096) = 964
read(3, "", 4096) = 0
close(3) = 0
openat(AT_FDCWD, "/etc/rpm", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3
newfstatat(3, "", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_EMPTY_PATH) = 0
brk(0x55cc04142000) = 0x55cc04142000
getdents64(3, 0x55cc04119710 /* 2 entries */, 32768) = 48
getdents64(3, 0x55cc04119710 /* 0 entries */, 32768) = 0
brk(0x55cc0413a000) = 0x55cc0413a000
close(3) = 0
openat(AT_FDCWD, "/etc/rpm/macros", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/rpm/x86_64-linux/macros", O_RDONLY) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/root/.rpmmacros", 0x7ffd873179e0, 0) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/lib/rpm/init.lua", 0x7ffd87317d70, 0) = -1 ENOENT (No such file or directory)
getgid() = 0
getuid() = 0
newfstatat(AT_FDCWD, "/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0
newfstatat(AT_FDCWD, "/usr/lib", {st_mode=S_IFDIR|0555, st_size=36864, ...}, 0) = 0
newfstatat(AT_FDCWD, "/usr/lib/sysimage", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0
newfstatat(AT_FDCWD, "/usr/lib/sysimage/rpm", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0
openat(AT_FDCWD, "/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=2998, ...}, AT_EMPTY_PATH) = 0
read(3, "# Locale name alias data base.\n#"..., 4096) = 2998
read(3, "", 4096) = 0
close(3) = 0
openat(AT_FDCWD, "/usr/share/locale/en_US.UTF-8/LC_MESSAGES/rpm.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en_US.utf8/LC_MESSAGES/rpm.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en_US/LC_MESSAGES/rpm.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en.UTF-8/LC_MESSAGES/rpm.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en.utf8/LC_MESSAGES/rpm.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en/LC_MESSAGES/rpm.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
umask(022) = 022
openat(AT_FDCWD, "/usr/lib/sysimage/rpm/.rpm.lock", O_RDWR|O_CREAT, 0644) = -1 EACCES (Permission denied)
umask(022) = 022
openat(AT_FDCWD, "/usr/lib/sysimage/rpm/.rpm.lock", O_RDONLY) = -1 EACCES (Permission denied)
openat(AT_FDCWD, "/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "error: ", 7error: ) = 7
write(2, "can't create transaction lock on"..., 85can't create transaction lock on /usr/lib/sysimage/rpm/.rpm.lock (Permission denied)
) = 85
ioctl(0, TCGETS, {c_iflag=ICRNL|IXON|IUTF8, c_oflag=NL0|CR0|TAB0|BS0|VT0|FF0|OPOST|ONLCR, c_cflag=B38400|CS8|CREAD, c_lflag=ISIG|ICANON|ECHO|ECHOE|ECHOK|IEXTEN|ECHOCTL|ECHOKE, ...}) = 0
exit_group(-1) = ?
+++ exited with 255 +++
A full stack trace can be found here: