Pacman update fails due to invalid or corrupted kernel package


I’m having an issue when I try to update my system using pacman -Syu. I get errors stating that my kernel is invalid or corrupted and I can’t continue my updates without deleting it. I’ve had to rescue my system with a flash drive and chroot in the past due to this issue.

Here’s the output when I try to update:

:: Synchronizing package databases...
 core downloading...
 extra downloading...
 community downloading...
 multilib downloading...
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...

Packages (70) composefs-1.0.3-1  linux515-5.15.160-1  linux515-headers-5.15.160-1  linux515-nvidia-550.78-7  linux54-headers-5.4.277-1  llvm-17.0.6-5  lollypop-1.4.39-1  lvm2-2.03.24-1  magma-hip-2.8.0-2  man-pages-6.8-1  manjaro-release-24.0.1-1  manjaro-settings-manager-0.5.7-22  manjaro-settings-manager-notifier-0.5.7-22  mariadb-11.3.2-2  mariadb-clients-11.3.2-2  mariadb-libs-11.3.2-2  mhwd-nvidia-390xx-390.157-11  mhwd-nvidia-470xx-470.239.06-3  mkinitcpio-39.1-2  mpv-1:0.38.0-4  mysql-workbench-8.0.36-5  ndctl-78-2  net-snmp-5.9.4-4  nftables-1:1.0.9-3  nmap-7.95-1  nodejs-22.2.0-1  npm-10.8.0-1  opencl-headers-2:2024.05.08-1  opencv-4.9.0-8  ostree-2024.6-1  pavucontrol-1:6.0-1  pcsclite-2.2.3-1  perl-html-parser-3.82-1  perl-xml-sax-1.02-2  php-8.3.7-2  php-cgi-8.3.7-2  php-gd-8.3.7-2  php-sodium-8.3.7-2  poppler-glib-24.05.0-1  pyside6-6.7.1-1  python-annotated-types-0.7.0-1  python-automat-22.10.0-5  python-cryptography-42.0.6-1  python-fonttools-4.52.4-1  python-lxml-5.2.2-1  python-mako-1.3.3-3  python-packaging-24.0-1  python-pytorch-opt-rocm-2.3.0-5  python-scipy-1.13.1-1  python-trove-classifiers-2024.5.22-1  python-typing_extensions-4.12.0-1  qt5-location-5.15.13+kde+r7-1  qt5-webengine-5.15.17-1  qt6-svg-6.7.1-1  rapidjson-1.1.0-6  raptor-2.0.16-5  redis-7.2.5-1  samba-4.20.1-2  semver-7.6.2-1  shiboken6-6.7.1-1  snapd-2.63-1  systemd-sysvcompat-255.6-4  thunderbird-115.11.0-4  vapoursynth-R68-1  vivaldi-6.7.3329.39-1  webkit2gtk-2.44.2-1  wireless-regdb-2024.05.08-1  xdg-desktop-portal-gnome-46.2-1  xfsprogs-6.8.0-2  xorg-xwayland-24.1.0-1

Total Installed Size:  6675.07 MiB
Net Upgrade Size:      1875.88 MiB

:: Proceed with installation? [Y/n] y
checking keyring...
checking package integrity...
error: linux515: signature from "Manjaro Build Server <>" is invalid
:: File /var/cache/pacman/pkg/linux515-5.15.160-1-x86_64.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)).
Do you want to delete it? [Y/n] n
error: linux54-headers: signature from "Manjaro Build Server <>" is invalid
:: File /var/cache/pacman/pkg/linux54-headers-5.4.277-1-x86_64.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)).
Do you want to delete it? [Y/n] n
error: man-pages: signature from "Andreas Radke <>" is invalid
:: File /var/cache/pacman/pkg/man-pages-6.8-1-any.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)).
Do you want to delete it? [Y/n] n
error: failed to commit transaction (invalid or corrupted package)
Errors occurred, no packages were upgraded.

