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.

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.
Saving the state for Home Media Server

Saving the state for Home Media Server

Home Media Server is a Roku application for streaming video from a http server. I started the project in 2009 after Roku released the SDK for their devices. Originally it was a server and a client, but I rewrote it in 2010 as just a client so that the only external dependency was a http server that could handle partial file requests. In 2013 I rewrote the client to use the gridScreen layout which lets you display more content at the same time and makes it easier to split things into categories.
Setup oath ssh login on Fedora

Setup oath ssh login on Fedora

There are occasions where I’d like to be able to ssh to a system without using the password or having to setup a ssh key. Another alternative for authentication is the pam_oath module which allows you to use OATH applications like FreeOTP or Google Authenticator for 2-factor logins. Start by installing the required packages. This is specific to Fedora, other distributions will be similar but slightly different in fun and challenging ways.

Deploying clortho with ansible and venv

I have started using Ansible to manage the few services that I still have running around here. I want to deploy clortho to a user on the system I use for serving up movies to my Roku players. I need to copy the source, setup a venv with the dependencies (aiohttp), and setup a systemd unit to make sure it is started at boot time. As of Python 3.3 the core library includes support for venv, and Python 3.

clortho - A simple key/value server

clortho is a very simple key/value server written using python 3.4 and aiohttp key namespace is per-client IP address, and there is no authentication. It supports direct connections from clients, and the X-Forwarded-For header for use with proxies. I shouldn’t have to mention that running this on an open network isn’t a good idea. Get a key value by requesting http://server/keystore/<key>: curl http://server/keystore/louis If the key has been set it will return a 200 status with the value.

https is now the default protocol

On June 5th the EFF called for people to ‘Reset the Net’ and do something to enhance their privacy on the net. I have put off switching to https for my sites because I host them using S3 and CloudFront, and up until recently it was extremely expensive to use a SSL certificate with your site. But now, thanks to SNI support in CloudFront, the cost is just slightly more than for http requests.

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.

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.

Xmonad on a MacBook Pro with Fedora 19

For years I have dual booted my Macbook with Fedora. Things have always almost worked, but never quite as smoothly as they do under OSX. Typically the problems are with the trackpad, wireless drivers and heat control – The fans on my MBP didn’t want to kick on at the point I’d like them to and Fedora just runs hotter than OSX does for the same workflow. With F19 things are somewhat better, the following xorg config file dropped into /etc/X11/xorg.