Linux

Transitioning to a New GPG Key

I am transitioning to a new GnuPG key, here is my transition statement, based on one from Simon Josefsson

Here is my signed statement:

- -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512,SHA1

OpenPGP Key Transition Statement for Brian C. Lane

I have created a new OpenPGP key and will be transitioning away from
my old key.  The old key has not been compromised and will continue to
be valid for 30 days, but I prefer all future correspondence to be
encrypted to the new key, and will be making signatures with the new
key going forward.

I would like this new key to be re-integrated into the web of trust.
This message is signed by both keys to certify the transition.  My new
and old keys are signed by each other.  If you have signed my old key,
I would appreciate signatures on my new key as well, provided that
your signing policy permits that without re-authenticating me.

The old key, which I am transitioning away from, is:

pub   1024D/0x21FB63FE9712C2CD 1998-11-13 [expires: 2015-06-23]
      Key fingerprint = 799F A3B6 AEF8 E9B4 D720  56D0 21FB 63FE 9712 C2CD

The new key, to which I am transitioning, is:

pub   4096R/0xD29845A70F5017DE 2015-05-23 [expires: 2016-05-22]
      Key fingerprint = 33C6 86A0 96DC 1247 77D9  9326 D298 45A7 0F50 17DE

The entire key may be downloaded from: https://www.brianlane.com/0xD29845A70F5017DE.txt

To fetch the full new key from a public key server using GnuPG, run:

  gpg --recv-key 0xD29845A70F5017DE

If you already know my old key, you can now verify that the new key is
signed by the old one:

  gpg --check-sigs 0xD29845A70F5017DE

If you are satisfied that you've got the right key, and the User IDs
match what you expect, I would appreciate it if you would sign my key:

  gpg --sign-key 0xD29845A70F5017DE

You can upload your signatures to a public keyserver directly:

  gpg --send-key 0xD29845A70F5017DE

Or email bcl@brianlane.com (possibly encrypted) the output from:

  gpg --armor --export 0xD29845A70F5017DE

If you'd like any further verification or have any questions about the
transition please contact me directly.

To verify the integrity of this statement:

  wget -q -O- https://www.brianlane.com/key-transition-2015-05-23.txt|gpg --verify

- -----BEGIN PGP SIGNATURE-----

iQIcBAEBCgAGBQJVYR8NAAoJEEp9FH6lgDqCRrUP/1A1vj8Z+2BESx/ErBTcQr5/
rTdRnUcQN24mGMEP/+gsDr7EasfsILUafbbE4080RNgmyOp9rnGUjZopnsu0fQQW
zMNb8l+ufA7ySSojViJjWHSflzT1bv5jbLXoYw5wZKTT2b2LEXpyaw9Bz8W2mPPx
97P2hh+Ynygw7y29hX9OCCmeKxQPAhubf58dy/FSDu0ZJhzjgYjzLkhAIHWYmRcO
smRz+3yeii+XiDSSqscxyqf5r2oRA9LmI0JHTQaegHfizGUj6AY3aNLD4Xq7IoS1
NdInS83xNq2E1d4lAiCtM9isg+vJccROpn86Rh3/28iuNtlj6Vd0YLFVpaAx8NZU
XJ778++19YX9cQbCTXszPNGAPDiiZl7uNOdy/dRmJPuPgD41zTbYi8khUOF0PKxT
H4NgRA2nxKhsxSfviPCeDebiKYA4pUpENzy+66/oPvEwmcAnB2z7S9rlMxtk3dmu
1jsgHMejPkM0RkPLHnaa7EX3u8FwpeWX99xJG2J1ltTTTRbPLVUdp0stiECQa0FZ
fYNlWR/SJ4qoSFp61hyxfljYY+7t2kLRz+hjqeR1s5oKWEkBHOy1e58q9y/oU+Ee
LnS0N1sINsEUM5Wpl8fhxnMJEsX6+F24rW9bOWAVB8GB7YO6CIEORaJff2F7q9j+
Pt9bx9aiVx4EvBz7ky1/iEYEARECAAYFAlVhHw0ACgkQIftj/pcSws3WMgCdHHBm
L9hMnZla3NIr3dC8B7AVji0An3SQWZ9bYmhXIFDpQ1dreE3+srJG
=9lQN
- -----END PGP SIGNATURE-----

