Author: Chad Files
To get started, download podget, unpack it, and change into the newly created podget directory. With sudo, or as root, run make install
, then run podget so that it can configure itself. By default the first run will download several podcasts from a predefined list. To disable this feature, pass podget the -C
option; this puts podget in cleanup mode.
On the first run podget creates two configuration files, podgetrc and serverlist, both in ~/.podget. In podgetrc you can set podget’s configuration parameters; in serverlist you specify the podcast RSS feeds to download. For complete configuration information refer to the podget documentation.
Adding podcasts to a generic music device
There are thousands of portable music devices on the market these days, and each of them behaves differently. Fortunately, most popular devices behave as external hard drives under Linux. Taking advantage of this allows for easy syncing. Consider the following shell script:
#!/bin/sh mount /dev/sda1 /media/usbdisk cp -Ru ~/POD /media/usbdisk umount /media/usbdisk
The script mounts the device (/dev/sda1) to /media/usbdisk, then copies new and changed files over recursively. Finally, it unmounts the device. The user running this script must have mount privileges.
Adding podcasts to an iPod
While that script should work for any portable music device, you can sync your iPod automatically using GNUpod. (iPod support on Linux is experimental, and if not done properly can have disastrous results, so be careful.)
#!/bin/sh gnupod_INIT.pl -m /media/ipod find ~/POD -type f -name '*.mp3' -exec gnupod_addsong.pl -m /media/ipod {} ; mktunes.pl -m /mnt/ipod umount /mnt/ipod
This script mounts the iPod, copies all of the available MP3 files to it, updates the database, and unmounts the mount point. Again, this script must be run by a user with permission to mount.
Automating the process
Adding the following line to the crontab automates podget and the syncing script:
15 04 * * * /usr/local/bin/podget -s && /path/to/sync/script
This line tells cron to run podget and the sync script every morning at 4:15. Obviously the audio device needs to be attached to the computer for the sync script to work.
If you subscribe to several active podcasts, you know that keeping up-to-date with them is a tedious task. This simple process, along with a morning stroll, has made that task much easier for me.
Chad Files, a software developer from Arkansas, has been developing Web-based applications for more than 10 years, and is a contributing developer to many open source projects.