virt-edit - 클라우드 온라인

이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 virt-edit 명령입니다.

프로그램:

이름


virt-edit - 가상 머신에서 파일 편집

개요


virt-edit [--옵션] -d domname 파일 [파일 ...]

virt-edit [-옵션] -a disk.img [-a disk.img ...] 파일 [파일 ...]

virt-edit [-d domname|-a disk.img] 파일 -e 'expr'

구식:

virt-edit domname 파일

virt-edit disk.img [disk.img ...] 파일

경고


라이브 가상 머신에서 "virt-edit"를 사용하거나 다른 디스크 편집 도구와 동시에 사용하여
위험할 수 있으며 잠재적으로 디스크 손상을 일으킬 수 있습니다. 가상 머신을 종료해야 합니다.
이 명령을 사용하기 전에 다운해야 하며 디스크 이미지를 동시에 편집하면 안 됩니다.

기술


"virt-edit"는 각 "파일"이 명명된 파일에 존재하는 "파일"을 편집하는 명령줄 도구입니다.
가상 머신(또는 디스크 이미지).

여러 파일 이름을 지정할 수 있으며 이 경우 각각 차례로 편집됩니다. 각
파일 이름은 루트 디렉터리('/'로 시작)에서 시작하는 전체 경로여야 합니다.

파일을 보려면 다음을 사용하십시오. 가상 고양이(1).

더 복잡한 경우에는 다음을 살펴봐야 합니다. 게스트 피쉬(1) 도구("GUESTFISH 사용" 참조
아래).

"virt-edit"는 새 파일을 만드는 데 사용할 수 없습니다. 게스트 피쉬(1) 그 이상을 할 수 있습니다.

사용 예


명명된 파일을 대화식으로 편집합니다.

virt-edit -d mydomain /boot/grub/grub.conf

virt-edit -d 내 도메인 / etc / passwd

Windows 게스트의 경우 일부 Windows 경로가 이해됩니다.

virt-edit -d mywindomain 'c:\autoexec.bat'

Perl이 설치된 경우 파일을 비대화식으로 편집할 수도 있습니다("비대화식" 참조).
EDITING" 참조). 초기 기본 수준을 5로 변경하려면:

virt-edit -d mydomain /etc/inittab -e 's/^id:.*/id:5:initdefault:/'

옵션


--도움
간단한 도움말을 표시합니다.

-a 파일
--추가하다 파일
추가 파일 가상 머신의 디스크 이미지여야 합니다. 가상 머신의 경우
블록 장치가 여러 개이므로 모든 장치에 별도의 블록 장치를 제공해야 합니다. -a 옵션을 제공합니다.

디스크 이미지의 형식이 자동으로 감지됩니다. 이것을 무시하고 강제로
특정 형식 사용 --형식=.. 옵션을 선택합니다.

-a URI
--추가하다 URI
원격 디스크를 추가합니다. 의 "원격 저장소 추가"를 참조하십시오. 게스트 피쉬(1).

-b 확장자
--지원 확장자
원본 파일의 백업 생성 in 전에, 손님 디스크 영상. 백업에는
"확장자"가 추가된 원래 파일 이름입니다.

일반적으로 "확장자"의 첫 번째 문자는 점 "."입니다. 그래서 당신은 쓸 것입니다 :

virt-edit -b .orig [기타]

기본적으로 백업 파일이 만들어지지 않습니다.

-c URI
--연결하다 URI
libvirt를 사용하는 경우 지정된 URI. 생략하면 다음으로 연결됩니다.
기본 libvirt 하이퍼바이저.

게스트 블록 장치를 직접 지정하면 libvirt가 전혀 사용되지 않습니다.

-d 손님
--도메인 손님
명명된 libvirt 게스트에서 모든 디스크를 추가합니다. 대신 도메인 UUID를 사용할 수 있습니다.
이름.

--에코 키
키와 암호 문구를 입력하라는 메시지가 표시되면 virt-edit는 일반적으로 에코를 해제하므로
당신이 입력하는 것을 볼 수 없습니다. Tempest 공격과
방에 다른 사람이 없습니다. 이 플래그를 지정하여 입력 중인 내용을 볼 수 있습니다.

-e 특급
--편집하다 특급
--expr 특급
외부 편집기를 시작하는 대신 비대화식으로 Perl 표현식을 적용합니다.
파일의 각 줄에 "EXPR". 아래의 "비대화식 편집"을 참조하십시오.

표현에 의해 변형되지 않도록 적절히 인용하도록 주의한다.
껍질.

이 옵션은 Perl 5가 설치된 경우에만 사용할 수 있습니다.

--format=원시|qcow2|..
--체재
기본값 -a 옵션은 디스크 이미지의 형식을 자동으로 감지하는 것입니다. 사용
이것은 강제로 디스크 포맷을 -a 명령줄에 이어지는 옵션. 사용
--체재 인수가 없으면 후속 작업을 위해 자동 감지로 다시 전환됩니다. -a 옵션을 제공합니다.