Creating OpenStack images with livemedia-creator

I was going to write about using mock to make live iso's without using virt-install, but this week is the OpenStack Summit and one of the things you can use livemedia-creator (lmc) for is making disk images for use with OpenStack.

If you followed the instructions in my previous post on creating live isos you already have everything you need except the kickstart and OpenStack. I'm not going to cover how to setup OpenStack, I used the instructions from the RDO project Quickstart without too much trouble.

Creating live isos with livemedia-creator

In this post I am going to describe how to create bootable live isos using livemedia-creator (lmc). It was created so that the same Anaconda installer logic would be used for installing systems and creating bootable media like the live iso. lmc can also be used to create disk images, but I'll cover that in the next post. Anaconda and kickstart are used to install the packages, and lmc compresses the filesystem and wraps it up in an iso. This is different from the livecd-creator tool, which is a separate project that duplicates some of Anaconda's behavior and includes its own iso creation code instead of depending on Lorax.

Creating the Anaconda boot.iso with lorax

Fedora 22 is almost here, so I thought I'd write a couple posts on how to use lorax and livemedia-creator to create bootable Fedora images. I'll start with lorax. It is used to create the Anaconda boot.iso which is used to install systems using a network connection. You can also automate your installations by using the boot.iso with a kickstart file. Lorax is part of the current release-engineering workflow and is used to create the boot.iso/netinst Anaconda installer image. Pungi also uses the results from lorax when creating the DVD including package repositories.

Automatic Backup of Files to S3 and Glacier

Automatic backups are important, especially when it comes to irreplaceable data like family photos. I have used s3cmd to maintain my website’s static files for a while now, and it was simple to use it to push my 100GB+ archive of photos over to S3. But I needed an automated way to update it with any new photos that my wife or I may take. The sync protocol really isn’t what you want – there should be no need to re-examine all the files that have already been archived. You really only want to copy over new ones added since the last update.

Chat with Tor and socat

It is easy to setup a simple chat over Tor using the socat utility. To receive incoming messages you first need to setup a Tor hidden service . Add this to the end of your /etc/tor/torrc file:

HiddenServiceDir /var/lib/tor/hidden-chat/
HiddenServicePort 2330 127.0.0.1:2330

After restarting Tor check the /var/lib/tor/hidden-chat/hostname file for your hidden service .onion address.

Use socat to setup a listener on port 2330, now incoming connections to ADDRESS.onion:2330 will show up on your terminal. Run this on the system where you setup the hidden service.

Moving a BackupPC Pool

I have been using BackupPC to automatically back up the systems on my LAN for years now. It started out with a 3x250GB RAID5 as the storage pool and when I ran out of space on that I added another disk to bring it up to about 700GB. BackupPC does an excellent job of pooling common files together so that they don’t take up extra space. This is especially useful if you are backing up system files on multiple systems running the same OS release.

Local time for mutt email display

I use mutt as my email client. Something that has recently been bugging me is that when reading a message it displays the original Date: header with the sender's timezone. Since I work with people in several different zones I am constantly having to do timezone math when looking at these. So I decided to fix that with a bit of python.

One of mutt's features is that you can feed every email you view through a filter by using the display_filter setting. So I created a small python app using the email module to parse the message, grab the original date and add a new header named X-Date: that has my local time in it. It looks like this:

AIS feed is up again

A few weeks back my ancient Compaq laptop stopped booting (two LOUD beeps, no display, no drive noises). This system has been used in the garage to act as a serial to WiFi bridge for my AIS receiver, and to log temperatures for the garage and freezer temps you see at digitemp.com. The AIS data feeds the Live AIS view of Puget Sound.

The laptop was exiled to the garage after its power connector broke for the 3rd time and I had to hard-wire it by soldering it directly to the motherboard. Its battery hadn't been holding a charge all that well either. I installed Fedora 11 or 12 on it, choosing to encrypt the whole drive. This ended up being a bit of a mistake, after power outages I would have to try to remember the passphrase, and after it finally failed I pulled the drive to read it with a USB to IDE adapter and was stumped until I looked at my password list and realized I had written it down.