Can't update or install or search anything from normal repository. Invalid or corrupted database

I can’t search for new packages in the normal repository. I can’t install anything either with pacman -S. I get the following error. How to fix it?

error: GPGME error: No data
error: GPGME error: No data
error: GPGME error: No data
error: GPGME error: No data
error: DEB_Arch_Extra: signature from "MegaLimited <support@mega.co.nz>" is unknown trust
error: database 'core' is not valid (invalid or corrupted database (PGP signature))
error: database 'extra' is not valid (invalid or corrupted database (PGP signature))
error: database 'community' is not valid (invalid or corrupted database (PGP signature))
error: database 'multilib' is not valid (invalid or corrupted database (PGP signature))
error: database 'DEB_Arch_Extra' is not valid (invalid or corrupted database (PGP signature))

First of all, please try to reset your mirrors and then update by

sudo pacman -Scc
sudo pacman-mirrors --country all --api --protocols all --set-branch stable && sudo pacman -Syyu

If it’s not sufficient try:

sudo rm /etc/pacman.d/gnupg
sudo pacman -Sy archlinux-keyring manjaro-keyring
sudo pacman-key --init
sudo pacman-key --populate archlinux manjaro
sudo pacman-key --refresh-keys
1 Like

Thank you. The first solution gave back the normal repository.
Tho, still, when I try to install something like for example ‘Konsole’ with sudo pacman -S konsole I get the following error:

sudo pacman -S konsole
error: DEB_Arch_Extra: signature from "MegaLimited <support@mega.co.nz>" is unknown trust
error: database 'DEB_Arch_Extra' is not valid (invalid or corrupted database (PGP signature))

and Konsole won’t be installed.

When trying from the GUI it get a pop-up error message saying Failed to prepare transaction. invalid or corrupted database

Please, post

cat /etc/pacman.conf
cat /etc/pacman.conf
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives

#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir     = /
#DBPath      = /var/lib/pacman/
CacheDir = /var/cache/pacman/pkg/
#LogFile     = /var/log/pacman.log
#GPGDir      = /etc/pacman.d/gnupg/
#HookDir     = /etc/pacman.d/hooks/
HoldPkg      = pacman glibc manjaro-system
# If upgrades are available for these packages they will be asked for first
SyncFirst    = manjaro-system archlinux-keyring manjaro-keyring
#XferCommand = /usr/bin/curl -C - -f %u > %o
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
#UseDelta    = 0.7
Architecture = auto

#IgnorePkg   =
#IgnorePkg   =
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options
#UseSyslog
#Color
#TotalDownload
# We cannot check disk space from within a chroot environment
CheckSpace
#VerbosePkgLists

# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel    = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required

# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Manjaro Linux
# packagers with `pacman-key --populate archlinux manjaro`.

#
# REPOSITORIES
#   - can be defined here or included from another file
#   - pacman will search repositories in the order defined here
#   - local/custom mirrors can be added here or in separate files
#   - repositories listed first will take precedence when packages
#     have identical names, regardless of version number
#   - URLs will have $repo replaced by the name of the current repo
#   - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
#       [repo-name]
#       Server = ServerName
#       Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#

# The testing repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.

[core]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

[extra]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

[community]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.

[multilib]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

# An example of a custom package repository.  See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs

###REPO for MEGA###
[DEB_Arch_Extra]
SigLevel = Required TrustedOnly
Server = https://mega.nz/linux/MEGAsync/Arch_Extra/$arch
###END REPO for MEGA###

Get rid DEB_Arch_Extra repo from your /etc/pacman.conf. If you need megasync use one of aur versions (megasync, megasync-nopdfium or megasync-bin)

1 Like

change this into

###REPO for MEGA###
#[DEB_Arch_Extra]
#SigLevel = Required TrustedOnly
#Server = https://mega.nz/linux/MEGAsync/Arch_Extra/$arch
###END REPO for MEGA###

Thanks. Removing DEB_Arch_Extra did the last trick.
Everything is working fine now.

I just always have issues updating the aur versions of megasync. But that’s another issue :slight_smile:

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.