반응형
부제: libguestfs를 직접 부리는 대화식 파일시스템 셸
# 읽기 전용으로 이미지를 열고 대화식 셸 진입
guestfish --ro -a disk.qcow2
# 비대화식으로 명령만 실행
guestfish --ro -a disk.qcow2 run : list-filesystems
><fs> run
><fs> list-filesystems
/dev/sda1: xfs
><fs> mount-ro /dev/sda1 /
><fs> cat /etc/hostname
renamed-vm
><fs> ll /var/log
total 4
drwxr-xr-x 2 root root 21 Jul 16 15:00 .
drwxr-xr-x 3 root root 17 Jul 16 15:00 ..
-rw-r--r-- 1 root root 17 Jul 16 15:00 app.logvirt-cat·virt-ls·virt-edit 같은 도구가 각각 한 가지 일만 한다면, guestfish는 그 밑에 깔린 libguestfs API를 직접 두드리는 대화식 셸이다. run으로 백엔드 어플라이언스를 띄우고 mount로 파일시스템을 붙인 뒤 cat·ll·write·part-disk·mkfs 등 수백 개 명령을 순서대로 친다. 새 이미지를 파티셔닝해 파일시스템을 만드는 것부터 복구까지, 다른 virt 도구로 안 되는 세밀한 작업은 결국 여기로 온다. 진단은 항상 --ro(읽기 전용)로 열어 이미지를 보호한다. 데비안에도 있지만 RHEL virt 스택 기본이다.
이렇게도 쓴다
읽기 전용으로 열고 파일시스템 목록을 본다.
guestfish --ro -a disk.qcow2 run : list-filesystems
OS를 자동 인식해 마운트까지 마친 상태로 진입한다. (-i)
guestfish --ro -a guest.qcow2 -i
한 줄로 파일 내용을 뽑는다. (비대화식 -c)
guestfish --ro -a guest.qcow2 -i cat /etc/redhat-release
빈 이미지를 파티셔닝하고 XFS로 포맷한다. (heredoc 조합)
guestfish -a new.qcow2 <<'EOF'
run
part-disk /dev/sda mbr
mkfs xfs /dev/sda1
EOF
호스트 파일을 이미지 안으로 복사해 넣는다.
guestfish -a guest.qcow2 -i copy-in ./app.conf /etc
이미지 안 파일을 호스트로 꺼낸다. (download)
guestfish --ro -a guest.qcow2 -i download /var/log/messages ./messages.log반응형
'명령어 > Linux' 카테고리의 다른 글
| [RHEL] installkernel 커널 이미지를 부트로더에 설치 (0) | 2026.08.04 |
|---|---|
| [RHEL] guestmount VM 디스크를 FUSE로 마운트 (0) | 2026.08.04 |
| [RHEL] grubby 커널 부트 항목 관리 (0) | 2026.08.04 |
| [RHEL] grub2-switch-to-blscfg BLS 부트 설정으로 전환 (0) | 2026.08.04 |
| [RHEL] grub2-set-default 기본 부팅 항목 지정 (0) | 2026.08.04 |