Libguestfs

libguestfs
개발자리처드 존스
발표일2009년 4월 4일(17년 전)(2009-04-04)
안정화 버전
1.58.1 / 2026년 1월 19일(9개월 전)(2026-01-19)
프로그래밍 언어C; 유틸리티는 OCaml, 펄, 기타
운영 체제리눅스
종류가상화
라이선스LGPL, GPL
웹사이트libguestfs.org

libguestfs는 플랫폼 가상화에 사용되는 가상 디스크 이미지에 접근하고 수정하기 위한 C 라이브러리이자 도구 모음이다. 이 도구들은 Libvirt로 관리되는 가상 머신(VM) 및 VM 내부의 파일을 보고 편집하거나, VM 변경 사항을 스크립트로 작성하고, VM을 생성하는 등 다양한 작업에 사용할 수 있다. 이 소프트웨어는 가상 디스크 이미지를 호스트 시스템에 직접 마운트할 때 발생하는 보안 문제를 방지하기 위해 만들어졌다.

libguestfs는 알려진 모든 종류의 리눅스 파일 시스템(ext2/3/4, XFS, btrfs 등), 윈도우 파일 시스템(파일 할당 테이블 및 NTFS), Mac OS X 및 BSD 파일 시스템, LVM2 볼륨 관리, MBR 및 GPT 디스크 파티션, 로우 디스크, qcow2, 버추얼박스 VDI, VMWare VMDK, 하이퍼-V VHD/VHDX를 비롯하여 파일, 로컬 장치, CD 및 DVD ISO, SD 카드, 또는 FTP, HTTP, SSH, ISCSI, NBD, GlusterFS, Ceph, Sheepdog 등을 통해 원격으로 거의 모든 유형의 파일 시스템에 접근할 수 있다. libguestfs는 루트 권한을 요구하지 않는다.

libguestfs를 위한 C API는 C 및 C++ 프로그램과 연결될 수 있다. 또한 펄, 파이썬, 루비, 러스트, 자바, OCaml, PHP, 하스켈, 얼랭, 루아, Golang 및 C#에 대한 공식 바인딩을 제공한다.

libguestfs는 셸 스크립트나 명령줄에서 사용할 수 있는 명령줄 프로그램을 포함한다. 상호작용 방식으로 사용할 수 있는 두 개의 자체 "셸"이 있는데, 일반적인 작업을 위한 guestfish와 부팅이 불가능한 가상 머신을 복구하기 위한 virt-rescue가 있다. virt-cat 및 virt-tar와 같이 일반적인 유닉스 명령어를 모델로 한 다수의 도구를 사용할 수 있다. FUSE 모듈을 통해 게스트 파일 시스템을 guestmount 명령어로 호스트에 마운트할 수 있다.

libguestfs는 가상 머신 내에서 어플라이언스(소규모 리눅스 배포판)를 실행하는 방식으로 일부 작동한다. 이는 QEMU 또는 Libvirt를 통해 수행할 수 있다. 이 두 가지는 TCG(소프트웨어 에뮬레이션) 또는 KVM(하드웨어 가속)을 사용할 수 있다.

구조

libguestfs는 더 큰 libguestfs 프로젝트의 일부일 뿐이다. 다음 각각은 별도의 소스 코드 아카이브(타볼)이다:

이 구성 요소 중 일부(NBD 관련 및 hivex)는 libguestfs의 특정 기능을 구현하는 데 필요하기 때문에 libguestfs 작성자가 별도로 만들었지만, 이미지 처리 기능과 독립적으로 사용할 수도 있다. 다른 것들은 libguestfs를 기반으로 구축되지만 원래 범위를 넘어선 도구들이다.

Hivex

Hivex는 윈도우 레지스트리 하이브(Hive) 파일을 읽고 쓰기 위해 작성자들이 만든 C 라이브러리이다. 이 파일들을 처리하기 위한 여러 콘솔 프로그램이 함께 제공된다. Hivex 자체는 가상 머신 이미지를 다루지 않는다. VM 이미지의 파일을 편집하기 위해 libguestfs는 "virt-win-reg"라는 프로그램을 제공한다.

같이 보기

각주

외부 링크