이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 명령 virt-inspector입니다.
프로그램:
이름
virt-inspector - 가상 시스템에 대한 운영 체제 버전 및 기타 정보를 표시합니다.
기계
개요
virt-inspector [--옵션] -d domname
virt-inspector [--옵션] -a disk.img [-a disk.img ...]
구식:
virt-inspector 돔 이름
가상 검사기 disk.img [disk.img ...]
기술
가상 검사관 가상 머신 또는 디스크 이미지를 검사하고 버전 확인을 시도합니다.
운영 체제 및 가상 머신에 대한 기타 정보.
Virt-inspector는 다른 프로그램에 공급하기 위한 XML 출력을 생성합니다.
일반적인 사용법에서는 "virt-inspector -d domname"을 사용하십시오. 여기서 "domname"은 libvirt 도메인입니다.
(참조: "virsh 목록 --all").
단일 가상 머신의 디스크 이미지에서 직접 virt-inspector를 실행할 수도 있습니다.
"virt-inspector -a disk.img"를 사용하십시오. 드문 경우지만 도메인에 여러 블록 장치가 있습니다.
몇 가지를 나열해야 하는 경우 -a 첫 번째 옵션을 차례로
손님에 해당하는 / 개발자 / SDA, 손님의 두 번째 / dev / sdb 등등.
설치 디스크, 라이브 CD, 부팅 가능한 USB 키 등에서 virt-inspector를 실행할 수도 있습니다.
Virt-inspector는 다음에 대해서만 검사하고 보고할 수 있습니다. 한 도메인 at a 시간. 여러 가지를 검사하기 위해
가상 머신을 사용하려면 virt-inspector를 여러 번 실행해야 합니다(예: 셸에서
스크립트 for-loop).
virt-inspector는 게스트 이미지에 직접 액세스해야 하므로 정상적으로 작동하지 않습니다.
원격 libvirt 연결.
virt-inspector에서 사용할 수 있는 모든 정보는 코어를 통해서도 사용할 수 있습니다.
libguestfs 검사 API("INSPECTION" 참조 손님(삼)). 같은 정보도 가능
guestfish를 사용하거나 많은 프로그래밍 언어에서 libguestfs 바인딩을 통해 가져올 수 있습니다.
"LIBGUESTFS API에서 검사 데이터 가져오기").
옵션
--도움
간단한 도움말을 표시합니다.
-a 파일
--추가하다 파일
추가 파일 가상 머신의 디스크 이미지여야 합니다. 가상 머신의 경우
블록 장치가 여러 개이므로 모든 장치에 별도의 블록 장치를 제공해야 합니다. -a 옵션을 제공합니다.
디스크 이미지의 형식이 자동으로 감지됩니다. 이것을 무시하고 강제로
특정 형식 사용 --형식=.. 옵션을 선택합니다.
-a URI
--추가하다 URI
원격 디스크를 추가합니다. 의 "원격 저장소 추가"를 참조하십시오. 게스트 피쉬(1).
-c URI
--연결하다 URI
libvirt를 사용하는 경우 지정된 URI. 생략하면 다음으로 연결됩니다.
기본 libvirt 하이퍼바이저.
Libvirt는 명령줄에서 "domname"을 지정하는 경우에만 사용됩니다. 지정하는 경우
게스트 블록 장치 직접(-a), libvirt는 전혀 사용되지 않습니다.
-d 손님
--도메인 손님
명명된 libvirt 게스트에서 모든 디스크를 추가합니다. 대신 도메인 UUID를 사용할 수 있습니다.
이름.
--에코 키
키와 암호를 묻는 메시지가 표시되면 virt-inspector는 일반적으로 에코를 끕니다.
당신은 당신이 입력하는 것을 볼 수 없습니다. Tempest 공격과
방에 다른 사람이 없습니다. 이 플래그를 지정하여 입력 중인 내용을 볼 수 있습니다.
--format=원시|qcow2|..
--체재
명령줄에 제공된 디스크 이미지 형식을 지정합니다. 이것을 생략하면
형식은 디스크 이미지의 내용에서 자동으로 감지됩니다.
디스크 이미지가 libvirt에서 요청되면 이 프로그램은 libvirt에 이를 요청합니다.
정보. 이 경우 형식 매개변수의 값은 무시됩니다.
신뢰할 수 없는 원시 형식 게스트 디스크 이미지로 작업하는 경우 형식을 확인해야 합니다.
항상 지정됩니다.
--표준 입력에서 키
stdin에서 키 또는 패스프레이즈 매개변수를 읽습니다. 기본값은 읽기를 시도하는 것입니다.
열어서 사용자의 암호 /dev/tty.
-v
--말 수가 많은
디버깅을 위해 자세한 메시지를 활성화합니다.
-V
--번역
버전 번호를 표시하고 종료합니다.
-x libguestfs API 호출 추적을 활성화합니다.
--x경로 질문
stdin의 XML에 대해 XPath 쿼리를 수행하고 결과를 stdout에 인쇄합니다. 이에
virt-inspector 모드는 단순히 XPath 쿼리를 실행합니다. 다른 모든 검사 기능은
장애가있는. 몇 가지 예는 아래의 "XPATH 쿼리"를 참조하십시오.
구식 COMMAND LINE 인수
이전 버전의 virt-inspector에서는 다음 중 하나를 작성할 수 있었습니다.
가상 검사기 disk.img [disk.img ...]
or
virt-inspector 게스트 이름
이 버전에서는 다음을 사용해야 합니다. -a or -d 혼란스러운 경우를 피하기 위해 각각
여기서 디스크 이미지는 게스트와 동일한 이름을 가질 수 있습니다.
호환성을 위해 이전 스타일이 계속 지원됩니다.
XML FORMAT
virt-inspector XML은 RELAX NG 스키마 파일에 정확하게 설명되어 있습니다. virt-inspector.rng
libguestfs와 함께 제공됩니다. 이 섹션은 단지 개요입니다.
최상위 요소는 , 그리고 그것은 하나 이상의
집단. 당신은 단지 하나 이상을 볼 것입니다 가상인 경우 요소
머신은 멀티 부팅이며, 실제 VM에서는 거의 찾아볼 수 없습니다.
에서 태그는 작동을 설명하는 다양한 선택 필드입니다.
시스템, 아키텍처, 설명적인 "제품 이름" 문자열, OS 유형 등
이 예에서와 같이:
/dev/sda2/ 루트>
창문
i386
창문
윈도우 7 엔터프라이즈
고객
6
1
/윈도우
설치된
간단히 말해서, 운영 체제의 클래스("linux" 또는 "windows"와 같은 것)입니다.
배포판(예: "fedora"이지만 다른 많은 배포판은 인식됨)이며
게스트 아키텍처입니다. 다른 분야는 꽤 자명하지만
이 필드는 찾을 수 있는 libguestfs 검사 API에서 직접 가져오기 때문에
"INSPECTION"의 정확한 정보 손님(3).
NS element는 루트 파일 시스템 장치이지만 libguestfs의 관점에서 보면
(블록 장치는 VM 자체 내에서 완전히 다른 이름을 가질 수 있습니다).
Un*x 계열 게스트는 일반적으로 다양한 위치에 마운트되는 여러 파일 시스템을 가지고 있습니다.
마운트 지점에 대한 설명이 나와 있습니다. 다음과 같은 요소:
...
/
/신병
와 같은 , 장치는 libguestfs의 관점에서 볼 수 있으며 완전히
손님 내부의 다른 이름. 이 목록에는 마운트 가능한 파일 시스템만 나타납니다.
스왑 장치 같은 것들.
처럼 하지만 커버 모든 게스트에 속한 파일 시스템,
스왑 및 빈 파티션 포함. (드문 멀티 부팅 게스트의 경우,
이 OS에 속하거나 이 OS 및 다른 OS와 공유되는 파일 시스템).
다음과 같은 내용이 표시될 수 있습니다.
...
ext4
페도라-13-x86_64
<uuid>e6a4db1e-15c2-477b-ac2a-699181c396aa</uuid>
내부의 선택적 요소 파일 시스템 유형, 레이블 및
UUID.
관련 요소 , 그리고 설명하다
가상 머신에 설치된 애플리케이션.
, 존재하는 경우 사용된 포장 시스템을 설명합니다. 일반적인 값은
"rpm" 및 "deb"입니다.
, 있는 경우 패키지 관리자를 설명합니다. 일반적인 값은 다음과 같습니다.
"yum", "up2date" 및 "apt"
설치된 패키지 또는 응용 프로그램을 나열합니다.
...
코어 유틸리티
8.5
1
버전 및 릴리스 필드는 일부 게스트 유형에 대해 사용하지 못할 수 있습니다. 기타 필드
가능합니다. "guestfs_inspect_list_applications"를 참조하십시오. 손님(3).
드라이브 문자를 사용하는 Windows와 같은 운영 체제의 경우 virt-inspector는 다음을 찾을 수 있습니다.
드라이브 문자가 파일 시스템에 어떻게 매핑되는지 알아보세요.
...
/dev/sda2
/dev/sdb1
위의 예에서 C 드라이브는 첫 번째 파티션의 두 번째 파티션에 있는 파일 시스템에 매핑됩니다.
디스크 및 드라이브 E는 두 번째 디스크의 첫 번째 파티션에 있는 파일 시스템에 매핑됩니다.
이것은 네트워크와 같은 것이 아니라 영구적인 로컬 파일 시스템 매핑에만 적용된다는 점에 유의하십시오.
주식. 또한 NTFS 볼륨 탑재 지점은 여기에 나열되지 않을 수 있습니다.
Virt-inspector는 때때로 게스트의 아이콘이나 로고를 추출할 수 있습니다. 아이콘은
base64로 인코딩된 PNG 데이터로 반환됩니다. 아이콘이 매우 크고 높을 수 있습니다.
품질.
...
iVBORw0KGgoAAAANSUhEUgAAAGAAAABg[......]
[... 여러 줄의 base64 데이터 ...]
아이콘을 표시하려면 아이콘을 추출하고 base64 데이터를 다시 바이너리로 변환해야 합니다.
파일. XPath 쿼리 또는 단순히 편집기를 사용하여 데이터를 추출한 다음 coreutils를 사용합니다.
base64(1) PNG 파일로 다시 변환하는 프로그램:
base64 -i -d < icon.data > icon.png
검사 INSTALL 디스크, LIVE CD를
Virt-inspector는 설치 디스크, 라이브 CD,
부팅 가능한 USB 키 등.
이 경우 태그에는 "설치 프로그램"이 포함되고 다른 필드는
라이브 CD, 네트워크 설치 프로그램 또는 멀티파트 CD의 한 부분을 나타냅니다. 예를 들어:
/dev/sda/ 루트>
리눅스
i386
우분투
우분투 10.10 "매버릭 미어캣"
10
10
설치 프로그램
XPATH 질문
Virt-inspector에는 XPath 쿼리 실행을 위한 내장 지원이 포함되어 있습니다. 대한 이유
virt-inspector에 직접 XPath 지원을 포함하는 것은 단순히
XPath 쿼리를 수행할 수 있는 널리 사용 가능한 명령줄 프로그램. 유일한 좋은 것은
xmlstarlet(1) Red Hat Enterprise Linux에서는 사용할 수 없습니다.
XPath 쿼리를 수행하려면 --x경로 옵션. 이 모드에서 virt-inspector는
stdin에서 XML을 읽고 쿼리 결과를 stdout에 출력합니다. 기타 모든 검사
이 모드에서는 기능이 비활성화됩니다.
예 :
$ virt-inspector -d 게스트 | virt-inspector --xpath '//파일 시스템'
ext4
[...]
$ virt-inspector -d 게스트 |
virt-inspector --xpath "문자열(//파일 시스템[@dev='/dev/sda1']/유형)"
ext4
$ virt-inspector -d 게스트 |
virt-inspector --xpath '문자열(//아이콘)' | base64 -i -d | 표시하다 -
[손님 아이콘이 있는 경우 표시]
시작하기 검사 데이터 FROM L' LIBGUESTFS API
libguestfs의 초기 버전에서 virt-inspector는 다음을 포함하는 대규모 Perl 스크립트였습니다.
손님을 검사하기 위한 많은 휴리스틱. 여기에는 몇 가지 문제가 있었습니다.
다른 도구(예: guestfish)의 검사는 이 Perl 스크립트를 호출해야 했습니다. 그리고
libguestfs가 지원하는 다른 언어보다 Perl에 특권을 부여했습니다.
libguestfs 1.8에 의해 우리는 C로 Perl 코드를 재작성했고 모든 것을
핵심 libguestfs API(손님(삼)). 이제 virt-inspector는 단순히
핵심 C API. 모든 검사 정보는 모든 프로그래밍 언어에서 사용할 수 있습니다.
libguestfs가 지원하고 guestfish에서.
C 검사 API에 대한 설명은 "INSPECTION"을 참조하십시오. 손님(3).
예를 들어 C 검사 API를 사용하는 코드는 다음을 찾습니다. 검사-vm.c 함께 배송되는
libguestfs.
검사-vm.c 다른 언어로도 번역되었습니다. 예를 들어, 검사_vm.pl is
Perl 번역, OCaml, Python 등에 대한 다른 번역이 있습니다. "사용
다른 프로그래밍 언어가 있는 LIBGUESTFS" 손님(3) 매뉴얼 페이지 목록의 경우
이 예제 코드를 포함합니다.
시작하기 검사 데이터 FROM 게스트피쉬
게스트피쉬를 이용하시면 -i 옵션을 선택한 다음 기본 C 검사 API "guestfs_inspect_os"
손님(3)이 호출됩니다. 이것은 guestfish 명령 "inspect-os"와 동일합니다. 당신은 할 수 있습니다
또한 이 guestfish 명령을 직접 호출합니다.
"inspect-os"는 현재 디스크 이미지에 대한 검사를 수행하여 다음 목록을 반환합니다.
운영 체제를 찾았습니다. 각 OS는 루트 파일 시스템 장치로 표시됩니다. 에서
대부분의 경우 이 명령은 아무 것도 인쇄하지 않거나(OS를 찾을 수 없음) 단일 루트 장치를 인쇄합니다.
그러나 여러 OS가 있거나
게스트에 첨부된 CD를 설치합니다.
$ guestfish --ro -a F15x32.img
> 운영
> 검사-OS
/dev/vg_f15x32/lv_root
루트 장치를 사용하여 게스트에 대한 추가 정보를 가져올 수 있습니다.
> inspect-get-type /dev/vg_f15x32/lv_root
리눅스
> inspect-get-distro /dev/vg_f15x32/lv_root
중절모
> inspect-get-major-version /dev/vg_f15x32/lv_root
15
> inspect-get-product-name /dev/vg_f15x32/lv_root
Fedora 릴리스 15(Lovelock)
guestfish의 한계로 인해 루트 장치를 변수에 할당하기가 어렵습니다.
guestfish에는 변수가 없음), 따라서 이것을 재현 가능하게 하려면 더 좋습니다.
libguestfs API가 지원하는 다른 언어 중 하나를 사용하여 스크립트를 작성하지 마십시오.
애플리케이션을 나열하려면 먼저 디스크를 마운트해야 합니다.
> inspect-get-mountpoints /dev/vg_f15x32/lv_root
/: /dev/vg_f15x32/lv_root
/신병: /dev/vda1
> 마운트로 /dev/vg_f15x32/lv_root /
> 마운트로 /dev/vda1 /신병
그런 다음 inspect-list-applications API를 호출합니다.
> 검사 목록 응용 프로그램 /dev/vg_f15x32/lv_root | 머리 -28
[0] = {
app_name: 콘솔킷
앱_디스플레이_이름:
app_epoch: 0
앱 버전: 0.4.5
app_release: 1.fc15
앱_설치_경로:
앱_트랜스_경로:
앱_게시자:
앱_URL:
앱_소스_패키지:
앱_요약:
앱 설명:
}
[1] = {
app_name: ConsoleKit-libs
앱_디스플레이_이름:
app_epoch: 0
앱 버전: 0.4.5
app_release: 1.fc15
앱_설치_경로:
앱_트랜스_경로:
앱_게시자:
앱_URL:
앱_소스_패키지:
앱_요약:
앱 설명:
}
게스트 아이콘을 표시하려면 파일 시스템도 위와 같이 마운트해야 합니다.
그런 다음 다음을 수행 할 수 있습니다.
> inspect-get-icon /dev/vg_f15x32/lv_root | 표시하다 -
과거 버전 OF VIRT-인스펙터
위에서 설명한 것처럼 libguestfs의 초기 버전은 다른 virt-inspector와 함께 제공됩니다.
Perl로 작성된 프로그램(현재 버전은 C로 작성됨). Perl의 XML 출력
virt-inspector는 다르며 텍스트와 같은 다른 형식으로도 출력할 수 있습니다.
이전 virt-inspector는 더 이상 지원되지 않거나 libguestfs와 함께 제공되지 않습니다.
문제를 더 혼란스럽게 하기 위해 Red Hat Enterprise Linux 6에서는 두 가지 버전의 virt-
다른 이름을 가진 관리자:
virt-inspector 이전 Perl 버전.
virt-inspector2 새로운 C 버전.
EXIT 지위
이 프로그램은 성공하면 0을 반환하고 오류가 있으면 XNUMX이 아닌 값을 반환합니다.
onworks.net 서비스를 사용하여 virt-inspector 온라인 사용