Flashing STM32F030 via uart bootloader under linux
There is an Open Source Python serial bootloader which I have used with STM32F103.

It is described, along with a bug fix, at Pete Harrisons' Micromouse Online web site. It gives links to the original script as well as his fixed version. You will need Python 2.6 or newer, but not Python 3. You'll also need the PySerial library.

It is command-line driven, so you can use it from the console and scripts.

If you decide to use ST Micro's Discovery or Nucleo boards for development, which include an ST-Link/V2, there is an Open Source loader for STLink at by Texane at github. It requires the Open Source libusb-1.0 library, but you may already have that installed. 

It is also command-line driven.

The ST Nucleo development boards are also mbed's, so they have a nifty feature. They look like a USB flash drive to the host OS, and copying a file to the drive programs the target MCU. So these don't need any extra host software for upload.