Managing Photo Libraries in Linux – A Simple Method.

I use my Linux machine as my primary machine for photography.  I import my pictures with a card reader, edit them as needed with GIMP, and then file them.  For backups I created a simple shell program with rsync which backs them up nightly to another disk.

I take about 1500-2000 pictures every year.  I only delete the absolute mistakes.  Right now I have about 12,000 pictures on my system.

I have been though several programs to manage my pictures.  On my mac I tried Iview Mediapro – which was then bought by Microsoft (and recently abandoned once again.)  I must admit – having used computers at home since 1987 I’m not too willing to surrender myself to a single program.  I’m sure that every year since I have owned a computer I have had to worry about migrating my data either because of the operating system, the computer, or the program.  This has influenced how I manage pictures today.

I use a simple directory structure to store my pictures.  For example – suppose I take Easter pictures on April 20th of 2010.  I will put all those pictures in a folder that describes them: “Easter_at_Bunny_House”.  Then that folder will be put into my overall picture directory – and will look something like this:


  • /storage is my storage folder at the root level
  • /storage/primary is a dedicated disk mounted at that point (I actually have a /storage/backup as well)
  • /storage/primary/photos – I store other stuff
  • /storage/primary/photos/dated – I have other photos which might be categorized (a clip art collection perhaps).  I also have others where I don’t know the correct dates yet (collections from relatives.)  Although I try to get everything into the ‘dated’ directory – there are other spots for some photos.
  • /storage/primary/photos/dated/year_2010 – Each year has it’s own folder, and within each year are 12 months (I copied a few years into the future so I wouldn’t have to do the months by hand)
  • /storage/primary/photos/dated/year_2010/d_Apr – I have the months listed alphabetically – so you will see “a-jan, b-feb, c-mar” and so on – just to keep them in order.

Why I don’t use IPTCIPTC is a great standard.  Unfortunately, many of the popular programs don’t use IPTC. Iphoto didn’t before.  I don’t know if they do now.    Here is a list of programs that work with IPTC.   The problem is simple.  Adding keywords to programs is a lot of work!

I find that by naming the folders correctly I can often find the pictures just through memory or a simple search.  This works a majority of the time.  When it doesn’t, I use Picassa for Linux.   I poiint this to my photo directory and can scan my photos quickly to find the one I want.

I have about 12,000 photos.  I am not dependent on a particular program.  I can move my files easily to another system.  If you have fewer photos a photo program might work for you (although good luck migrating in the future.)  If you have many more pictures a professional implementation might be worth your time.  For me – the simple method seems to work best and I am quite happy with it.

Phatch – Linux Photo Batch Resizing

In a previous post I mentioned KRename.  It really is my favorite tool for renaming photos once I get them onto my computer from the camera.  I use it the most. But occasionally I need to resize my photos, or I want to resave them to a lower resolution, or a more compressed jpeg.  I often do this when I want to email several photos to people or I want to resize them for this blog (and not use all my allocated memory.)

For these tasks I like to use Phatch. I have it in my Ubuntu 8.04 repository.  If it isn’t in yours you can find the download here for Linux (and Windows and Mac).  Phatch is a neat little tool written in Python that allows you to shrink your photos, apply text, or watermarks, round the edges of photos – then save them with a chosen name.  Like KRename – I’ve never had it destroy a set of my photos (always very important.)  I’ll admit I find the interface a little weird – but it tries it’s best to be intuitive – and I can usually work my way through without much trouble even if I haven’t used it for a couple months.

Here is a very simple example of what Phatch can do:

When you open the program you get the working window:

Phatch Opens with the Action List Window

You then click the “+” key to get a list of possible actions for your photos from which you can choose:

A List of Actions to choose from...

There are MANY more actions than this available. You can read about all of them in the Phatch Wiki.  I usually am simply resizing my photos.  Once you choose an action you are given a variety of options:

Each action has various options from which to choose.

Whatever actions you choose – you need to remember the make the last action the SAVE action.  Here is where I adjust the JPEG quality of my original photos.

Working with SAVE. A variety of image formats are available.

Finally – you can click on the “Gears” button on the main window to choose a folder on which to execute your batch processing:

Choose a folder and files on which to apply your actions

The program will then batch process your files and save them wherever you selected in your SAVE action.

An easy and well written tool for us Linux Photographers.  I hope you enjoy using it.