I’ve tried several commands to fix this issue, including:

sudo pacman -Scc
sudo rm -r /etc/pacman.d/gnupg
sudo pacman-key --init
sudo pacman-key --populate
sudo pacman-key --refresh-keys

The refresh-keys command takes a long time and a lot of keys don’t verify.

Here’s the output of pacman -Q archlinux-keyring; pacman -Ss archlinux-keyring:

archlinux-keyring 20240520-1
core/archlinux-keyring 20240520-1 [installed]
    Arch Linux PGP keyring

And the output of pacman -V:

 .--.                  Pacman v6.1.0 - libalpm v14.0.0
/ _.-' .-.  .-.  .-.   Copyright (C) 2006-2024 Pacman Development Team
\\  '-. '-'  '-'  '-'   Copyright (C) 2002-2006 Judd Vinet
                       This program may be freely redistributed under
                       the terms of the GNU General Public License.

Any help would be greatly appreciated.

… this one too?

sudo rm -fr /etc/pacman.d/gnupg
sudo pacman-key --init
sudo pacman-key --populate archlinux manjaro
sudo pacman-key --refresh-keys

refresh your list of mirrors
for example:
sudo pacman-mirrors -c Germany
sudo pacman -Syyu

if it fails again (it probably will), do the first set of commands

info sourced from here:

Getting invalid or corrupted package (PGP signature) error when updating - #4 by Nachlese

look at this and the links within it before you go ahead and copy/paste commands

sudo pacman-mirrors -c Germany revealed a problem where my python3 package was not functional. I was able to quickly reinstall it and refresh my mirrors. Unfortunately, pacman -Syyu has the same issue. I’ve also tested several variations of the commands listed above, including many of the ones from that forum post.

mkay - we will never know what you did and what the current responses where
if you don’t tell us :man_shrugging:
we are blind without that and speculation is inefficient at best

By the looks of it, you didn’t even click the link …

1 Like