예 :

virt-edit --format=raw -a disk.img 파일

강제로 원시 형식(자동 감지 없음) disk.img.

virt-edit --format=raw -a disk.img --format -a another.img 파일

강제로 원시 형식(자동 감지 없음) disk.img 자동 감지로 되돌아갑니다.
또 다른.img.

신뢰할 수 없는 원시 형식 게스트 디스크 이미지가 있는 경우 이 옵션을 사용하여
디스크 형식을 지정합니다. 이것은 악의적 인 보안 문제를 피할 수 있습니다.
게스트(CVE-2010-3851).

--표준 입력에서 키
stdin에서 키 또는 패스프레이즈 매개변수를 읽습니다. 기본값은 읽기를 시도하는 것입니다.
열어서 사용자의 암호 /dev/tty.

-m 개발[:마운트포인트[:옵션[:fstype]]]
--산 개발[:마운트포인트[:옵션[:fstype]]]
지정된 마운트 지점에 명명된 파티션 또는 논리 볼륨을 마운트합니다.

마운트 지점을 생략하면 기본적으로 /.

마운트 지점을 지정하면 게스트 검사 및 게스트 마운트가 비활성화됩니다.
root 및 모든 마운트 지점이 있으므로 필요한 모든 마운트 지점을 마운트해야 합니다.
인수로 주어진 파일 이름으로 작업합니다.

디스크 이미지에 어떤 파일 시스템이 포함되어 있는지 모르는 경우 guestfish를 실행할 수 있습니다.
이 옵션이 없으면 사용 가능한 파티션, 파일 시스템 및 LV를 나열합니다(참조
"list-partitions", "list-filesystems" 및 "lvs" 명령) 또는 다음을 사용할 수 있습니다.
가상 파일 시스템(1) 프로그램.

마운트 매개변수의 세 번째(거의 사용되지 않음) 부분은 마운트 옵션 목록입니다.
기본 파일 시스템을 마운트하는 데 사용됩니다. 이것이 주어지지 않으면 마운트 옵션이
빈 문자열이거나 "ro"입니다(후자는 --로 플래그가 사용됨). 에 의해
마운트 옵션을 지정하면 이 기본 선택 사항을 재정의합니다. 아마 유일한
이것을 사용하는 시간은 파일 시스템이
그들을 지원할 수 있습니다:

-m /dev/sda1:/:acl,user_xattr

이 플래그를 사용하는 것은 "mount-options" 명령을 사용하는 것과 같습니다.

매개변수의 네 번째 부분은 사용할 파일 시스템 드라이버입니다(예: "ext3" 또는
"ntfs". 이것은 거의 필요하지 않지만 여러 드라이버가 유효한 경우 유용할 수 있습니다.
파일 시스템(예: "ext2" 및 "ext3") 또는 libguestfs가 파일 시스템을 잘못 식별하는 경우.

-v
--말 수가 많은
디버깅을 위해 자세한 메시지를 활성화합니다.

-V
--번역
버전 번호를 표시하고 종료합니다.

-x libguestfs API 호출 추적을 활성화합니다.

구식 COMMAND LINE 인수


이전 버전의 virt-edit에서는 다음 중 하나를 작성할 수 있었습니다.

virt-edit disk.img [disk.img ...] 파일

or

virt-edit 게스트 이름 파일

이 버전에서는 다음을 사용해야 합니다. -a or -d 혼란스러운 경우를 피하기 위해 각각
여기서 디스크 이미지는 게스트와 동일한 이름을 가질 수 있습니다.

호환성을 위해 이전 스타일이 계속 지원됩니다.

비대화형 편집


"virt-edit"는 일반적으로 $EDITOR(또는 vi)를 호출하므로 시스템 관리자는
대화식으로 파일을 편집합니다.

자동 편집을 위해 스크립트에서 "virt-edit"를 사용하는 두 가지 방법도 있습니다.
파일에. (비록 당신이 이와 같이 "virt-edit"를 사용하면 오류가 덜 발생합니다.
구성 파일에 대해 libguestfs API 및 Augeas를 사용하여 직접 스크립트 작성
편집.)

첫 번째 방법은 임시로 $EDITOR를 실행하려는 스크립트나 프로그램으로 설정하는 것입니다.
스크립트는 "$EDITOR tmpfile"로 호출되며 "tmpfile"을 제자리에서 업데이트해야 합니다.
그것은 좋아한다.

두 번째 방법은 다음을 사용하는 것입니다. -e 짧은 Perl 스니펫을 실행하기 위한 "virt-edit"의 매개변수
스타일 SED(1). 예를 들어 파일에서 "foo"의 모든 인스턴스를 "bar"로 바꾸려면:

virt-edit -d domname 파일 이름 -e 's/foo/bar/'

Perl 정규식의 모든 기능을 사용할 수 있습니다(참조 Perlre(1)). 예를 들어
다음과 같이 루트의 비밀번호를 삭제할 수 있습니다.

virt-edit -d 돔 이름 / etc / passwd -e 's/^root:.*?:/ 루트::/'

실제로 일어나는 일은 스니펫이 각 라인에 대한 Perl 표현식으로 평가된다는 것입니다.
파일. 마지막 "\n"을 포함하는 줄은 $_에 전달되며 식은 다음과 같아야 합니다.
$_를 업데이트하거나 변경하지 않고 그대로 두십시오.

줄을 삭제하려면 $_를 빈 문자열로 설정합니다. 예를 들어 "apache" 사용자를 삭제하려면
암호 파일의 계정에서 다음을 수행할 수 있습니다.

virt-edit -d 내 도메인 / etc / passwd -e '$_ = "" if /^apache:/'

행을 삽입하려면 $_ 앞에 추가하거나 추가하십시오. 그러나 끝에 줄을 추가
파일은 "파일의 마지막 줄"이라는 개념이 없기 때문에 이런 식으로 다소 어렵습니다.
당신의 표현은 다시 호출되지 않습니다. 첫 번째 방법을 사용하고 싶을 수도 있습니다.
($EDITOR 설정) 이렇게 하려면.

변수 $lineno는 현재 행 번호를 포함합니다. 전통적으로 첫 번째 줄
파일에서 번호 1입니다.

식의 반환 값은 무시되지만 식에서 "die"를 호출할 수 있습니다.
전체 프로그램을 중단하고 원본 파일은 그대로 둡니다.

$_가 마지막 "\n"을 포함할 수 있는 라인의 끝을 일치시킬 때 기억하십시오. 또는 (DOS의 경우)
파일) "\r\n", 또는 파일이 개행 문자로 끝나지 않으면 둘 중 어느 것도 아닙니다. 따라서
줄 끝에서 일부 텍스트를 일치시키거나 대체하려면 다음 정규식을 사용하십시오.

