{"id":582,"date":"2010-12-19T22:32:53","date_gmt":"2010-12-20T04:32:53","guid":{"rendered":"http:\/\/www.ourada.org\/blog\/?p=582"},"modified":"2010-12-19T22:32:53","modified_gmt":"2010-12-20T04:32:53","slug":"libguestfs","status":"publish","type":"post","link":"https:\/\/www.ourada.org\/blog\/archives\/582","title":{"rendered":"libguestfs"},"content":{"rendered":"<p>Hmmm, interesting project: <a href=\"http:\/\/libguestfs.org\/\">libguestfs<\/a>. Back when Windows VMs were more a daily part of my life, I might have really had a use for this; now I&#8217;m just sort of curious about it.<\/p>\n<p>From the description:<\/p>\n<blockquote><p>libguestfs is a set of tools for accessing and modifying virtual machine (VM) disk images&#8230; libguestfs can access nearly any type of filesystem including: all known types of Linux filesystem (ext2\/3\/4, XFS, btrfs etc), any Windows filesystem (VFAT and NTFS), any Mac OS X and BSD filesystems, LVM2 volume management, MBR and GPT disk partitions, raw disks, qcow2, VirtualBox VDI, VMWare VMDK, CD and DVD ISOs, SD cards, and dozens more.<\/p><\/blockquote>\n<p>my first thought was that they had integrated a whole lot of libraries to support reading filesystems from disk images, layered perhaps on top of some libraries to support reading the various disk image formats. But they actually use a sorta more interesting approach: they use qemu to boot a little VM that attaches the target disk image and then acts as a server with which the library communicates to do its things. I assume (haven&#8217;t verified) that the little VM is based on a Linux kernel, for which drivers are available for a lot of that stuff. &#8216;course, depending on how abstract you want to be, you could consider the two approaches to be the same, with different meanings of the term &#8216;libraries&#8217; and different sorts of layering. Anyway, it&#8217;s an approach I&#8217;ll have to keep in the back of my mind in case there are other problems where it can be applied&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hmmm, interesting project: libguestfs. Back when Windows VMs were more a daily part of my life, I might have really had a use for this; now I&#8217;m just sort of curious about it. From the description: libguestfs is a set of tools for accessing and modifying virtual machine (VM) disk images&#8230; libguestfs can access nearly [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-582","post","type-post","status-publish","format-standard","hentry","category-general","author-admin"],"_links":{"self":[{"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/posts\/582","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/comments?post=582"}],"version-history":[{"count":0,"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/posts\/582\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/media?parent=582"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/categories?post=582"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/tags?post=582"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}