I certainly clicked the link. The baseless assumption that I didn’t is insultng.


 351  sudo pacman -Syu
  352  sudo pacman -Syu
  353  sudo pacman-key --init
  354  sudo pacman-key --populate archlinux
  355  sudo pacman -Syu
  356  sudo pacman -
  357  sudo pacman -u
  358  sudo pacman -Su
  359  sudo pacman -Syu --overwrite ''~
  360  sudo pacman -Syu --overwrite go
  361  sudo pacman -Syu --overwrite go /usr/lib/go /usr/share/
  362  sudo pacman -Syu --overwrite '/usr/lib/go' '/usr/share/'
  363  sudo pacman -Uyu --overwrite '/usr/lib/go' '/usr/share/'
  364  sudo pacman -Syu --overwrite '/usr/lib/go' '/usr/share/'
  365  sudo pacman -Syu --overwrite '/usr/lib/go/' '/usr/share/'
  366  sudo pacman -Syu --overwrite '/usr/lib/go/'
  367  sudo pacman -Syu --overwrite '/usr/lib/go/*'
  368  sudo pacman -Syu --overwrite '/usr/lib/go/*' '/usr.share/*'
  369  sudo pacman -Syu --overwrite '/usr/lib/go/*' '/usr/share/*'
  370  sudo pacman -Syu --overwrite '/usr/lib/go/*' '/usr/bin/go'
  371  sudo pacman -Syu --overwrite '/usr/lib/go/' --overwrite '/usr/bin/' --overwrite '/usr/share/*'
  372  sudo pacman -Syu --overwrite '/usr/*'
  373  sudo pacman -Scc
  374  sudo pacman -Syu
  375  sudo archlinux-keyring-wkd-sync
  376  sudo pacman -Syu
  377  sudo pacman -Scc
  378  sudo pacman -Scc
  379  remove /var/lib/pacman/db.lck
  380  sudo rm /var/lib/pacman/db.lck
  381  sudo pacman -Scc
  382  sudo pacman -Syu
  383  sudo pacman -Sy archlinux-keyring
  384  sudo pacman -Syu
  385   pacman -Sy archlinux-keyring
  386  sudo pacman -Sy archlinux-keyring
  387  sudo pacman -Sy gpg-agent
  388  sudo pacman -Syu
  389   pacman -Sy archlinux-keyring
  390  sudo  pacman -Sy archlinux-keyring
  391  gpgconf --kill all
  392  sudo pacman -Syu
  393  sudo pacman -Sy gnupg
  394  sudo gpgconf --kill all
  395  sudo pacman -Syu
  396  sudo pacman -Scc
  397  sudo pacman -Syu
  398  sudo pacman -Syu --overwrite '/*'
  399  sudo pacman -Scc
  400  sudo pacman -Syu --overwrite '/*'
  401  code-server
  402  cd www
  403  mix shop --no-ecto --adapter bandit --no-mailer --no-live
  404  sudo pacman -Syu
  405  elixir -v
  406  mix local.hex
  407  mix archive.install hex phx_new
  408  mix shop --no-ecto --adapter bandit --no-mailer --no-live
  409  cd shop/
  410  mix phx.server
  411  clear
  412  ls
  413  cd ..
  414  code-server
  415  node -v
  416  ls
  417  sudo docker ps
  418  sudo docker-compose down
  419  sudo docker-compose up -d
  420  top
  421  ls
  422  cp docker-compose.yml docker-compose.yml.bak
  423  nano docker-compose.yml
  424  nano docker-compose.yml
  425  nano docker-compose.yml
  426  sudo docker-compose down
  427  sudo docker-compose up -d
  428  docker run --runtime=nvidia --rm nvidia/cuda:10.0-base nvidia-smi
  429  sudo docker run --runtime=nvidia --rm nvidia/cuda:10.0-base nvidia-smi
  430  sudo ntpdate
  431  sudo pacman -Sy nvidia-container-toolkit
  432  sudo systemctl restart docker
  433  ls
  434  sudo docker ps
  435  sudo docker-compose up -d
  436  nano docker-compose.yml
  437  sudo docker-compose up -d
  438  nvidia-container-runtime
  439  sudo docker-compose up -d
  440  nvidia-container-cli -k list
  441  nano /etc/docker/daemon.json
  442  sudo nano /etc/docker/daemon.json
  443  sudo systemctl restart docker
  444  sudo docker ps
  445  sudo docker-compose up -d
  446  top
  447  nvidia-container-cli -k list
  448  neofetch
  449  top
  450  ls
  451  top
  452  nano docker-compose.yml
  453  top
  454  sudo systemctl stop code-server@spk.service
  455  top
  456  top
  457  shutdown
  458  sudo shutdown
  459  sudo shutdown now
  460  sudo code-server
  461  sudo su
  462  curl -fsSL | sh
  463  date
  464  sudo systemctl enable --now code-server@$USER
  465  sudo systemctl status code-server@spk.service
  466  sudo systemctl disable code-server
  467  sudo systemctl disable code-server@
  468  sudo systemctl status code-server@spk.service
  469  sudo systemctl status code-server@spk.service
  470  sudo code-server
  471  clear
  472  code-server
  473  curl -fsSL | sh
  474  curl -fsSL | sh --version=4.22.1
  475  curl -fsSL | sh -s --version=4.22.1
  476  curl -fsSL | sh -s -- --version=4.22.1
  477  code-server
  478  yay -S code-server
  479  code-server
  480  nano ~/.config/code-server/config.yaml
  481  sudo systemctl enable code-server@.service
  482  sudo systemctl enable code-server@
  483  sudo systemctl enable --now code-server@$USER
  484  sudo systemctl status code-server@$USER
  485  top
  486  ls
  487  sudo systemctl status code-server@spk.service
  488  nano .config/code-server/config.yaml
  489  sudo systemctl restart code-server@spk.service
  490  sudo systemctl status code-server@spk.service
  491  cd ..
  492  clear
  493  ls
  494  cd .surrealdb/
  495  ls
  496  sh
  497  ls
  498  mix phx.server
  499  cd ..
  500  rm -rf geckos
  501  ls
  502  sudo systemctl restart code-server@spk.service
  503  curl -fsSL | sh
  504  sudo systemctl enable --now code-server@$USER
  505  sudo systemctl restart code-server@$USER
  506  sudo systemctl status code-server@$USER
  507  sudo systemctl stop code-server@$USER
  508  sudo systemctl disable code-server@$USER
  509  curl -fsSL | sh
  510  sudo systemctl enable --now code-server@$USER
  511  sudo systemctl status code-server@$USER
  512  code-server
  513  sudo ntpdate
  514  sudo ntpdate
  515  nano
  516  nano
  517  sudo chmox +x
  518  sudo chmod +x
  519  ./
  520  sudo pacman -Syu
  521  sudo pacman -Scc
  522  sudo pacman -Syu
  523      sudo nano /etc/pacman.conf
  524  sudo pacman -Syu
  525      sudo nano /etc/pacman.conf
  526  sudo pacman-key --init
  527  sudo pacman-key --populate archlinux manjaro
  528  sudo pacman-key --refresh-keys
  529  sudo rm -r /etc/pacman.d/gnupg
  530      sudo pacman-key --init
  531      sudo pacman-key --populate
  532  screen -S update
  533  clear
  534  sudo pacman -S
  535  sudo pacman -U
  536  sudo pacman -U pacman
  537  screen -r update
  538  checkupdates
  539  pacman -Q archlinux-keyring; pacman -Ss archlinux-keyring
  540  screen - r
  541  screen -r update
  542  screen -r update
  543  clear
  544  ls
  545  neofetch
  546  ls
  547  cat output.txt
  548  pacman -Q archlinux-keyring; pacman -Ss archlinux-keyring
  549  sudo pacman -U pacman
  550  sudo pacman -version
  551  sudo pacman -e
  552  sudo pacman -t
  553  sudo pacman t
  554  man pacman
  555  pacman -V
  556  cat output.txt
  557  pacman -v
  558  pacman -Q archlinux-keyring
  559  neofetch
  560  sudo pacman-mirrors -c usa
  561   sudo pacman-mirrors -c Germany
  562   sudo pacman-mirrors -c Germany
  563  python3
  564  sudo pacman -S python3
  565  python3
  566  clear
  567   sudo pacman-mirrors -c Germany
  568  nano  /etc/pacman.d/mirrorlist
  569   sudo pacman-mirrors -c USA
  570   sudo pacman-mirrors -c United_States
  571  sudo pacman-mirrors -id
  572  sudo pacman-mirrors -c all
  573   sudo pacman -Syyu
  574  sudo pacman -Fy
  575   sudo pacman -Syyu
  576  history

The link shows the number of times it was used - at least to me.
Now it does show one click - it didn’t a few minutes ago when I said this.
I didn’t intend to insult - but I now choose to not participate here anymore.
Good luck!


OP data shows pacman update found 3 packages with invalid signatures and requested deletion.
But package deletion was declined so update failed rather than install invalid or corrupted packages

I suggest delete the invalid or corrupted packages from cache

sudo rm /var/cache/pacman/pkg/linux515-5.15.160-1-x86_64.pkg.tar.zst /var/cache/pacman/pkg/linux54-headers-5.4.277-1-x86_64.pkg.tar.zst /var/cache/pacman/pkg/linux54-headers-5.4.277-1-x86_64.pkg.tar.zst

You one is here to insult you - however some may get hurt feelings when their possible errors i pointed out.

If you get errors with signarures and invalid packages - first cause of action is to search - and implement possible remidy actions.

1 Like