[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: afio batch operation



First, Thank you Thomas for taking the effort to document this. It has helped immensely.

I fixed one typo in your script noted below and then it all worked flawlessly - though remarkably slow even on my PCIe NVME drive.

I also made a mistake, it was two DVDs not a CD so quite a few gigabytes.

On 6/11/22 19:38, Thomas Schmitt wrote:
Can someone suggest a simple command line to extract the hundreds of files
and write/merge them into a single directory tree?
The name suffix .bz2 could mean that afio used -Z -P bzip2 when packing up
the archives, or that the completed afio archive files were compressed
by bzip2. This matters, because afio -Z compresses individual files in
the archive, whereas a bzip2 run on the archive stream compresses the
whole archive. (This differs from the situation with tar -z)

If the archive files were made with afio -Z, then program "file" should say
about them

   <name>: ASCII cpio archive (pre-SVR4 or odc)

An afio achive post-compressed by bzip2 should yield

   <name>: bzip2 compressed data, ...

According shell runs for inspection would then be

   afio -tv NNN.afio.bz2

or

   bunzip2 < NNN.afio.bz2 | afio -tv -

For a combined list of all file paths in the archives i would run

   for i in *.afio.bz2
   do
     # One of:
     #   afio -tv "$i"
     #   bunzip2 < "$i" | afio -tv -
   done >/tmp/all_afio_paths 2>&1

Then study file /tmp/all_afio_paths to learn about the path situation.

If all paths are relative, i.e. with no leading "/", then create a new
directory at a suitable place on the hard disk. Like:

   archive_dir=/mnt/iso
   unpack_dir="$HOME"/all_afio_files

   mkdir "$unpack_dir"
   cd "$unpack_dir"

Then unpack the archive files:

   for i in "$archive_dir"/*.afio.bz2
   do
     # One of:
     #   afio -ivZ -P bzip2
Corrected:

afio -ivZ -P bzip2 $i

     #   bunzip2 < "$i" | afio -iv -
   done

Have a nice day :)

Thomas

--
Jeremy


Reply to: