Splits directory into multiple with equal size for ISO burning purpose

by on March 5, 2006 · 3 comments· LAST UPDATED March 5, 2006

in

Sometime it is necessary to convert a directory with many multiple files (which are all smaller than a certain medium, eg. DVD) and "splits" it into "volumes,” looking for the optimal order to get the best space/medium-number efficiency.

For example, I have /data/network/mp3 directory size as follows:

$ du -ch

...
....
1.2 GB size

Now I would like to burn all these files on 700MB CD. Since size is 1.2 GB, I need to split it into two ISO files. Therefore, I need to take help of dirsplit command as follows.

1) Create list of files

$ cd /data/network/mp3
$ dirsplit -s 700M -e2 /data/network/mp3
$ ls vol*

Output:

vol_1.list
vol_2.list

Above dirsplit command created two mkisofs catalogs to burn all music (mp3) to 700M CDRs, keep single files in each dir together.

Where,

  • -s 700M : 700M CDR size
  • -e N : Special exploration modes, used with directory argument

As you see, it created two files vol_1.list vol_2.list. Now use these files to create two ISO images that can opened on both windows and Linux computer:

$ mkisofs -o vol1.iso -D -r --joliet-long -graft-points -path-list vol_1.list
$ mkisofs -o vol2.iso -D -r --joliet-long -graft-points -path-list vol_2.list
$ ls -l *.iso

Output:

-rw-r--r-- 1 vivek vivek 663M 2006-03-05 05:18 vol1.iso
-rw-r--r-- 1 vivek vivek 510M 2006-03-05 05:19 vol2.iso

Now ISO images are ready and you can burn them using cdrecord or other GUI tools.
Write an ISO (happ.iso) to CD i.e. burn an image:

$ cdrecord -v -dev=ATA:1,0,0 speed=8 vo1.iso
$ cdrecord -v -dev=ATA:1,0,0 speed=8 vo2.iso

dirsplit can ignore some junk files i.e. it can filter file list. For example, don't include other directory while creating split:

$ dirsplit -s 700M -e2 -f '!other' -e2 /data/network/mp3

(Check out all of our posts on Linux)

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 3 comments… read them below or add one }

1 smoke April 12, 2007 at 8:44 pm

is there such tool for win32? (must be cli driven)

Reply

2 freeloadr February 11, 2010 at 4:40 pm

This is part of the genisoimage package on Ubuntu.

Reply

3 Joaquin April 19, 2012 at 7:34 pm

Great! Thanks was very usefull.

Reply

Leave a Comment

Previous post:

Next post: