Syncs a local folder with your iPod

for Linux and *BSD


This script syncs a local directory with your iPod. If the directory is larger than the space on your iPod you can sync this larger directory with a master playlist. As alternative you can sync just a bunch of playlists.

By typing "SyncPOD" the sync is done ... nothing more nothing less. Configuration is done with a config file ("~/.ipod/config").

You need a FAT32 iPod, Linux with IEEE1394 harddisks support (*BSD may work too) and Perl5 to do that.

Everything is done in Perl, not just a C wrapper. Nothing is OS specific. The iPod needs to be mounted somewhere, if you can manage that, you have won...

License & Disclaimer

This library is released under the GNU General Public License Version 2 as published by the Free Software Foundation, This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See either the GNU General Public License or the Artistic License for more details.

You should also have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.

If you use this library in a commercial enterprise, you are invited, but not required, to pay what you feel is a reasonable fee to the author, who can be contacted at <armin at xos dot net>.

How to...

Install a IEEE1394 harddisk on Linux

Convert a HFS+ to FAT32 iPod
( on Linux | on Windows )

Update your Windows iPod firmware on Linux

Buy the right IEEE1394 card for Linux

Replace the IPod battery


The iPod hacking resource: Apple iPod on Linux
Use Ephpod with Linux: Linux iPod HOWTO
The Linux non-syncing alternative: gnuPod
Ephpod - The Program: EphPod - iPod for Windows (and Linux!)
GtkPod - The native Linux GUI: GUI for Apple's iPod using GTK2
myPod - The Java GUI: myPod - platform independent Java GUI

Now there is Linux on your iPod !!!: Linux on iPod

iPod - The One and Only: Apple - iPod

Things to remember

  • This is a one-way sync to your iPod, which means files are deleted from the drive if they don't exist in the syncdir or playlists.
  • Your MP3 files have to be uniquely named, even if they are in subdirectories.
  • Some characters in the MP3 names are not possible: "?" is one of them. (FAT32 problem ?)
  • The master playlist has to point to files within your SYNCDIR.

Always read the README


2003 05 05
  • -n option: With this option mp3 file names are checked for safety. (This is very strict right now. But I got skips on my iPod with names containing apostrophes, etc. This may as well be because of the UTF-8 conversion. Well it's optional anyway.)

2003 01 12
  • Now we delete before we copy to the iPod, this can be handy on low disk space
  • Minor annoyances fixed

2002 10 04
  • Bug fix: album order can now handle non numeric input like: "5/13"

2002 09 29
  • Bug fix: file escaping (now using: File::Copy instead of Shell)
  • New feature: availiable space check on syncing
  • New feature: just playlist sync (without syncdir or master playlist)

2002 09 29
  • New feature: on the fly playlist creation with search patterns as arguments (SyncPOD -h for more)
  • New feature: now creating filesystem structure on my own
  • New feature: ask before deletion (DELETEASK parameter in config file)

2002 09 25
  • Initial public BETA release


  • I bought my MAC iPod at christmas 2001. I wanted linux support since that time ...
  • In january I hacked a script which could parse the iTunesDB and iTunesEQPresets file. A lot of information was from Jason's page, the rest from hexdumps ;-) Joe (Ephpod) also helped me with some issues.
  • In february a script was written to actually write an iTunesDB file. In order not to ruin my mp3 player (I use it every day) and the missing possibility to mount the iPod with Linux I never tried the file. I was also told, that the iPod ignores the iTunesEQPresets file.
  • A new firmware makes the iPod to use the iTunesEQPresets, so this work was not useless after all.
  • Some time later at the end of September someone wrote me about using the Windows iPod with Linux and Ephpod, so I tried my script from february and it worked out of the dusty box (with a one line fix).
  • I tried to cleanup and release it as fast as possible in oder to share it with the open source community...


Version 0.68 - 15365 bytes
Version 0.66 - 15281 bytes
Version 0.64 - 15248 bytes
Version 0.63 - 15241 bytes
Version 0.60 - 14847 bytes
Version 0.51 beta - 14282 bytes

Author & Copyright

© 2003 Armin Obersteiner

Latest Release: Mon May 5 01:32:30 MEST 2003

iPod is a registered trademark of Apple Computer
Linux is a registered trademark of Linus Torvalds
BSD is a registered trademark of Berkeley Software Design, Inc.
POSIX is a registered trademark of IEEE
Windows is a registered trademark of Microsoft