Mount and Extract files from images

  • Would like to have a way to mount images on the servers automatically without needing to run the following commands.

    apt-get install ntfs-3g partclone pigz
    cd /images/IMAGENAME/
    cat d1p2.img | pigz -d -c | partclone.restore -C -s - -O d1p2_extracted.img
    mount -t ntfs-3g d1p2_extracted.img /mnt

  • @george1421 @Wayne-Workman

    I have tested using the Partclone Zstd image compression method on an image under Centos 7 and was able to get it working with one small thing. I had to download ZSTD as it wasn’t native to the base OS.

    yum install zstd -y

    I was then able to extract and mount the image using the commands

    touch /tmp/d1p2_extracted.img
    cat d1p2.img | zstd -dcf | partclone.restore -C -s - -O /tmp/d1p2_extracted.img
    mount -t ntfs-3g /tmp/d1p2_extracted.img /mnt/

    I also added the -f flag to zstd to force it. I don’t think this is necessary, but as a testing scenario it worked.

  • @george1421

    I will look into modifying those instructions to work with the new compression method. Not sure when I will get that accomplished, but I am sure I can get it done within the next little bit. Thanks for letting me know.

  • Moderator

    @BedCruncher This is only an FYI note for those who may find this thread in the future.
    The developers have added a new and faster compression/decompression tool in the current release of fog (1.3.5 and later). This is the zstd compression tool instead of the pigz tool. You just have to be aware of this. The zstd tool should read pigz compressed files no problem. But pigz can not read zstd compressed files.

  • @Wayne-Workman

    In my case I actually did the following so that I didn’t mess up the working directory or it’s file contents

    touch /tmp/d1p2_extracted.img
    cat d1p2.img | pigz -d -c | partclone.restore -C -s - -O /tmp/d1p2_extracted.img
    mount -t ntfs-3g /tmp/d1p2_extracted.img /mnt

    just dumped it to /tmp so that it would be deleted during normal system processes and not fill up my images directory with double images.

  • #wiki worthy because this has use cases. All the components needed are in this thread - but I’ll approach it from a workstation perspective - don’t want to monkey around too much on potentially a production fog server.

  • Moderator

    @BedCruncher Very interesting…

    Thank you for the additional clarity on making this work smoothly.

  • @Sebastian-Roth @Wayne-Workman @Junkhacker @george1421 @x23piracy @pr1m0

    Sorry to dredge up an old topic, but I went back and tried to redo the steps that I had originally done to restore an image using purely the server. While the steps I listed will work, I did originally mention it, but didn’t specifically include the steps to restore the image on the server. Here is the current working 100% steps to make this all work properly.

    Without the touch command below it will error out. So otherwise this works as expected.

    cd /images/IMAGENAME/
    touch d1p2_extracted.img
    cat d1p2.img | pigz -d -c | partclone.restore -C -s - -O d1p2_extracted.img
    mount -t ntfs-3g d1p2_extracted.img /mnt
  • Moderator

    @pr1m0 Thank’s a lot for getting in touch here! The images I used back then where created using partclone 0.2.88 or maybe 0.2.80. Unfortunately I do not have much time these days to do some extensive testing. Hope this information can help in getting this to work for BedChruncher…

  • @pr1m0
    I haven’t tried that sadly. All of the times I’ve had to get files out of images, it’s not been too much of a hassle. Although I would be open to trying it if you might could provide some pointers on getting it going in Centos 7.

  • Hi, I’m partclone-nbd developer. I know this thread is quite old, but maybe I could help (or you could help me in solving some issues :)). I used partclone-nbd to read several ext4 images, and I’ve never experienced any problems.

    Furthermore, it is strange that you have to change the code. Defining the loop counter inside the for loop is a C99 extension, and CMakeLists.txt states clearly:

    set( CMAKE_C_STANDARD 99 )

    @Sebastian-Roth It would be amazing if you could tell me which version of partclone was used to create dummy images. Or maybe you could share those dummy test images?

    @BedCruncher Have you already tried partclone-nbd?

  • @Sebastian-Roth
    No worries there. I just knew that you were looking at it some. It’s no biggie. I’ll try to track it down and work with it, but at a slower pace, don’t want to roll something like that out and possibly mess up my prod server. Thanks for all your help with this manner.

  • Moderator

    @BedCruncher You mean partclone-nbd? Well I am actually not very interested in this kind of feature so I didn’t really dig into this. Just tried to help you finding something. Sorry if it sounded like I’d be pushing this. Not saying that we shouldn’t add it but I don’t have the time to do it! Feel free to play with it and let us know if it is working properly.

  • @Sebastian-Roth
    Did you ever get anywhere with the alternate client/project that you were looking at? Just curious.

  • @x23piracy
    Wow, google for the Mangle Translation Win.

  • @BedCruncher ah okay 😉 here is a bad translation from google:

    Probably it works as described , but after studying the manual pages of part clone I recommend rather the following call : sudo partclone.ext4 -r -W -C -L partclone.log -s sda10.ext4 - PTCL img -o sda10.img I call on partclone.ext4 because the developer device itself , no longer partclone.restore to use . After that is " -r " for restore , " -W " for the Create a file that you can embed a loop device ( which is missing in the post completely , I think ) , " C " that the free space is not checked is , " -L partclone.log " for a log file in the current directory , " -s " for the input file ( here, of course - if one of gzip out pipet ) and " -o " for the output file . I found it as easy to strange a directory " / dir " in the root directory to create - why not just a file in loakeln directory , or wherever there is enough space , create ? reply

    Original link:

    Regards X23

  • @x23piracy
    Sorry, I didn’t perhaps explain what I was referencing. I was meaning the comment you had posted prior to this last series of images. The one that was authored by Thorsten F.

  • @BedCruncher it’s just a case study, some photoshopping not an existing option, i just wanted to show what i would expect from that option, for the case it becomes true 😉

    Regards X23

  • @x23piracy
    Where did you find that link? I’d like to run it through a translator to be able to see what it says.

  • Maybe something like that:

    alt text