Closed mbusb closed 10 years ago
I am really happy for your comment and I would like to do it. But, I am a little busy while, will do it later.
Thanks.
On 02/20/2014 04:09 PM, multibootusb wrote:
Nice tool. I am looking for a python script which can extracts files out of iso container. It seems like your script can do that (of course with little modification.) Is it possible to extend the functionallity of the script to extract files as well? with command line switch somthing like this: isodump [switch] [iso file] or isodump [iso file] [switch]
Reply to this email directly or view it on GitHub: https://github.com/kartorz/utils/issues/1
Thank you for your reply and promise. Will you mind if I mention your name in the list of contributors in our project multibootusb?
Thank you, I will be appreciate for that.
On 02/20/2014 07:51 PM, multibootusb wrote:
Thank you for your reply and promise. Will you mind if I mention your name in the list of contributors in our project multibootusb.
Regards. On Feb 20, 2014 4:17 PM, "Joni Lee" notifications@github.com wrote:
I am really happy for your comment and I would like to do it. But, I am a little busy while, will do it later.
Thanks.
On 02/20/2014 04:09 PM, multibootusb wrote:
Nice tool. I am looking for a python script which can extracts files out of iso container. It seems like your script can do that (of course with little modification.) Is it possible to extend the functionallity of the script to extract files as well? with command line switch somthing like this: isodump [switch] [iso file] or isodump [iso file] [switch]
Reply to this email directly or view it on GitHub:
https://github.com/kartorz/utils/issues/1
Reply to this email directly or view it on GitHubhttps://github.com/kartorz/utils/issues/1#issuecomment-35608427 .
Reply to this email directly or view it on GitHub: https://github.com/kartorz/utils/issues/1#issuecomment-35612975
Here is a work done by "barneygale". Would be useful to you for incorporating extraction feature in to your script. Requested the same feature there too. But have not received any reply.
https://github.com/barneygale/iso9660/blob/master/iso9660.py
Quick update. The script mentioned above does not list all the files from iso. Please cross check with 7zip.
Here is another link to python script on iso related work. I thought it might me useful to you for further development...
http://pydoc.net/Python/hachoir-parser/1.3.3/hachoir_parser.file_system.iso9660/
Thanks. I will follow it.
On 02/24/2014 04:34 PM, multibootusb wrote:
Here is another link to python script on iso related work. I thought it might me useful to you for further development...
http://pydoc.net/Python/hachoir-parser/1.3.3/hachoir_parser.file_system.iso9660/
Reply to this email directly or view it on GitHub: https://github.com/kartorz/utils/issues/1#issuecomment-35866209
Hi, I have done a initial version for extracting files. Because I did a git rebase, You shold do a git reset --hard to init commit, or git clone a new repository, sorry for that.
Here is the usage:
python isodump.py "iso:/" xx.iso -- dump the iso root.
python isodump.py "iso:/xx" "/tmp/xx" xx.iso --
extract xx from iso to /tmp/xx.
Currently, this script does't support "long file name" --like "RR
extention", you ok with that ? I will do that later.
Regards
Will check once I reach home. What does long file name means? Files having longer names? If yes then how many character?
Also, is it able to preserve the case?
Will give a feedback in few hours.
The Iso File Struct Stanard has a limit for length of file name -- maybe is 32. in order to support long file name, need support iso ententions.
On 02/26/2014 03:32 PM, multibootusb wrote:
Will check once I reach home. What does long file name means? Files having longer names? If yes then how many character?
Also, is it able to preserve the case?
Will give a feedback in few hours.
Reply to this email directly or view it on GitHub: https://github.com/kartorz/utils/issues/1#issuecomment-36098557
Regards
Sorry. The script does not seems to work at all. Here is the feedback.
[sundar@localhost multibootusb]$ python ./isodump1.py iso:/ ./test ./aTinyCore-4.3.iso [sundar@localhost multibootusb]$ ls ./test [sundar@localhost multibootusb]$ Nothing is being extracted to test directory. Have changed to full path but the result is same.
I attached my test case and isodump.py
the "iso:/" means the /root directory, It should print all the dir names to terminal. Only extract file. You can use "python ./isodump1.py iso:/ ./aTinyCore-4.3.iso > /.test"
On 02/26/2014 04:11 PM, multibootusb wrote:
Sorry. The script does not seems to work at all. Here is the feedback.
[sundar@localhost multibootusb]$ python ./isodump1.py iso:/ ./test ./aTinyCore-4.3.iso [sundar@localhost multibootusb]$ ls ./test [sundar@localhost multibootusb]$ Nothing is being extracted to test directory. Have changed to full path but the result is same.
Reply to this email directly or view it on GitHub: https://github.com/kartorz/utils/issues/1#issuecomment-36100823
Regards
Here is what i have got. [sundar@localhost multibootusb]$ python ./isodump1.py iso:/ /media/Data/DISTROS/ubuntu-12.04-desktop-i386.iso > ./test bash: ./test: Is a directory [sundar@localhost multibootusb]$
Can you provide your terminal output?
Extraction of specific file seems to work. But path to iso file must be CAPITAL. This CAPITAL is an issue as the path to files are case sensitive in Linux.
[sundar@localhost multibootusb]$ python ./isodump1.py iso:/ISOLINUX/ISOLINUX.CFG /tmp/grub.cfg /media/Data/DISTROS/ubuntu-12.04-desktop-i386.iso dump_file(/ISOLINUX/ISOLINUX.CFG)->(/tmp/grub.cfg) dump (/ISOLINUX/ISOLINUX.CFG) to (/tmp/grub.cfg) [sundar@localhost multibootusb]$
[sundar@localhost multibootusb]$ cat /tmp/grub.cfg D-I config version 2.0 include menu.cfg default vesamenu.c32 prompt 0 timeout 50 ui gfxboot bootlogo [sundar@localhost multibootusb]$
That's what I said "long file name". The CAPITAL file name is the Iso File Standard. This script needs to support "RR extension" or "Extension attribute" to get the "normal" file name. I will fix this later.
On 02/26/2014 04:43 PM, multibootusb wrote:
Extraction of specific file seems to work. But path to iso file must be CAPITAL. This CAPITAL is an issue as the path to files are case sensitive in Linux.
[sundar@localhost multibootusb]$ python ./isodump1.py iso:/ISOLINUX/ISOLINUX.CFG /tmp/grub.cfg /media/Data/DISTROS/ubuntu-12.04-desktop-i386.iso dump_file(/ISOLINUX/ISOLINUX.CFG)->(/tmp/grub.cfg) dump (/ISOLINUX/ISOLINUX.CFG) to (/tmp/grub.cfg) [sundar@localhost multibootusb]$
[sundar@localhost multibootusb]$ cat /tmp/grub.cfg
D-I config version 2.0
include menu.cfg default vesamenu.c32 prompt 0 timeout 50 ui gfxboot bootlogo [sundar@localhost multibootusb]$
Reply to this email directly or view it on GitHub: https://github.com/kartorz/utils/issues/1#issuecomment-36103054
Regards
I will wait for that ;-)
Hi, I have finished the RRIP extension. this script can suppport long file name now.
The attachment is my screenshot.
Regards
where is the screenshot?
The attachment.
Here are commands: ./isodump.py iso:/ ~/Downloads/NetBSD-6.1.1-i386.iso
./isodump.py iso:/sbin/ ~/Downloads/NetBSD-6.1.1-i386.iso
./isodump.py iso:/sysinstmsgs.es /tmp/sysinstmsgs.es
~/Downloads/NetBSD-6.1.1-i386.iso
This scripts should work.
You can use "sha1sum /mnt/sysinstmsgs.es" to check.
On 02/28/2014 01:47 PM, multibootusb wrote:
where is the screenshot?
Reply to this email directly or view it on GitHub: https://github.com/kartorz/utils/issues/1#issuecomment-36323760
Regards
OK. Will check in next few hours.
Thank you for the work you have done. Here is what I have done to test your script. Extracting files out of iso using path works well. But still i am unable to extract all files using "iso:/" option.
[sundar@localhost multibootusb]$ ./isodump.py iso:/boot/isolinux/isolinux.bin ./test/isolinux.bin aTinyCore-4.3.iso read_primary_volume: rrip_offset 0 dump_file(/boot/isolinux/isolinux.bin)->(./test/isolinux.bin) got targe (29, 3800) dump (/boot/isolinux/isolinux.bin) to (./test/isolinux.bin) [sundar@localhost multibootusb]$ ls ./test isolinux.bin [sundar@localhost multibootusb]$
[sundar@localhost multibootusb]$ ./isodump.py iso:/ ./test/ aTinyCore-4.3.iso read_primary_volume: rrip_offset 0 dump_file(/)->(./test/) . .. boot cde
[sundar@localhost multibootusb]$ ls ./test isolinux.bin [sundar@localhost multibootusb]$
That is what the script does. It just dumps a directory or extracts a file once .
The featuer extracting all file under a directory has not been implemented. If you really need this, I can do it.
On 02/28/2014 04:20 PM, multibootusb wrote:
Thank you for the work you have done. Here is what I have done to test your script. Extracting files out of iso using path works well. But still i am unable to extract all files using "iso:/" option.
[sundar@localhost multibootusb]$ ./isodump.py iso:/boot/isolinux/isolinux.bin ./test/isolinux.bin aTinyCore-4.3.iso read_primary_volume: rrip_offset 0 dump_file(/boot/isolinux/isolinux.bin)->(./test/isolinux.bin) got targe (29, 3800) dump (/boot/isolinux/isolinux.bin) to (./test/isolinux.bin)
[sundar@localhost multibootusb]$ ./isodump.py iso:/ ./test/ aTinyCore-4.3.iso read_primary_volume: rrip_offset 0 dump_file(/)->(./test/) . .. boot cde
[sundar@localhost multibootusb]$ ls ./test isolinux.bin [sundar@localhost multibootusb]$
Reply to this email directly or view it on GitHub: https://github.com/kartorz/utils/issues/1#issuecomment-36330079
Regards
"The featuer extracting all file under a directory has not been implemented. If you really need this, I can do it."
This what exactly I require. Extract all files out of iso container to the destination directory.
I have noticed that your script only list top lever directory/files based on the parameter provided by the user. For example if i give "iso:/" as an option then i get following:- [sundar@localhost multibootusb]$ ./isodump.py iso:/ aTinyCore-4.3.iso read_primary_volume: rrip_offset 0 dump_file(/)->() . .. boot cde and when i give "iso:/boot" then i get list of file and directories under "boot":- [sundar@localhost multibootusb]$ ./isodump.py iso:/boot ./test/ aTinyCore-4.3.iso read_primary_volume: rrip_offset 0 dump_file(/boot)->(./test/) got targe (1e, 800) . .. core.gz isolinux vmlinuz
Is it possible to list all files and directories from iso container with single option? For example, here is the output of the script "iso9660.py" I mentioned earlier in the post (you can ignore the CASE which have been implemented in your script):- [sundar@localhost multibootusb]$ ./iso9660.py aTinyCore-4.3.iso / /BOOT /BOOT/CORE.GZ /BOOT/ISOLINUX /BOOT/ISOLINUX/BOOT.CAT /BOOT/ISOLINUX/BOOT.MSG /BOOT/ISOLINUX/F2. /BOOT/ISOLINUX/F3. /BOOT/ISOLINUX/F4. /BOOT/ISOLINUX/ISOLINUX.BIN /BOOT/ISOLINUX/ISOLINUX.CFG /BOOT/VMLINUZ. /CDE /CDE/COPY2FS.LST /CDE/ONBOOT.LST /CDE/OPTIONAL /CDE/OPTIONAL/FLTK_1_10.TCZ /CDE/OPTIONAL/FLTK_1_10_TCZ_MD5.TXT /CDE/OPTIONAL/FLWM_TOPSIDE.TCZ /CDE/OPTIONAL/FLWM_TOPSIDE_TCZ_MD5.TXT /CDE/OPTIONAL/WBAR.TCZ /CDE/OPTIONAL/WBAR_TCZ_MD5.TXT /CDE/OPTIONAL/XLIBS.TCZ /CDE/OPTIONAL/XLIBS_TCZ_MD5.TXT /CDE/OPTIONAL/XPROGS.TCZ /CDE/OPTIONAL/XPROGS_TCZ_MD5.TXT /CDE/OPTIONAL/XVESA.TCZ /CDE/OPTIONAL/XVESA_TCZ_MD5.TXT /CDE/XBASE.LST
I got this. You mean extract all the files recursively under some directory.
It may take a while to implement.
On 02/28/2014 04:48 PM, multibootusb wrote:
"The featuer extracting all file under a directory has not been implemented. If you really need this, I can do it."
This what exactly I require. Extract all files out of iso container to the destination directory.
I have noticed that your script only list top lever directory/files based on the parameter provided by the user. For example if i give "iso:/" as an option then i get following:- [sundar@localhost multibootusb]$ ./isodump.py iso:/ aTinyCore-4.3.iso read_primary_volume: rrip_offset 0 dump_file(/)->() . .. boot cde and when i give "iso:/boot" then i get list of file and directories under "boot":- [sundar@localhost multibootusb]$ ./isodump.py iso:/boot ./test/ aTinyCore-4.3.iso read_primary_volume: rrip_offset 0 dump_file(/boot)->(./test/) got targe (1e, 800) . .. core.gz isolinux vmlinuz
Is it possible to list all files and directories from iso container with single option? For example, here is the output of the script "iso9660.py" I mentioned earlier in the post (you can ignore the CASE which have been implemented in your script):- [sundar@localhost multibootusb]$ ./iso9660.py aTinyCore-4.3.iso / /BOOT /BOOT/CORE.GZ /BOOT/ISOLINUX /BOOT/ISOLINUX/BOOT.CAT /BOOT/ISOLINUX/BOOT.MSG /BOOT/ISOLINUX/F2. /BOOT/ISOLINUX/F3. /BOOT/ISOLINUX/F4. /BOOT/ISOLINUX/ISOLINUX.BIN /BOOT/ISOLINUX/ISOLINUX.CFG /BOOT/VMLINUZ. /CDE /CDE/COPY2FS.LST /CDE/ONBOOT.LST /CDE/OPTIONAL /CDE/OPTIONAL/FLTK_1_10.TCZ /CDE/OPTIONAL/FLTK_1_10_TCZ_MD5.TXT /CDE/OPTIONAL/FLWM_TOPSIDE.TCZ /CDE/OPTIONAL/FLWM_TOPSIDE_TCZ_MD5.TXT /CDE/OPTIONAL/WBAR.TCZ /CDE/OPTIONAL/WBAR_TCZ_MD5.TXT /CDE/OPTIONAL/XLIBS.TCZ /CDE/OPTIONAL/XLIBS_TCZ_MD5.TXT /CDE/OPTIONAL/XPROGS.TCZ /CDE/OPTIONAL/XPROGS_TCZ_MD5.TXT /CDE/OPTIONAL/XVESA.TCZ /CDE/OPTIONAL/XVESA_TCZ_MD5.TXT /CDE/XBASE.LST
Reply to this email directly or view it on GitHub: https://github.com/kartorz/utils/issues/1#issuecomment-36331586
Regards
OK. I will wait again. ;-(
Hi, I have done the feature extracting a directory to local. Currently, only support regular files, Non-regular files(like device file) can't been extracted.
Here are the usage:
./isodump.py iso:/ -r -o xx/ xx.iso : Extract root
directory recursively to xx/
output:
///write file (/tmp/iso/boot/grub/grub.cfg)// // write file (/tmp/iso/linix.img)// // write_dir(/)->(/tmp/iso)/
./isodump.py iso:/ -o xx/ xx.iso : Extract only root
directory to xx
output:
/write file (/tmp/iso/linix.img) /
./isodump.py iso:/ -r xx.iso : Dump root
directory recursively
output:
//boot// // /boot/grub// // /boot/grub/grub.cfg// ///linix.img/
./isodump.py iso:/ xx.iso : Dump only root
directory.
output:
/ /boot// // /linix.img/
Regards
Hi, Tested the latest script. Works very well. Calculated extraction time with 7zip and to my surprise, your script beaten 7zip in few cases. Here is the test case:-
[sundar@localhost multibootusb]$ du -h ../Downloads/distros/Mageia-4-LiveDVD-KDE4-x86_64-DVD.iso 1.5G ../Downloads/distros/Mageia-4-LiveDVD-KDE4-x86_64-DVD.iso [sundar@localhost multibootusb]$
[sundar@localhost multibootusb]$ rm -r ./test/* [sundar@localhost multibootusb]$ ls ./test [sundar@localhost multibootusb]$ time ./isodump.py iso:/ -r -o ./test ../Downloads/distros/Mageia-4-LiveDVD-KDE4-x86_64-DVD.iso RRIP: rrip_offset 0 write file (./test/boot/cdrom/initrd.gz) . . write file (./test/loopbacks/distrib-lzma.sqfs) write_dir(/)->(./test)
real 1m2.642s user 0m3.781s sys 0m4.299s [sundar@localhost multibootusb]$ rm -r ./test/* [sundar@localhost multibootusb]$ ls ./test [sundar@localhost multibootusb]$ time ./tools/7zip/linux/7z x ../Downloads/distros/Mageia-4-LiveDVD-KDE4-x86_64-DVD.iso -y -o./test
7-Zip 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)
Processing archive: ../Downloads/distros/Mageia-4-LiveDVD-KDE4-x86_64-DVD.iso
Extracting EFI Extracting EFI/boot . . Extracting loopbacks Extracting loopbacks/distrib-lzma.sqfs Extracting [BOOT]/Bootable_NoEmulation.img
Everything is Ok
Folders: 9 Files: 112 Size: 1599796418 Compressed: 1600126976
real 1m2.755s user 0m0.072s sys 0m3.362s [sundar@localhost multibootusb]$
So 1m2.642s != 1m2.755s.
On other ISO files, I did not find any major time difference between your script and 7zip. It is more or less same. However, it would be easier to integrate your module in to python script. Also, it reduces few MB on final executable. More specifically:- [sundar@localhost multibootusb]$ du -h ./tools/7zip/linux/ 3.3M ./tools/7zip/linux/
Here is another reason why I came here for the help:- [sundar@localhost multibootusb]$ file ../../../media/Debian/home/sundar/openSUSE-13.1-KDE-Live-x86_64.iso ../../../media/Debian/home/sundar/openSUSE-13.1-KDE-Live-x86_64.iso: ISO 9660 CD-ROM filesystem data 'openSUSE 13.1 KDE Live ' (bootable) [sundar@localhost multibootusb]$ [sundar@localhost multibootusb]$ time ./isodump.py iso:/ -r -o ./test ../../../media/Debian/home/sundar/openSUSE-13.1-KDE-Live-x86_64.iso . . write file (./test/boot/grub2-efi/x86_64-efi/efinet.module) write file (./test/boot/grub2-efi/x86_64-efi/efinet.mod) write file (./test/boot/grub2-efi/x86_64-efi/efi_gop.module) write file (./test/boot/grub2-efi/x86_64-efi/efi_gop.mod) write file (./test/boot/grub2-efi/x86_64-efi/efi_uga.module) write file (./test/boot/grub2-efi/x86_64-efi/efi_uga.mod) write file (./test/boot/grub2-efi/x86_64-efi/ehci.module) write file (./test/boot/grub2-efi/x86_64-efi/ehci.mod) write file (./test/boot/grub2-efi/x86_64-efi/fat.mod) . . Basically I could extract files out of latest openSuse ISO. But 7zip could not do the same. Here is the result:- [sundar@localhost multibootusb]$ time ./tools/7zip/linux/7z x ../../../media/Debian/home/sundar/openSUSE-13.1-KDE-Live-x86_64.iso -y -o./test
7-Zip 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)
Processing archive: ../../../media/Debian/home/sundar/openSUSE-13.1-KDE-Live-x86_64.iso
Extracting 0.img Extracting 1.img
Everything is Ok
Files: 2 Size: 985667584 Compressed: 987758592
real 0m36.876s user 0m0.086s sys 0m2.014s [sundar@localhost multibootusb]$
Therefore, your script is again performed much better that 7zip.
You said that " Currently, only support regular files, Non-regular files(like device file) can't been extracted.". But I need to check this out with various linux ISO's to make sure that it does not affect boot process.
It is time to integrate your script to multibootusb. Oops, you have not mentioned about licence.
I personally feel that you need to amend your script command line argument to make it simple. I will post on this later.
Thank you for for the work you have done. :+1:
Another feature request.
Is it possible to extract specific file type? For example if I specify .cfg, script should extract all files ending with ".cfg" to local directory. Or if I specify "boot" (which can be file or directory), script should extract all files/ directory named "boot" to local directory. It is an another mandatory requirement to get rid of 7zip as multibootusb extracts .cfg files for identifying distro type and later extracts only certain directory (like "boot") on certain distros.
I got this.
On 03/05/2014 10:03 AM, multibootusb wrote:
Another feature request.
Is it possible to extract specific file type? For example if I specify .cfg, script should extract all files ending with ".cfg" to local directory. Or if I specify "boot" (which can be file or directory), script should extract all files/ directory named "boot" to local directory. It is an another mandatory requirement to get rid of 7zip as multibootusb extracts .cfg files for identifying distro type and later extracts only certain directory (like "boot") on certain distros.
Reply to this email directly or view it on GitHub: https://github.com/kartorz/utils/issues/1#issuecomment-36702737
Regards
"I got this." Does it meant that you have this feature already or got this idea?
On 03/05/2014 09:45 AM, multibootusb wrote:
Hi, Tested the latest script. Works very well. Calculated extraction time with 7zip and to my surprise, your script beaten 7zip in few cases. Here is the test case:-
[sundar@localhost multibootusb]$ du -h ../Downloads/distros/Mageia-4-LiveDVD-KDE4-x86_64-DVD.iso 1.5G ../Downloads/distros/Mageia-4-LiveDVD-KDE4-x86_64-DVD.iso [sundar@localhost multibootusb]$
[sundar@localhost multibootusb]$ rm -r ./test/* [sundar@localhost multibootusb]$ ls ./test [sundar@localhost multibootusb]$ time ./isodump.py iso:/ -r -o ./test ../Downloads/distros/Mageia-4-LiveDVD-KDE4-x86_64-DVD.iso RRIP: rrip_offset 0 write file (./test/boot/cdrom/initrd.gz) . . write file (./test/loopbacks/distrib-lzma.sqfs) write_dir(/)->(./test)
real 1m2.642s user 0m3.781s sys 0m4.299s [sundar@localhost multibootusb]$ rm -r ./test/* [sundar@localhost multibootusb]$ ls ./test [sundar@localhost multibootusb]$ time ./tools/7zip/linux/7z x ../Downloads/distros/Mageia-4-LiveDVD-KDE4-x86_64-DVD.iso -y -o./test
7-Zip 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)
Processing archive: ../Downloads/distros/Mageia-4-LiveDVD-KDE4-x86_64-DVD.iso
Extracting EFI Extracting EFI/boot . . Extracting loopbacks Extracting loopbacks/distrib-lzma.sqfs Extracting [BOOT]/Bootable_NoEmulation.img
Everything is Ok
Folders: 9 Files: 112 Size: 1599796418 Compressed: 1600126976
real 1m2.755s user 0m0.072s sys 0m3.362s [sundar@localhost multibootusb]$
So 1m2.642s != 1m2.755s.
On other ISO files, I did not find any major time difference between your script and 7zip. It is more or less same. However, it would be easier to integrate your module in to python script. Also, it reduces few MB on final executable. More specifically:- [sundar@localhost multibootusb]$ du -h ./tools/7zip/linux/ 3.3M ./tools/7zip/linux/
Here is another reason why I came here for the help:- [sundar@localhost multibootusb]$ file ../../../media/Debian/home/sundar/openSUSE-13.1-KDE-Live-x86_64.iso ../../../media/Debian/home/sundar/openSUSE-13.1-KDE-Live-x86_64.iso: ISO 9660 CD-ROM filesystem data 'openSUSE 13.1 KDE Live ' (bootable) [sundar@localhost multibootusb]$ [sundar@localhost multibootusb]$ time ./isodump.py iso:/ -r -o ./test ../../../media/Debian/home/sundar/openSUSE-13.1-KDE-Live-x86_64.iso . . write file (./test/boot/grub2-efi/x86_64-efi/efinet.module) write file (./test/boot/grub2-efi/x86_64-efi/efinet.mod) write file (./test/boot/grub2-efi/x86_64-efi/efi_gop.module) write file (./test/boot/grub2-efi/x86_64-efi/efi_gop.mod) write file (./test/boot/grub2-efi/x86_64-efi/efi_uga.module) write file (./test/boot/grub2-efi/x86_64-efi/efi_uga.mod) write file (./test/boot/grub2-efi/x86_64-efi/ehci.module) write file (./test/boot/grub2-efi/x86_64-efi/ehci.mod) write file (./test/boot/grub2-efi/x86_64-efi/elf.mod) write file (./test/boot/grub2-efi/x86_64-efi/elf.module) write file (./test/boot/grub2-efi/x86_64-efi/eval.module) write file (./test/boot/grub2-efi/x86_64-efi/eval.mod) write file (./test/boot/grub2-efi/x86_64-efi/exfat.mod) write file (./test/boot/grub2-efi/x86_64-efi/exfat.module) write file (./test/boot/grub2-efi/x86_64-efi/exfctest.module) write file (./test/boot/grub2-efi/x86_64-efi/exfctest.mod) write file (./test/boot/grub2-efi/x86_64-efi/ext2.module) write file (./test/boot/grub2-efi/x86_64-efi/ext2.mod) write file (./test/boot/grub2-efi/x86_64-efi/extcmd.mod) write file (./test/boot/grub2-efi/x86_64-efi/extcmd.module) write file (./test/boot/grub2-efi/x86_64-efi/fat.module) write file (./test/boot/grub2-efi/x86_64-efi/fat.mod) . . Basically I could extract files out of latest openSuse ISO. But 7zip could not do the same. Here is the result:- [sundar@localhost multibootusb]$ time ./tools/7zip/linux/7z x ../../../media/Debian/home/sundar/openSUSE-13.1-KDE-Live-x86_64.iso -y -o./test
7-Zip 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)
Processing archive: ../../../media/Debian/home/sundar/openSUSE-13.1-KDE-Live-x86_64.iso
Extracting 0.img Extracting 1.img
Everything is Ok
Files: 2 Size: 985667584 Compressed: 987758592
real 0m36.876s user 0m0.086s sys 0m2.014s [sundar@localhost multibootusb]$
Therefore, your script is again performed much better that 7zip.
You said that " Currently, only support regular files, Non-regular files(like device file) can't been extracted.". But I need to check this out with various linux ISO's to make sure that it does not affect boot process.
I would work on this feature later if this script can meet your need.
It is time to integrate your script to multibootusb. Oops, you have not mentioned about licence.
I personally feel that you need to amend your script command line argument to make it simple. I will post on this later.
Thank you for for the work you have done. :+1: Thanks. It's a open source code. GPL, BSD Licences will do.
Reply to this email directly or view it on GitHub: https://github.com/kartorz/utils/issues/1#issuecomment-36701797
Regards
I got this idea and will do it right now, It's just a little code work.
On 03/05/2014 10:14 AM, multibootusb wrote:
"I got this." Does it meant that you have this feature already or got this idea?
Reply to this email directly or view it on GitHub: https://github.com/kartorz/utils/issues/1#issuecomment-36703270
Regards
On 03/05/2014 10:03 AM, multibootusb wrote:
Another feature request.
Is it possible to extract specific file type? For example if I specify .cfg, script should extract all files ending with ".cfg" to local directory. Or if I specify "boot" (which can be file or directory), script should extract all files/ directory named "boot" to local directory. It is an another mandatory requirement to get rid of 7zip as multibootusb extracts .cfg files for identifying distro type and later extracts only certain directory (like "boot") on certain distros. I have finished this feature by append a option -p for Regular Expression Operations. Here are the usage: ./isodump.py iso:/ -r -o /xx -p "cfg" xx.iso
It seems "*.cfg" is not a right expression. You can use "cfg"
instead, or write a accurate expression.
More detail about Regular Expression Operations in python, please
refer this page: http://docs.python.org/2/library/re.html#re.compile
Reply to this email directly or view it on GitHub: https://github.com/kartorz/utils/issues/1#issuecomment-36702737
Regards
Great. Will check it out when I get time.
Tested the script and working very well. The regular expression option is not even supported in 7zip. Excellent. Thank you again. :+1:
How about testing the integrity of an ISO? This will help multibootusb to identify if downloaded ISO is not corrupted. I use "t" option from 7zip to check this feature as of now.
I think I am pushing you too much :-(
I know it is a dump question. But how do I call your script function from multibootusb? Here is what I tried:- import isodump iso_file = "aTinyCore-4.3.iso" out_dir = "test" r=True pattern="" isodump.write_dir(iso_file, out_dir, r, pattern) # need to extract iso file to destination directory. print isodump.dump_dir(iso_file, r=True) # even dumping dir also not executed. Prints None
Some example on calling isodump function from other script would be of great help.
On 03/06/2014 08:45 AM, multibootusb wrote:
Tested the script and working very well. The regular expression option is not even supported in 7zip. Excellent. Thank you again. :+1:
How about testing the integrity of an ISO? This will help multibootusb to identify if downloaded ISO is not corrupted. I use "t" option from 7zip to check this feature as of now.
I think I am pushing you too much :-(
Reply to this email directly or view it on GitHub: https://github.com/kartorz/utils/issues/1#issuecomment-36813183 Thanks. I will do it in the future.
Regards
Hi,
I have commited a new change to fix this.
You can use either main() or extract_directory()
Here is the usage:
/
// import isodump//
////
// argv = ["isodump.py", "iso:/", "-r", "-o", "/tmp/iso", "xx.iso"]//
// isodump.main(argv)//
// or //
// isodump.extract_directory("iso:/", "/tmp/iso", "xx.iso", "bin")/
-- "bin" is a Regular Expression Pattern. default is "".
/ isodump.extract_directory("iso:/", "/tmp/iso", "xx.iso")/
On 03/06/2014 09:14 AM, multibootusb wrote:
I know it is a dump question. But how do I call your script function from multibootusb? Here is what I tried:- import isodump iso_file = "aTinyCore-4.3.iso" out_dir = "test" r=True pattern="" isodump.write_dir(iso_file, out_dir, r, pattern) # need to extract iso file to destination directory. print isodump.dump_dir(iso_file, r=True) # even dumping dir also not executed. Prints None
Some example on calling isodump function from other script would be of great help.
Reply to this email directly or view it on GitHub: https://github.com/kartorz/utils/issues/1#issuecomment-36814937
Regards
Great again. Will report feedback later.
Tested the latest script. Works well as expected :+1: Closing the issue now as it is getting difficult to scroll down in my phone. However, opening another one. :-)
Nice tool. I am looking for a python script which can extracts files out of iso container. It seems like your script can do that (of course with little modification.) Is it possible to extend the functionallity of the script to extract files as well? with command line switch somthing like this: isodump [switch] [iso file] or isodump [iso file] [switch]