Debian Key Signing Bug: NO_PUBKEY

There appears to be a bug in Debian’s key signing system. Depending on your apt sources you may run in to packages signed by a key that Debian doesn’t like. Annoyingly, these are Debian-signed packages, but unless you want to fix it, here is a workaround.

http://non-us.debian.org is a repository signed with F1D53D8C4F368D5D, but Debian does not trust that key (because it is expired). Go figure.

To resolve the irritating error:
W: GPG error: http://non-us.debian.org stable/non-US Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY [some key]

Do this:

1) Make sure you have the newest keys from Debian the automagical way: apt-key update
This will probably do nothing.

2) Update your keys manually:

  • Visit http://ftp-master.debian.org
  • Find the URL to the latest key (right at the top of the page)
  • Download it and import it: wget [URL] -O - | apt-key add - (replace [URL] with the link to the key, silly)

3) Try again. If it was indeed a key issued by Debian that you were missing, you should have it now. My guess is you have stumbled across packages signed by a key that Debian forgot to include in their trusted keys list.

4) The Icky part

  • Install GNU PG if you don’t have it: apt-get install gnupg
  • Grab the key from Debian (Hey, it’s their key, they just forgot to give it out): gpg --keyserver keyring.debian.org --recv-keys [KEY]
  • Install the key: gpg --armor --export [KEY] | sudo apt-key add -
  • Trust the key: gpg --export [KEY] >> /etc/apt/trusted.gpg
  • Make sure the key is there: gpg --list-keys

Now, not to rag on the Debian group, but the key I have been fighting with is F1D53D8C4F368D5D on non-us.debian.org. That key is expired which is why it is not distributed. No packages should be signed with it.

Posted in Debian, How Tos | Leave a comment

Debian-based machines and the (initramfs) prompt

There are a million pages devoted to initramfs so I won’t go in to what it is, but if you have a Dell 1655 or other machine with serial-attached-SCSI and use Debian or a Debian-derived Linux distribution such as Ubuntu or Kbuntu, you may have run in to an issue booting after installing a kernel update.

Common errors are:

Target filesystem doesn’t have sbin/init
BusyBox v.1.1.3
/bin/sh: can’t access tty; job control turned off
(initramfs)

or

mount: Mounting /root/dev on /dev/.static/dev failed: No such file or directory
Done.
Target filesystem doesn’t have /sbin/init

or

Mounting root file system…
Running /scripts/local-top…Done.
Running /scripts/local-premount…Done.
kjournald starting. Commit interval 5 seconds.
Running /scripts/log-bottom…Done.
Running /scripts/init-bottom…
Mounting /root/dev on /dev/.static/dev failed: No such file or directory…Done.
Mounting /sys on /root/sys filed: No such file or directory
Mounting /proc on /root/proc filed: No such file or directory
Target filesystem doesn’t have /sbin/init

A common reason for this is simple. Your GRUB menu is messed up and you swear you didn’t touch it!

There is a bug somewhere in Debian that changes your filesystem from /dev/sd<something> to /dev/sd<something else>. Of course changing that will make the system mount root from the wrong partition and BOOM! No boot for you.

In my case it constantly changes my boot partition from /dev/sda1 to /dev/sdb1 which is really annoying. If I don’t update /boot/grub/menu.lst before I reboot, my system will not come back.

Lucky for you Debian has BusyBox and initramfs with the 2.6 kernel.

You will have to be on the console for this, but here is how to get up and running:

  • Boot up your broken system.
  • (initramfs) is actually a prompt, so:
    • (initramfs) cd /
  • (initramfs) mkdir /mnt Make a directory in the RAM filesystem.
  • (initramfs) mount /dev/sda1 /mnt Mount your REAL root partition there.
  • (initramfs) vi /mnt/boot/grub/menu.lst Edit your menu.lst file to load the correct partition (toward the bottom)
  • (initramfs) reboot

In my most recent case, the line:

kernel /boot/vmlinuz-2.6.18-4-686 root=/dev/sda1 ro

Was changed to

kernel /boot/vmlinuz-2.6.18-4-686 root=/dev/sdb1 ro

If I change it back before I reboot, I don’t have an issue.

Posted in Debian, grub, How Tos, linux | 7 Comments

SMTP & POP3 Email for Virtual Users on Debian Sarge

How to set up virtual email domains and users with POP access on Debian Sarge

http://www.randomsequence.com/articles/smtp-pop3-email-for-virtual-users-on-debian-sarge/

Adverts:
The Exim SMTP Mail Server
Exim: The Mail Transfer Agent
The Exim SMTP Mail Server: Official Guide for Release 4

Posted in bookmarks, Debian, Email Servers, Exim, offsiteHowTo, POP3, SMTP | Leave a comment