/일부 텍스트(\r?\n)?$/

또는 $_ 자체를 씹지 않도록 주의하면서 perl "chomp" 함수를 사용하십시오(이후
파일에서 모든 개행을 제거합니다):

내 $m = $_; 씹다 $m; $m =~ /일부 텍스트$/

WINDOWS 경로


"virt-edit"는 Windows 드라이브 문자 및 경로(예:
E:\foo\bar.txt).

게스트가 Windows를 실행 중인 경우에만 다음을 수행합니다.

· "C:"와 같은 드라이브 문자 접두사는 Windows 레지스트리에서
올바른 파일 시스템.

· 경로의 모든 백슬래시("\") 문자는 슬래시로 대체되어
libguestfs가 이를 처리할 수 있습니다.

· 경로는 편집해야 하는 파일을 찾기 위해 대소문자를 구분하지 않고 확인됩니다.

몇 가지 알려진 단점이 있습니다.

· 일부 NTFS 심볼릭 링크는 올바르게 따르지 않을 수 있습니다.

· 파일 시스템을 교차하는 NTFS 연결 지점은 따르지 않습니다.

사용 게스트피쉬


게스트 피쉬(1)은 "virt-edit"할 때 사용할 수 있는 더 강력하고 낮은 수준의 도구입니다.
작동하지 않습니다.

"virt-edit"를 사용하는 것은 다음과 거의 동일합니다.

guestfish --rw -i -d domname 편집/파일

여기서 "domname"은 libvirt 게스트의 이름이고 /파일 파일의 전체 경로입니다.

위의 명령은 libguestfs의 게스트 검사 기능을 사용하므로 작동하지 않습니다.
libguestfs가 검사할 수 없는 게스트 또는 검사하지 않는 임의의 디스크 이미지와 같은 항목
손님을 포함합니다. 디스크 이미지의 파일을 직접 편집하려면 다음을 사용하십시오.

guestfish --rw -a disk.img -m /dev/sda1 편집 /파일

어디에 disk.img 디스크 이미지입니다. / 개발자 / sda1 디스크 이미지 내의 파일 시스템입니다.
편집하고 /파일 파일의 전체 경로입니다.

"virt-edit"는 새 파일을 만들 수 없습니다. guestfish 명령어 "touch", "write" 또는
대신 "업로드":

guestfish --rw -i -d domname 터치 /newfile

guestfish --rw -i -d domname write /newfile "새 콘텐츠"

guestfish --rw -i -d domname 업로드 localfile /newfile

환경 변수


"편집자"
설정된 경우 이 문자열이 편집기로 사용됩니다. 예를 들어 인수를 포함할 수 있습니다. "이맥스 -nw"

설정하지 않으면 "vi"가 사용됩니다.

EXIT 지위


이 프로그램은 성공하면 0을 반환하고 오류가 있으면 XNUMX이 아닌 값을 반환합니다.

onworks.net 서비스를 사용하여 온라인에서 virt-edit 사용



최신 Linux 및 Windows 온라인 프로그램