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

Re: Extracting directories from an ISO image, command line tool?



Thomas Schmitt wrote:
Hi,

my two cents:

   for i in /media/distributionA/DVD*.iso
   do
     xorriso -osirrox on:auto_chmod_on -overwrite nondir \
             -indev "$i" \
             -extract /pool /media/distributionA/poolA
   done

The setting -osirrox auto_chmod_on enables writing to
read-only directories which were created by a previous
xorriso -extract command.
This is needed especially if duplicate files overwrite
each other in such read-only directories.

One may change the permissions of the directories before
extraction.

     xorriso -osirrox on -overwrite nondir \
             -indev "$i" \
             -find /pool -type d -exec chmod u+rwx -- \
             -extract /pool /media/distributionA/poolA \
             -rollback_end

The final command -rollback_end prevents error messages
about pending changes and no output drive being acquired.

This is equivalent to
     find /media/distributionA/poolA -type d -exec chmod u+rwx '{}' ';'
after each xorriso run.


Have a nice day :)


Things almost work. I suspect operator error of some sort.
I tend to do cut-n-paste of single physical lines rather than looping as in your example.

I seem to be able to extract the pool directory of the first ISO I process. The second fails (see sample below). It chokes on the 2nd file processed. I've done multiple runs on different machines varying as many things as seem to make sens with essentially the same failure reports.

I'm running Debian 8.0 with Mate. One machine I had done an "expert install" {Windows XP and multiple instances of Debian] aimed at a approximately minimal install. I have a second machine dedicated to experimenting, did a "let the installer make all choices" to do a clean insall using all of the hard drive.

The ISO's are derived from the purchased Debian 8.0 DVD's used to do installation on both machines.

SAMPLE TEST RUN:

richard@jessie:~$ xorriso -osirrox on:auto_chmod_on -overwrite nondir -indev /media/richard/Lexar/dvd8_1.iso -extract /pool /media/richard/REPO8/test/pool
xorriso 1.3.2 : RockRidge filesystem manipulator, libburnia project.

Copying of file objects from ISO image to disk filesystem is: Enabled
xorriso : NOTE : Loading ISO image tree from LBA 0
xorriso : UPDATE : 8653 nodes read in 1 seconds
xorriso : NOTE : Detected El-Torito boot information which currently is set to be discarded
Drive current: -indev '/media/richard/Lexar/dvd8_1.iso'
Media current: stdio file, overwriteable
Media status : is written , is appendable
Boot record : El Torito , ISOLINUX isohybrid MBR pointing to boot image
Media summary: 1 session, 1941504 data blocks, 3792m data, 11.7g free
Volume id    : 'Debian 8.0.0 i386 1'
xorriso : UPDATE : 82 files restored ( 26141k) in 1 seconds , 19.0xD
xorriso : UPDATE : 188 files restored ( 52401k) in 2 seconds , 19.3xD
.
.
.
xorriso : UPDATE : 6151 files restored (3622.2m) in 151 seconds , 18.1xD xorriso : UPDATE : 6264 files restored (3645.2m) in 152 seconds , 17.4xD xorriso : UPDATE : 6317 files restored (3660.6m) in 153 seconds = 18.2xD Extracted from ISO image: file '/pool'='/media/richard/REPO8/test/pool'
richard@jessie:~$
richard@jessie:~$
richard@jessie:~$
richard@jessie:~$ xorriso -osirrox on:auto_chmod_on -overwrite nondir -indev /media/richard/Lexar/dvd8_2.iso -extract /pool /media/richard/REPO8/test/pool
xorriso 1.3.2 : RockRidge filesystem manipulator, libburnia project.

Copying of file objects from ISO image to disk filesystem is: Enabled
libisoburn: WARNING : ISO image size 2284052s larger than readable size 1941504s
xorriso : NOTE : Loading ISO image tree from LBA 0
xorriso : UPDATE : 6023 nodes read in 1 seconds
Drive current: -indev '/media/richard/Lexar/dvd8_2.iso'
Media current: stdio file, overwriteable
Media status : is written , is appendable
Media summary: 1 session, 1941504 data blocks, 3792m data, 11.0g free
Volume id    : 'Debian 8.0.0 i386 2'
libburn : SORRY : Read start address 2105202s larger than number of readable blocks 1941503
libisofs: FAILURE : Read error occured with IsoDataSource
xorriso : FAILURE : Cannot read all bytes from ISO file '/pool/contrib/f/flashplugin-nonfree-extrasound/flashplugin-nonfree-extrasound_0.0.svn2431-5_i386.deb' xorriso : FAILURE : Cannot restore regular file to disk filesystem: '/pool/contrib/f/flashplugin-nonfree-extrasound/flashplugin-nonfree-extrasound_0.0.svn2431-5_i386.deb' xorriso : SORRY : Restoring failed: '/pool/contrib/f/flashplugin-nonfree-extrasound/flashplugin-nonfree-extrasound_0.0.svn2431-5_i386.deb' = '/media/richard/REPO8/test/pool/contrib/f/flashplugin-nonfree-extrasound/flashplugin-nonfree-extrasound_0.0.svn2431-5_i386.deb'
xorriso : UPDATE : 5 files restored ( 37934b) in 1 seconds = 0.0xD
xorriso : aborting : -abort_on 'FAILURE' encountered 'FAILURE'
richard@jessie:~$
richard@jessie:~$


Reply to: