Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 virt-builder 명령입니다.
프로그램:
이름
virt-builder - 가상 머신 이미지를 신속하게 구축
개요
가상 빌더 OS 버전
[-o|--output DISKIMAGE] [--크기 크기] [--format raw|qcow2]
[--arch ARCHITECTURE] [--ISOFILE 첨부]
[--chmod 권한:파일] [--파일 파일 이름에서 명령]
[--복사 소스:DEST] [--복사 LOCALPATH:REMOTEDIR]
[--delete PATH] [--파일 편집:EXPR] [--firstboot 스크립트]
[--firstboot-command 'CMD+ARGS'] [--firstboot-install PKG,PKG..]
[--호스트 이름 HOSTNAME] [--PKG,PKG 설치..]
[--link 대상:LINK[:LINK..]] [--mkdir DIR] [--move 소스:DEST]
[--비밀번호 사용자: 선택기] [--루트 비밀번호 선택기]
[--run SCRIPT] [--run-command 'CMD+ARGS'] [--스크럽 파일]
[--sm-첨부 선택기] [--sm-등록] [--sm-제거]
[--sm-unregister] [--ssh-inject USER[:SELECTOR]] [--파일 자르기]
[--자르기-재귀 경로] [--시간대 시간대] [--파일 터치]
[--업데이트] [--업로드 파일:DEST] [--파일 쓰기:내용]
[--no-logfile] [--password-crypto md5|sha256|sha512]
[--selinux-relabel] [--sm-credentials 선택기]
virt-builder -l|--list [--long] [--list-format short|long|json]
virt-builder --노트 os-버전
virt-builder --인쇄-캐시
virt-builder --캐시-모든-템플릿
virt-builder --삭제-캐시
virt-builder --get-kernel DISKIMAGE
[--형식 raw|qcow2] [--출력 OUTPUTDIR]
기술
Virt-builder는 새로운 가상 머신을 빠르게 구축하기 위한 도구입니다. 다양하게 구축할 수 있습니다
일반적으로 몇 분 이내에 로컬 또는 클라우드 사용을 위한 VM. Virt-builder도
이러한 VM을 사용자 지정할 수 있는 여러 가지 방법이 있습니다. 모든 것이 명령줄에서 실행되며 아무것도 없습니다.
루트 권한이 필요하므로 자동화 및 스크립팅이 간단합니다.
virt-builder는 처음부터 게스트를 설치하지 않습니다. 깔끔하게 준비되어 있으니,
디지털 서명된 OS 템플릿을 만들고 사용자 지정합니다. 이 접근 방식은 다음과 같기 때문에 사용됩니다.
훨씬 빠르지만 새로 설치해야 하는 경우 다음을 확인하는 것이 좋습니다. 가상 설치(1)
and 온스 설치(1).
시작하는 가장 쉬운 방법은 다음 섹션의 예를 살펴보는 것입니다.
사용 예
명부 전에, 가상 기계 가능
가상 빌더 --목록
설치할 수 있는 운영 체제를 나열합니다. 자유롭게 선택
재배포 가능한 OS는 표준으로 제공됩니다. 직접 추가할 수도 있습니다(아래 참조).
목록에서 게스트를 선택한 후 설치가 있는지 확인할 수 있습니다.
참고 사항 :
virt-builder --노트 페도라-20
짓다 a 가상 기계
가상 빌더 페도라-20
virt-builder와 동일한 아키텍처에 대한 Fedora 20 이미지를 빌드합니다(따라서
i386 설치는 가능한 경우 i386 이미지 빌드를 시도합니다. 이것은 모든 것을 가질 것입니다
기본 구성(최소 크기, 사용자 계정 없음, 임의의 루트 암호,
최소 설치 소프트웨어 등).
자신의 do 지원 이 명령을 루트로 실행해야 합니다.
이것이 처음 실행될 때 네트워크를 통해 템플릿을 다운로드해야 하지만 이것은
캐시됩니다("CACHING" 참조).
출력 파일의 이름은 템플릿 이름에서 파생되므로 그 위에
페도라-20.img. 다음을 사용하여 출력 파일 이름을 변경할 수 있습니다. -o 옵션 :
virt-builder fedora-20 -o mydisk.img
당신은 또한 사용할 수 있습니다 -o 기존 장치 또는 논리 볼륨에 쓰기 옵션.
virt-builder fedora-20 --format qcow2
위와 같지만 qcow2 형식으로 출력을 작성합니다. 페도라-20.qcow2.
virt-builder fedora-20 --크기 20G
위와 같지만 출력 크기는 20GB입니다. 게스트 OS는 복사될 때 크기가 조정됩니다.
출력(자동으로 가상 크기 조정(삼)).
virt-builder fedora-20 --arch i386
위와 같지만 가능한 경우 i386 템플릿을 사용합니다.
환경 전에, 뿌리 암호
virt-builder fedora-20 --root-암호 파일:/tmp/rootpw
Fedora 20 이미지를 생성합니다. 루트 암호는 파일에서 가져옵니다. /tmp/루트pw.
당신이 하지 세트 --루트 비밀번호 그런 다음 손님에게 닥치는대로의 루트 암호.
사용자 계정을 만들 수도 있습니다. 아래의 "사용자 및 암호"를 참조하십시오.
세트 전에, 호스트 이름
virt-builder fedora-20 --호스트 이름 virt.example.com
호스트 이름을 "virt.example.com"으로 설정합니다.
설치 소프트웨어
일반(게스트) 소프트웨어 리포지토리(예: yum 또는 apt)에서 패키지를 설치하려면:
virt-builder fedora-20 --"inkscape,@Xfce Desktop" 설치
(Fedora에서 "@"는 패키지 그룹을 설치하는 데 사용됩니다. Debian에서는
대신 메타 패키지.)
핵심 패키지를 최신 버전으로 업데이트하려면:
가상 빌더 데비안-7 --업데이트
Fedora 및 Red Hat Enterprise Linux와 같은 SELinux를 사용하는 게스트의 경우 다음을 수행해야 할 수 있습니다.
패키지 설치 또는 업데이트 후 SELinux 레이블 재지정(아래 "SELINUX" 참조):
virt-builder fedora-20 --update --selinux-relabel
커스터마이징 전에, 설치
설치를 사용자 정의할 수 있는 많은 옵션이 있습니다. 여기에는 다음이 포함됩니다.
--운영/--실행 명령, 디스크 이미지가 실행되는 동안 쉘 스크립트 또는 명령을 실행합니다.
생성되어 디스크 이미지에 들어가는 파일을 추가하거나 편집할 수 있습니다.
--firstboot/--firstboot 명령, 첫 번째로 실행되는 스크립트/명령을 추가할 수 있습니다.
게스트 부팅 시간. --편집하다 파일을 편집합니다. --업로드 파일을 업로드합니다.
예 :
고양이 <<'EOF' > /tmp/yum-update.sh
yum -y 업데이트
EOF
virt-builder fedora-20 --firstboot /tmp/yum-update.sh
또는 간단히 :
virt-builder fedora-20 --firstboot-command 'yum -y 업데이트'
이것은 얌(8) 게스트가 처음 부팅될 때 "업데이트" 명령이 한 번 실행됩니다.
또는 :
가상 빌더 페도라-20 \
--편집 '/etc/yum.conf:
s/gpgcheck=1/gpgcheck=0/'
어떤 편집 /etc/yum.conf 디스크 이미지 내부(디스크 이미지 생성 중, 오래 전에
신병).
이러한 옵션을 결합하고 모든 유형의 여러 옵션을 가질 수 있습니다.
옵션
--도움
도움말을 표시합니다.
--아치 건축
출력 이미지에 대해 지정된 아키텍처를 사용합니다. 이것은 소스가 있어야 함을 의미합니다.
요청된 아키텍처에 대해 요청된 템플릿을 제공합니다.
"아키텍처"도 참조하십시오.
--붙이다 ISO파일
사용자 지정 단계에서 지정된 디스크가 libguestfs에 연결됩니다.
기구. 이것은 추가 소프트웨어 리포지토리 또는 기타 데이터를 제공하는 데 사용됩니다.
주 문화.
연결된 디스크의 볼륨 또는 파일 시스템이
레이블이 지정되거나 ISO 볼륨 이름을 사용하여 실행 시 레이블별로 마운트할 수 있습니다.
스크립트 :
mkdir /tmp/마운트
마운트 LABEL=EXTRA /tmp/mount
당신은 여러 --붙이다 옵션이 있으며 형식은 모든 디스크 형식이 될 수 있습니다(
그냥 ISO).
참조 : --운영, "사이드 리포지토리에서 빌드 시 패키지 설치",
제니소 이미지(1) virt-make-fs(1).
--첨부 형식 FORMAT
다음에 대한 디스크 형식 지정 --붙이다 옵션. "FORMAT"은 일반적으로 "raw"입니다.
또는 "qcow2". ISO의 경우 "원시"를 사용하십시오.
--은닉처 DIR
--캐시 없음
--은닉처 DIR은 캐시된 템플릿 파일을 사용/확인할 디렉토리를 설정합니다. 설정하지 않으면
기본값은 $XDG_CACHE_HOME/virt-builder/ or $HOME/.cache/virt-builder/.
--캐시 없음 템플릿 캐싱을 비활성화합니다.
--캐시-모든-템플릿
모든 템플릿을 캐시에 다운로드한 다음 종료합니다. "캐싱"을 참조하십시오.
이것은 모든 것을 캐시하지 않습니다. 더 많은 템플릿이 업로드될 수 있습니다. 또한 이
패키지를 캐시하지 않습니다( --설치, --최신 정보 옵션).
--체크-서명
--체크 서명 없음
OS 템플릿의 디지털 서명을 확인하거나 확인하지 않습니다. 기본값은 확인하는 것입니다.
서명하고 올바르지 않으면 종료하십시오. 사용 --체크 서명 없음 이것을 우회
확인.
참조 --지문.
--곱슬 곱슬하다 컬
대안 지정 컬(1) 바이너리. 이것을 사용하여 컬 매개변수를 추가할 수도 있습니다.
예를 들어 https 인증서 확인을 비활성화하려면 다음을 수행하십시오.
virt-builder --curl "컬 --insecure" [...]
--삭제 캐시
템플릿 캐시를 삭제합니다. "캐싱"을 참조하십시오.
--실패 시 삭제 없음
빌드 실패 시 출력 파일을 삭제하지 마십시오. 이를 사용하여 오류를 디버깅할 수 있습니다.
스크립트를 실행합니다. 이미지를 디버깅하는 방법은 "디버깅 빌드"를 참조하십시오.
기본값은 virt-builder가 실패하면 출력 파일을 삭제하는 것입니다(또는 예를 들어 일부
실행하는 스크립트가 실패함).
--지문 '아아아 BBBB ...'
인덱스와 템플릿이 지정된 지문이 있는 키로 서명되었는지 확인합니다.
(지문은 긴 문자열로 보통 10자리 4진수로 구성된 XNUMX개의 그룹으로 작성됩니다.
숫자).
이 옵션을 여러 번 제공할 수 있습니다. 소스 URL이 여러 개인 경우
지문 없음, 하나 또는 여러 개의 지문이 있을 수 있습니다. 당신이 가지고 있다면
다중인 경우 각각은 소스 URL과 1-1에 대응해야 합니다.
--체재 qcow2
--체재 살갗이 벗어 진
일반 빌드의 경우 출력 형식을 선택합니다. 기본값은 살갗이 벗어 진.
와 --get-커널 이것은 입력 형식을 지정합니다.
이전 스타일의 qcow2 파일을 생성하려면(RHEL 6 또는 아주 오래된 qemu와의 호환성을 위해)
1.1) virt-builder를 실행한 후 다음 명령을 사용합니다.
qemu-img 수정 -f qcow2 -o compat=0.10 output.qcow2
--get-커널 영상
이 옵션은 이전에 빌드한 디스크 이미지에서 커널 및 initramfs를 추출합니다.
"IMAGE"라고 함(실제로는
가상 빌더).
또한 지정하지 않는 한 커널 및 initramfs는 현재 디렉토리에 기록됩니다.
전에, --산출 "outputdir" 예배 규칙서 이름입니다.
디스크 이미지의 형식은 다음을 사용하여 지정하지 않으면 자동으로 감지됩니다.
전에, --체재 옵션을 선택합니다.
게스트에 여러 개의 커널이 있는 경우 가장 높은 커널이
버전 번호가 선택되었습니다. 디스크 이미지에서 임의의 커널을 추출하려면 다음을 참조하십시오.
게스트 피쉬(1). 전체를 추출하려면 /신병 손님의 디렉토리, 참조 가상 카피아웃(1).
--GPG GPG
대안 지정 gpg(1) (GNU 프라이버시 가드) 바이너리. 이것을 사용하여 추가할 수도 있습니다.
예를 들어 대체 홈 디렉토리를 지정하기 위한 gpg 매개변수:
virt-builder --gpg "gpg --homedir / TMP" [...]
-l
--목록
--목록 --목록 형식 체재
--목록 --긴
사용 가능한 템플릿을 나열합니다.
로 선택 가능 --목록 형식 목록 템플릿의 출력 형식:
짧은
기본 형식은 템플릿 식별자와 그 옆에 짧은
기술.
긴
사용 가능한 소스의 세부 정보가 포함된 텍스트 목록을 인쇄한 다음
사용 가능한 템플릿의 세부 정보.
JSON
사용 가능한 소스의 세부 정보 및
사용 가능한 템플릿.
기본 개체의 "버전" 키는 "호환성 버전"을 나타내며,
결과 JSON 출력이
이전 버전(예: 구조가 변경되었거나 옵션이 아닌 키가
더 이상 존재하지 않음).
--긴 "긴" 형식의 줄임말입니다.
참조 : --원천, --노트, "템플릿 소스".
--기계 판독 가능
이 옵션은 다음에서 구문 분석할 때 출력을 보다 기계 친화적으로 만드는 데 사용됩니다.
다른 프로그램. 아래의 "기계 판독 가능 출력"을 참조하십시오.
-m MB
--memsize MB
에 할당된 메모리 양 변경 --운영 스크립트. 찾으면 이것을 늘리십시오.
그 --운영 스크립트 또는 --설치 옵션에 메모리가 부족합니다.
기본값은 다음 명령으로 찾을 수 있습니다.
guestfish get memsize
--회로망
--네트워크 없음
설치하는 동안 게스트에서 네트워크 액세스를 활성화하거나 비활성화합니다.
사용이 기본값입니다. 사용하다 --네트워크 없음 액세스를 비활성화합니다.
네트워크는 나가는 연결만 허용하며 기타 사소한 제한이 있습니다. 보다
"네트워크" 가상 구조(1).
당신이 사용하는 경우 --네트워크 없음 다음과 같은 특정 다른 옵션 --설치 작동 안 할 것이다.
이것은 게스트가 일단 부팅되면 네트워크에 액세스할 수 있는지 여부에 영향을 미치지 않습니다.
이는 하이퍼바이저 또는 클라우드 환경에 의해 제어되며
virt-builder와 함께하십시오.
일반적으로 말해야 지원 사용 --네트워크 없음. 하지만 여기에 몇 가지 이유가 있습니다.
다음을 원할 수 있습니다.
1. 사용 중인 libguestfs 백엔드가 네트워크를 지원하지 않기 때문입니다.
(참조: "BACKEND" 손님(삼)).
2. 설치해야 하는 모든 소프트웨어는 첨부된 ISO에서 제공되므로
네트워크.
3. 신뢰할 수 없는 게스트 코드가 다음과 같은 경우 호스트 네트워크에 액세스하는 것을 원하지 않습니다.
virt-builder를 실행합니다. 이것은 특히 당신이 신뢰하지 않을 때 문제입니다.
운영 체제 템플릿의 소스입니다. (아래 "보안" 참조).
4. 호스트 네트워크가 없습니다(예: 보안/제한된 환경).
--비동기화
종료 시 출력 파일을 동기화하지 마십시오.
Virt-builder fsync는 종료될 때 출력 파일 또는 디스크 이미지입니다.
그 이유는 qemu/KVM의 기본 캐싱 모드가 "none" 또는 "directsync"이기 때문입니다.
호스트 페이지 캐시를 우회합니다. 따라서 다음과 같은 경우 올바르게 작동하지 않습니다.
virt-builder를 실행한 후 즉시 게스트를 시작했습니다.
완전한 출력 파일. (이러한 캐싱 모드를 사용하면 안 됩니다.
이것과 다른 이유로 근본적으로 깨졌습니다.)
이러한 손상된 캐싱 모드를 사용하지 않는 경우 다음을 사용할 수 있습니다. --비동기화 이것을 피하기 위해
불필요한 동기화 및 상당한 추가 성능을 얻을 수 있습니다.
--노트 OS 버전
이 게스트와 관련된 모든 메모를 나열한 다음 종료합니다(설치를 수행하지 않음).
-o 파일 이름
--산출 파일 이름
에 출력을 씁니다. 파일 이름. 이 옵션을 지정하지 않으면 출력
파일 이름은 "os-version" 문자열에 ".img"를 추가하여 생성됩니다.
형식) 또는 ".qcow2"(qcow2 형식의 경우).
출력 파일 이름은 장치, 파티션 또는 논리 볼륨일 수 있습니다.
함께 사용할 때 --get-커널, 이 옵션은 출력 디렉터리를 지정합니다.
--인쇄 캐시
템플릿 캐시에 대한 정보를 인쇄합니다. "캐싱"을 참조하십시오.
-q
--조용한
일반적인 진행 메시지를 인쇄하지 마십시오.
--크기 SIZE
일반 이름을 사용하여 크기를 지정할 수 있는 출력 디스크의 크기를 선택합니다.
"32G"(32기가바이트) 등과 같은
Virt-builder는 디스크 이미지 내부의 파일 시스템 크기를 자동으로 조정합니다.
크기를 지정하지 않으면 두 가지 중 하나가 발생합니다. 출력이
파일이면 크기가 템플릿과 동일합니다. 출력이 장치인 경우
파티션 등이 있으면 해당 장치의 크기가 사용됩니다.
크기를 바이트로 지정하려면 숫자 다음에 소문자가 와야 합니다. b, 예 :
"--크기 10737418240b".
--smp N
N ≥ 2개의 가상 CPU 활성화 --운영 사용할 스크립트.
--원천 URL
인덱스를 찾을 원본 URL을 설정합니다.
이 옵션을 여러 번 제공하여 여러 소스를 지정할 수 있습니다.
아래의 "템플릿 소스"도 참조하십시오.
가리켜서는 안된다는 점에 유의하십시오. --원천 신뢰할 수 없는 출처(
신뢰할 수 있는 사람이 서명한 소스). 또한 참조 --네트워크 없음 옵션을 선택합니다.
-v
--말 수가 많은
디버그 메시지를 활성화하거나 상세 출력을 생성합니다.
버그를 보고할 때 이 옵션을 사용하고 전체 출력을 버그에 첨부하십시오.
보고합니다.
-V
--번역
버전 번호를 표시하고 종료합니다.
-x libguestfs API 호출 추적을 활성화합니다.
맞춤설정으로 들어간다 옵션
--chmod 권한:파일
"FILE"의 권한을 "PERMISSIONS"로 변경하십시오.
주의 사항: "PERMISSIONS"는 기본적으로 0진수입니다.
0700진수, 즉. 700 말고 XNUMX 쓰세요.
--파일에서 명령 파일 이름
파일에서 각 줄에 하나씩(및 해당 인수) 사용자 지정 명령을 읽습니다.
각 줄에는 단일 사용자 지정 명령과 해당 인수가 포함되어 있습니다. 예를 들면 다음과 같습니다.
/일부/파일 삭제
일부 패키지 설치
비밀번호 some-user:password:its-new-password
빈 줄은 무시되고 "#"으로 시작하는 줄은 주석이며 다음과 같이 무시됩니다.
잘. 또한 "\"를 추가하여 인수를 여러 줄에 분산할 수 있습니다.
(연속 문자) 행의 예를 들어
/some/file:\ 편집
s/^OPT=.*/OPT=확인/
명령은 파일에 있는 것과 동일한 순서로 처리됩니다.
로 지정 --삭제 /일부/파일 명령 행에서.
--복사 출처:DEST
게스트 내부에서 파일이나 디렉토리를 재귀적으로 복사합니다.
와일드카드는 사용할 수 없습니다.
--복사 로컬 경로:REMOTEDIR
로컬 파일이나 디렉토리를 디스크 이미지에 재귀적으로 복사하여
디렉토리 "REMOTEDIR"(존재해야 함).
와일드카드는 사용할 수 없습니다.
--삭제 PATH
게스트에서 파일을 삭제합니다. 또는 디렉토리(및 모든 내용,
재귀적으로).
참조 : --업로드, --북북 문질러 닦기.
--편집하다 파일:EXPR
Perl 표현식 "EXPR"을 사용하여 "FILE"을 편집하십시오.
표현에 의해 변형되지 않도록 적절히 인용하도록 주의한다.
껍질.
이 옵션은 Perl 5가 설치된 경우에만 사용할 수 있습니다.
의 "비대화형 편집"을 참조하십시오. 가상 편집(1).
--firstboot SCRIPT
게스트 내부에 "SCRIPT"를 설치하여 게스트가 처음 부팅할 때 스크립트가
실행됩니다(루트로, 부팅 프로세스 후반부).
스크립트는 게스트에 설치한 후 자동으로 chmod +x가 됩니다.
대체 버전 --firstboot 명령 동일하지만 편리하게
당신을 위해 한 줄 스크립트로 명령하십시오.
당신은 여러 --firstboot 옵션. 그들은 같은 순서로 실행됩니다.
명령줄에 나타납니다.
자세한 정보 및 주의 사항은 "FIRST BOOT SCRIPTS"를 참조하십시오.
첫 부팅 스크립트.
참조 --운영.
--firstboot 명령 'CMD+ARGS'
게스트가 처음 부팅될 때 게스트 내에서 명령(및 인수)을 실행합니다(루트,
부팅 과정에서 늦게).
당신은 여러 --firstboot 옵션. 그들은 같은 순서로 실행됩니다.
명령줄에 나타납니다.
자세한 정보 및 주의 사항은 "FIRST BOOT SCRIPTS"를 참조하십시오.
첫 부팅 스크립트.
참조 --운영.
--firstboot-설치 패키지, 패키지..
명명된 패키지(쉼표로 구분된 목록)를 설치합니다. 이들은 다음과 같은 경우에 설치됩니다.
게스트의 패키지 관리자(예: apt, yum 등)를 사용하여 게스트가 먼저 부팅하고
게스트의 네트워크 연결.
패키지를 설치하는 다양한 방법에 대한 개요는 "패키지 설치"를 참조하십시오.
--호스트 이름 호스트 이름
게스트의 호스트 이름을 "HOSTNAME"으로 설정합니다. 점으로 구분된 hostname.domainname을 사용할 수 있습니다.
(FQDN) 원하는 경우.
--설치 패키지, 패키지..
명명된 패키지(쉼표로 구분된 목록)를 설치합니다. 이들은 동안 설치됩니다
게스트의 패키지 관리자(예: apt, yum 등)와 호스트의 패키지 관리자를 사용하여 이미지 빌드
네트워크 연결.
패키지를 설치하는 다양한 방법에 대한 개요는 "패키지 설치"를 참조하십시오.
참조 --최신 정보.
--링크 대상:LINK[:LINK..]
게스트에서 "LINK"에서 시작하여 "TARGET"을 가리키는 심볼릭 링크를 만듭니다.
--mkdir DIR
게스트에서 디렉터리를 만듭니다.
이것은 "mkdir -p"를 사용하므로 모든 중간 디렉토리가 생성되고 다음과 같은 경우에도 작동합니다.
디렉토리가 이미 존재합니다.
--이동하다 출처:DEST
게스트 내부에서 파일 또는 디렉토리를 이동합니다.
와일드카드는 사용할 수 없습니다.
--로그 파일 없음
빌드 후 이미지에서 "builder.log"(빌드 명령의 로그 파일)를 스크럽합니다.
완벽한. 이미지가 어떻게 만들어졌는지 정확하게 밝히고 싶지 않다면 다음을 사용하세요.
옵션을 선택합니다.
"로그 파일"도 참조하십시오.
--비밀번호 사용자: 선택기
"USER"의 비밀번호를 설정합니다. (참고로 이 옵션은 지원 사용자 계정을 생성합니다).
"SELECTOR" 필드의 형식과 설정 방법은 "USERS AND PASSWORDS"를 참조하십시오.
사용자 계정을 올립니다.
--암호화폐 md5|sha256|sha512
virt 도구가 게스트에서 암호를 변경하거나 설정할 때 이 옵션은
"md5", "sha256" 또는 "sha512"로 해당 암호의 암호 암호화.
"sha256" 및 "sha512"에는 glibc ≥ 2.7이 필요합니다(확인 토굴(3) 손님 내부).
"md5"는 비교적 오래된 Linux 게스트(예: RHEL 3)에서 작동하지만 안전하지 않습니다.
현대 공격에 대한.
libguestfs가 이전 게스트를 감지하지 않는 한 기본값은 "sha512"입니다.
SHA-512 지원, 이 경우 "md5"를 사용합니다. 다음과 같이 libguestfs를 재정의할 수 있습니다.
이 옵션을 지정합니다.
이렇게 해도 게스트가 사용하는 기본 암호 암호화는 변경되지 않습니다.
게스트 내부에 새 사용자 계정을 만듭니다. 그렇게 하고 싶다면 해야 한다.
사용 --편집하다 "/etc/sysconfig/authconfig"(Fedora, RHEL)를 수정하는 옵션 또는
"/etc/pam.d/common-password"(데비안, 우분투).
--루트 비밀번호 선택자
루트 암호를 설정합니다.
"SELECTOR" 필드의 형식과 설정 방법은 "USERS AND PASSWORDS"를 참조하십시오.
사용자 계정을 올립니다.
참고: virt-builder에서 하지 세트 --루트 비밀번호 그런 다음 손님에게
닥치는대로의 루트 암호.
--운영 SCRIPT
디스크 이미지에서 "SCRIPT"라는 셸 스크립트(또는 모든 프로그램)를 실행합니다. 스크립트
게스트 파일 시스템에 chroot된 소형 어플라이언스 내에서 가상화된 실행
스크립트는 자동으로 chmod +x입니다.
libguestfs가 지원하는 경우 제한된 네트워크 연결을 사용할 수 있지만
나가는 네트워크 연결을 허용합니다. 데이터 디스크(예: ISO 파일)를 첨부할 수도 있습니다.
필요 없이 스크립트에 데이터(예: 소프트웨어 패키지)를 제공하는 또 다른 방법
네트워크 연결(--붙이다). 데이터 파일(--업로드).
당신은 여러 --운영 옵션. 그들은 그들이 나타나는 것과 같은 순서로 실행됩니다
명령줄.
참조 : --firstboot, --붙이다, --업로드.
--실행 명령 'CMD+ARGS'
디스크 이미지에서 명령과 인수를 실행합니다. 명령은 내부에서 가상화되어 실행됩니다.
게스트 파일 시스템에 chroot된 소형 기기.
libguestfs가 지원하는 경우 제한된 네트워크 연결을 사용할 수 있지만
나가는 네트워크 연결을 허용합니다. 데이터 디스크(예: ISO 파일)를 첨부할 수도 있습니다.
필요 없이 스크립트에 데이터(예: 소프트웨어 패키지)를 제공하는 또 다른 방법
네트워크 연결(--붙이다). 데이터 파일(--업로드).
당신은 여러 --실행 명령 옵션. 그들은 같은 순서로 실행됩니다.
명령줄에 나타납니다.
참조 : --firstboot, --붙이다, --업로드.
--북북 문질러 닦기 FILE
게스트에서 파일을 삭제합니다. 이것은 마치 --삭제 제외:
· 게스트가 복구할 수 없도록 데이터를 스크러빙합니다.
· 디렉토리는 삭제할 수 없으며 일반 파일만 삭제할 수 있습니다.
--selinux-relabel
게스트의 파일에 레이블을 다시 지정하여 올바른 SELinux 레이블을 갖도록 합니다.
SELinux를 지원하는 게스트에 대해서만 이 옵션을 사용해야 합니다.
--sm-첨부 선택자
"subscription-manager"를 사용하여 풀에 연결합니다.
"SELECTOR" 필드의 형식은 "SUBSCRIPTION-MANAGER"를 참조하십시오.
--sm-자격 증명 선택자
"subscription-manager"에 대한 자격 증명을 설정합니다.
"SELECTOR" 필드의 형식은 "SUBSCRIPTION-MANAGER"를 참조하십시오.
--sm-등록
"subscription-manager"를 사용하여 게스트를 등록하십시오.
이를 위해서는 다음을 사용하여 자격 증명을 설정해야 합니다. --sm-자격 증명.
--sm-제거
"subscription-manager"를 사용하여 게스트에서 모든 구독을 제거합니다.
--sm-등록 취소
"subscription-manager"를 사용하여 게스트를 등록 취소합니다.
--ssh-주사 사용자[:선택자]
주어진 "USER"가 ssh를 통해 로그인할 수 있도록 ssh 키를 삽입하십시오.
암호를 제공합니다. "USER"는 게스트에 이미 존재해야 합니다.
"SELECTOR" 필드의 형식은 "SSH KEYS"를 참조하십시오.
당신은 여러 --ssh-주사 옵션, 다른 사용자 및 더 많은 키
각 사용자에 대해.
--시간대 시간대
게스트의 기본 시간대를 "TIMEZONE"으로 설정합니다. 다음과 같은 위치 문자열을 사용하십시오.
"유럽/런던"
--만지다 FILE
이 명령은 다음을 수행합니다. 터치(1) "FILE"에 대한 유사 작업.
--자르기 FILE
이 명령은 길이가 XNUMX인 파일에 대한 "경로"를 자릅니다. 파일이 이미 존재해야 합니다.
--자르기-재귀적 PATH
이 명령은 "경로" 아래의 모든 파일을 길이가 XNUMX이 되도록 재귀적으로 자릅니다.
--최신 정보
"yum update", "apt-get upgrade" 또는 필요한 명령에 해당하는 작업을 수행합니다.
템플릿에 이미 설치된 패키지를 최신 버전으로 업데이트합니다.
참조 --설치.
--업로드 파일:DEST
디스크 이미지의 대상 "DEST"에 로컬 파일 "FILE"을 업로드합니다. 파일 소유자 및
원본의 권한이 유지되므로 원하는 대로 설정해야 합니다.
디스크 이미지에 있어야 합니다.
"DEST"는 최종 파일 이름이 될 수 있습니다. 업로드 시 파일 이름을 바꾸는 데 사용할 수 있습니다.
"DEST"가 디렉토리 이름(게스트에 이미 존재해야 함)이면 파일은
해당 디렉토리에 업로드되고 로컬 파일 시스템과 동일한 이름을 유지합니다.
참조 : --mkdir, --삭제, --북북 문질러 닦기.
--쓰다 파일:콘텐츠
"FILE"에 "CONTENT"를 씁니다.
명시
설치 패키지
게스트에 패키지나 애플리케이션을 설치하는 방법에는 여러 가지가 있습니다.
서로 다른 장단점이 있습니다.
설치 패키지 at 빌드 시간
설치하려는 게스트 OS가 호스트 OS와 유사하고(예: 둘 다 Linux인 경우)
libguestfs는 네트워크 연결을 지원하므로 다음을 사용할 수 있습니다. --설치 패키지를 설치하려면
이렇게 :
virt-builder fedora-20 --inkscape 설치
게스트의 패키지 관리자와 호스트의 네트워크 연결을 사용합니다.
업데이트 패키지 at 빌드 시간
빌드 시 템플릿의 핵심 패키지 세트를 업데이트하려면 다음을 수행하십시오.
virt-builder fedora-20 --업데이트
virt-builder와 함께 제공되는 대부분의 템플릿은 매우 최소한의 선택 항목과 함께 제공됩니다.
패키지("JEOS" 또는 "Just Enough 운영 체제"로 알려짐)는
템플릿이 생성된 시간이지만 설치하러 오는 시점에는 최신 버전이 아닐 수 있습니다.
템플릿의 OS. 이 옵션은 해당 템플릿 패키지를 업데이트합니다.
설치 패키지 at 먼저 신병
또 다른 옵션은 게스트가 처음 부팅될 때 패키지를 설치하는 것입니다.
virt-builder fedora-20 --firstboot-install inkscape
게스트의 패키지 관리자와 게스트의 네트워크 연결을 사용합니다.
단점은 게스트가 처음 부팅하는 데 시간이 훨씬 오래 걸린다는 것입니다.
패키지 설치에 실패하면 할 수 있는 일이 별로 없습니다(예: 네트워크 문제가
게스트는 패키지 리포지토리에 연결할 수 없습니다).
설치 패키지 at 빌드 시간 에 a 측면 저장소
설치하려는 소프트웨어를 메인 패키지 저장소에서 사용할 수 없는 경우
손님, 그런 다음 사이드 리포지토리를 추가할 수 있습니다. 일반적으로 이것은 ISO(CD 디스크
이미지) 추가 패키지가 포함된 파일입니다.
다음 중 하나를 사용하여 디스크 이미지를 만들 수 있습니다. 제니소 이미지(1) 또는 virt-make-fs(1). 을위한
genisoimage, 다음과 같은 명령을 사용하십시오.
genisoimage -o extra-packages.iso -R -J -V EXTRA cdcontents/
ISO를 마운트하고 리포지토리를 설정하는 스크립트를 만듭니다. yum의 경우 생성
다음을 포함하는 /tmp/install.sh:
mkdir /tmp/마운트
마운트 LABEL=EXTRA /tmp/mount
고양이 <<'EOF' > /etc/yum.repos.d/extra.repo
[특별한]
이름=엑스트라
baseurl=파일:///tmp/마운트
지원 = 1
EOF
yum -y 유명한 데이터베이스 설치
apt의 경우 다음을 포함하는 /tmp/install.sh를 생성합니다.
mkdir /tmp/마운트
마운트 LABEL=EXTRA /tmp/mount
apt-cdrom -d=/tmp/마운트 추가
apt-get -y 유명한 데이터베이스 설치
사용 --붙이다 CD/디스크 이미지를 첨부하는 옵션과 --운영 실행 옵션
스크립트:
가상 빌더 페도라-20 \
--extra-packages.iso 첨부 \
--run /tmp/install.sh
사용자 및 비밀번호
이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 --루트 비밀번호 옵션은 루트 암호를 변경하는 데 사용됩니다(그렇지 않으면 임의
암호가 사용됩니다). 이 옵션은 다음 중 하나에서 암호 "SELECTOR"를 사용합니다.
형식 :
--루트 비밀번호 파일:파일 이름
"FILENAME"에서 루트 암호를 읽습니다. 이 파일의 전체 첫 줄은
대체 암호. 다른 줄은 무시됩니다. 로 파일을 생성해야 합니다.
다른 사람이 읽을 수 없도록 모드 0600.
--루트 비밀번호 비밀번호:PASSWORD
루트 암호를 리터럴 문자열 "PASSWORD"로 설정합니다.
참고 : 이 is 지원 안전해야합니다. 동일한 시스템의 모든 사용자가 일반 텍스트를 볼 수 있기 때문에
비밀번호 사용 ps(1).
--루트 비밀번호 닥치는대로의
stdout에 인쇄된 임의의 암호를 선택합니다. 비밀번호는 대략
120비트의 임의성.
이것이 기본값입니다.
--루트 비밀번호 사용
루트 계정 암호가 비활성화됩니다. 암호에 "*"를 입력하는 것과 같습니다.
입력란입니다.
--루트 비밀번호 잠김:파일:FILENAME
--루트 비밀번호 잠김:비밀번호:PASSWORD
--루트 비밀번호 잠김:무작위
루트 계정은 잠겨 있지만 계정에 암호가 설정되어 있습니다. 처음이라면
잠금 해제("passwd -u" 사용)하면 로그인 시 지정된 암호를 사용합니다.
--루트 비밀번호 고정
--루트 비밀번호 잠김:비활성화
루트 계정이 잠겨 있습니다. and 암호가 비활성화되어 있습니다.
만들기 사용자 계정
사용자 계정을 만들려면 다음을 사용하십시오. 사용자 추가(8) 다음과 같이 --firstboot-command를 사용한 명령:
virt-builder --firstboot-명령 \
'useradd -m -p "" rjones ; 변경 -d 0 rjones'
위의 명령은 암호 없이 "rjones" 계정을 생성하고 사용자가
처음 로그인할 때 비밀번호를 설정합니다. 비밀번호를 관리하는 다른 방법이 있습니다.
사용자 추가(8) 자세한 내용은.
키보드 LAYOUT
Linux에서 키보드 레이아웃을 설정하는 방법은 매우 다양하기 때문에
배포판에서 virt-builder는 아직 간단한 명령줄 옵션을 가지려고 시도하지 않습니다.
이 섹션에서는 일부 일반적인 Linux 배포판에 대해 키보드를 설정하는 방법을 설명합니다.
건반 레이아웃 과 시스템
systemd "localectl"을 사용하는 배포판의 경우 다음과 같은 명령을 사용합니다.
가상 빌더 페도라-20 \
--firstboot-command 'localectl set-keymap uk'
만나다 localectl(1)과하면
https://www.happyassassin.net/2013/11/23/keyboard-layouts-in-fedora-20-and-previously/ for
자세한 내용은.
건반 레이아웃 사용 /etc/sysconfig/키보드
RHEL ≤ 6, Fedora ≤ 18 등의 경우 키보드 구성 파일을 업로드하거나 수정합니다.
를 사용하여 --업로드, --쓰다 or --편집하다 옵션. 예를 들어:
virt-builder centos-6 \
--edit '/etc/sysconfig/keyboard: s/^KEYTABLE=.*/KEYTABLE="uk"/'
이 파일의 형식은 온라인의 여러 위치에서 문서화되어 있습니다.
건반 레이아웃 과 데비안 파생 배포판
다음을 사용하는 데비안 파생 배포판의 경우 /etc/default/키보드, 키보드 파일 업로드 또는 수정
를 사용하여 --업로드, --쓰다 or --편집하다 옵션. 예를 들어:
가상 빌더 데비안-7 \
--편집하다 '/etc/default/키보드: s/^XKBLAYOUT=.*/XKBLAYOUT="gb"/'
https://wiki.debian.org/Keyboard를 참조하십시오.
언어
대부분의 Linux 배포판은 여러 로케일 설정을 지원하므로 게스트를 사용할 수 있습니다.
러시아어와 같은 다른 언어로 인쇄된 메시지.
그러나 추가 패키지가 필요할 수 있으므로 이를 제어하는 단일 설정은 없습니다.
콘솔 및 X 글꼴과 키보드 입력 방법을 지원하도록 설치해야 합니다. 패키지
필수이며 해당 구성은 매우 배포판에 따라 다르며 범위를 벗어납니다.
virt-builder의 이 작업을 수행합니다.
이 섹션에는 몇 가지 일반적인 Linux 배포판에 대한 예제가 포함되어 있습니다.
환경 일본제 in 페도라 20
가상 빌더 페도라-20 \
--크기 20G \
--업데이트 \
--@japanese-support 설치 \
--@xfce 설치 \
--xorg-x11-server-Xorg,xorg-x11-drivers,rsyslog 설치 \
--link /usr/lib/systemd/system/graphical.target:/etc/systemd/system/default.target \
--firstboot-command 'localectl set-locale LANG=ja_JP.utf8' \
--firstboot-command 'localectl set-keymap jp' \
--firstboot-command 'systemctl 분리 graphic.target'
환경 일본제 in 데비안 7 (쌕쌕거림)
이렇게 하면 텍스트 콘솔에서도 일본어가 활성화되지만
제대로 렌더링된 일본어가 표시됩니다. 그러나 일본어는 X에서 제대로 렌더링됩니다.
응용 프로그램 및 터미널.
pkgs=로케일,xfce4,\
ibus,ibus-안티,\
ttf-사자나미-고딕,ttf-사자나미-민초,\
글꼴-takao-mincho,\
xfonts-intl-japanese,xfonts-intl-japanese-big,\
iceweasel-l10n-ja,맨페이지-ja
가상 빌더 데비안-7 \
--크기 20G \
--$pkgs 설치 \
--edit '/etc/inittab: s,^#([1-9].*respawn.*/sbin/getty.*),$1,' \
--편집하다 '/etc/locale.gen: s,^#\s*ja,ja,' \
--쓰다 '/etc/default/로케일:LANG="ja_JP.UTF-8"' \
--실행 명령 "locale-gen"
LOG FILE
빌드 시 실행되는 스크립트 및 패키지 설치(--운영, --실행 명령, --설치,
--최신 정보하지만, 지원 firstboot)는 다음 위치 중 하나에 로그인되어 있습니다.
/tmp/builder.log
Linux, BSD 및 기타 게스트에서.
C:\Temp\builder.log
Windows에서 DOS 게스트.
/builder.log
If / TMP or C:\온도 누락되었습니다.
최종 이미지에 로그 파일을 표시하지 않으려면 --로그 파일 없음
명령 행 옵션.
SSH 열쇠
이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 --ssh-주사 옵션은 게스트의 사용자에 대해 ssh 키를 주입하는 데 사용됩니다.
암호를 제공하지 않고 로그인하십시오.
옵션 값의 "SELECTOR" 부분은 선택적입니다. 이 경우, --ssh-주사 "사용자"
우리가 current 사용자 ~ / .ssh 기본 공개 ID를 찾기 위한 디렉토리
파일. 해당 키가 업로드됩니다. "기본 공개 ID"는 default_ID_파일 에 설명된 파일
ssh-copy-id(1).
지정된 경우 "SELECTOR"는 다음 형식 중 하나일 수 있습니다.
--ssh-주사 사용자:파일:파일 이름
에서 ssh 키 읽기 파일 이름. 파일 이름 보통은 .선술집 파일.
--ssh-주사 사용자:문자열:KEY_STRING
지정된 "KEY_STRING"을 사용합니다. "KEY_STRING"은 일반적으로 다음과 같은 공개 문자열입니다. SSH-RSA
아아아아.... 사용자@로컬 호스트.
어쨌든 ~사용자/.ssh 디렉토리와 ~USER/.ssh/authorized_keys 파일은
이미 존재하지 않는 경우 생성됩니다.
먼저 BOOT 스크립트
이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 --firstboot and --firstboot 명령 옵션을 사용하면 처음에 명령을 실행할 수 있습니다.
손님의 부팅. 이를 위해 게스트 초기화 시스템용 초기화 스크립트를 설치합니다.
추가된 모든 스크립트와 명령을 실행합니다.
지원되는 운영 체제는 다음과 같습니다.
Linux
지원되는 초기화 시스템은 systemd, System-V init(sysvinit라고도 함) 및
Upstart(System-V 스크립트 사용).
일반적으로 초기화 스크립트는 루트로 실행되지만 보다 제한된 환경에서 실행됩니다.
일반 셸에서 사용할 수 있는 것: 예를 들어 $HOME이 설정되지 않았거나 비어 있을 수 있습니다.
첫 번째 부팅 스크립트의 출력은 게스트에서 다음과 같이 사용할 수 있습니다.
~루트/virt-sysprep-firstboot.log.
Windows
rhsrvany.exe, https://github.com/rwmjones/rhsrvany의 소스에서 사용 가능
첫 번째 부팅 스크립트를 실행하기 위해 설치되었습니다. 필수이며 첫 부팅 설정은
스크립트가 없으면 실패합니다.
rhsrvany.exe "VIRT_TOOLS_DATA_DIR"이 가리키는 위치에서 복사됩니다.
환경 변수; 설정하지 않으면 컴파일된 기본값이 사용됩니다(예:
/usr/share/virt-tools).
첫 번째 부팅 스크립트의 출력은 게스트에서 다음과 같이 사용할 수 있습니다. C : \ Program 파일\빨간색
모자\Firstboot\log.txt.
구독 관리자
를 사용하여 시스템 등록 및 부착을 자동화할 수 있습니다.
"구독 관리자". 이는 Red Hat Enterprise Linux 게스트에서 일반적입니다. 있다
이 프로세스를 용이하게 하는 몇 가지 옵션, 수동으로 명령 실행 및 노출 방지
명령줄의 암호.
--sm-등록 등록 프로세스를 시작하고 --sm-자격 증명 될
지정된; 의 "SELECTOR" 형식 --sm-자격 증명 다음 중 하나입니다
형식 :
--sm-자격 증명 사용자:파일:파일 이름
에서 지정된 "USER"의 암호를 읽습니다. 파일 이름.
--sm-자격 증명 사용자:비밀번호:비밀번호
지정된 "USER"에 대해 리터럴 문자열 "PASSWORD"를 사용합니다.
--sm-첨부 시스템을 구독에 연결합니다. "SELECTOR"의 형식은 다음 중 하나입니다.
다음 :
--sm-첨부 자동
"subscription-manager"는 시스템에 가장 적합한 구독에 연결됩니다.
--sm-첨부 파일:파일 이름
에서 풀 ID 읽기 파일 이름.
--sm-첨부 풀:풀
리터럴 문자열 "POOL"을 풀 ID로 사용합니다.
--sm-제거 게스트에서 모든 구독을 제거하는 동안 --sm-등록 취소 완전히
시스템 등록을 취소합니다.
설치 방법
virt-builder를 호출하면 설치가 다음과 같이 진행됩니다.
· 템플릿 이미지가 다운로드됩니다.
템플릿 이미지가 캐시에 있으면 캐시된 버전이 대신 사용됩니다.
("캐싱" 참조).
· 템플릿 서명이 확인됩니다.
· 템플릿은 tmp 파일로 압축 해제됩니다.
· 템플릿 이미지는 다음을 사용하여 대상 크기로 조정됩니다. 가상 크기 조정(1).
· 여분의 디스크가 연결되어 있습니다(--붙이다).
· 게스트에 대해 새로운 임의 시드가 생성됩니다.
· 명령줄에 지정된 순서대로 게스트 사용자 지정이 수행됩니다.
· SELinux 라벨 재지정 완료(--selinux-relabel).
가져 오기 L' 디스크 영상
가져 오기 으로 libvirt
다음을 사용하여 디스크 이미지를 libvirt로 가져옵니다. 가상 설치(1) --수입 옵션을 선택합니다.
가상 설치 --가져오기 \
--손님 이름 --ram 2048 \
--disk 경로=disk.img,format=raw --os-variant fedora20
배송 시 요청 사항:
1. 당신 절대로 필요한 것 올바른 형식을 지정하십시오. virt-를 사용하지 않는 한 형식은 "원시"입니다.
건축업자 --체재 옵션을 선택합니다.
2. --os-변형 활성화할 수 있는 최적의 장치를 제시하므로 적극 권장합니다.
게스트가 가장 효율적으로 실행할 수 있습니다. 모든 변형 목록을 얻으려면 다음을 수행하십시오.
osinfo-쿼리 os
위의 도구는 libosinfo 패키지에서 제공합니다.
3. 루트 또는 비루트로 virt-install을 실행할 수 있습니다. 각각 약간 다르게 작동하기 때문에
libvirt는 각 사용자에 대해 서로 다른 가상 머신 집합을 관리합니다. 특히
virt-manager는 일반적으로 루트 소유 VM을 표시하는 반면 Boxes는 사용자 소유 VM을 표시합니다.
VM 및 기타 도구도 다르게 작동할 수 있습니다.
가져 오기 으로 OpenStack
다음을 수행하여 이미지를 Glance(OpenStack 이미지 저장소)로 가져옵니다.
Glance 이미지 생성 --name fedora-20-image --file fedora-20.img \
--disk-format raw --container-format 베어 \
--is-public 참
이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 --파일 매개변수는 virt-builder가 생성한 디스크 이미지입니다. virt-와 일치해야 합니다.
건축업자 --산출 선택권. 그만큼 --디스크 형식 매개변수는 virt-builder의 매개변수와 일치해야 합니다.
--체재 옵션(또는 해당 옵션을 사용하지 않은 경우 "원시"). 그만큼 --컨테이너 형식 영상을
virt-builder는 이미지를 컨테이너에 넣지 않으므로 항상 "베어"여야 합니다.
당신은 "글랜스 이미지 쇼를 사용할 수 있습니다 페도라-20-이미지" 의 속성을 표시하는 명령
이미지.
Nova 컴퓨트 노드에서 이미지 인스턴스를 부팅하려면 다음을 수행하십시오.
노바 부트 페도라-20-서버 --이미지 페도라-20-이미지 \
--맛 m1.medium
"nova flavor-list"를 사용하여 가능한 머신 특징을 나열합니다. 실행 목록을 보려면 "nova list"를 사용하십시오.
인스턴스.
부팅 직접 사용 케무 or KVM
qemu 명령줄은 그다지 안정적이지 않거나 사용하기 쉽지 않으므로 다음과 같은 경우 libvirt를 사용해야 합니다.
가능한. 그러나 다음과 유사한 명령줄을 사용하여
가상 기기:
qemu-시스템-x86_64 \
-기계 가속=kvm:tcg \
-cpu 호스트 \
-m 2048 \
-드라이브 파일=disk.img,format=raw,if=virtio
libvirt와 마찬가지로 올바른 형식을 선택하는 것이 매우 중요합니다. "원시"가 됩니다
그렇지 않으면 --체재 옵션이 사용되었습니다.
구성 조치
인형
게스트에서 Puppet 에이전트를 활성화하려면 패키지를 설치하고 구성을
Puppetmaster를 사용하고 에이전트가 부팅 시 실행되는지 확인합니다.
일반적인 virt-builder 명령은 다음과 같습니다.
가상 빌더 페도라-20 \
--호스트 이름 client.example.com \
--업데이트 \
--인형 설치 \
--편집 '/etc/puppet/puppet.conf:
s/^\[에이전트\]/[에이전트]\n 서버 = puppetmaster.example.com/' \
--run-command 'systemctl enable puppet' \
--selinux-relabel
정확한 지침은 Linux 배포판에 따라 다릅니다. 자세한 내용은 다음을 참조하십시오.
http://docs.puppetlabs.com/guides/installation.htm
디버깅 건물
virt-builder 자체가 실패하면 디버깅을 활성화합니다(-v) 버그를 보고합니다("BUGS" 참조).
아래).
설치 중인 일부 스크립트 또는 패키지가 실패하여 virt-builder가 실패하는 경우 다음을 사용해 보십시오.
--실패 시 삭제 없음 출력 파일을 보존하고 이 섹션을 계속 읽으십시오.
virt-builder가 성공했지만 이미지가 작동하지 않는 경우 다음을 시도해 보십시오.
virt-rescue 사용
달리기 가상 구조(1) 디스크 이미지에서:
virt-rescue -a disk.img
이것은 당신에게 구조 쉘을 제공합니다. 디스크 이미지에서 파일 시스템을 마운트할 수 있습니다.
/sysroot 일반 Linux 명령을 사용하여 검사합니다. 당신은 또한 chroot 할 수 있습니다
게스트로 부트로더를 다시 설치합니다. virt-rescue 매뉴얼 페이지에는 더 많은 내용이 있습니다.
정보와 예시.
게스트 피쉬 사용
달리기 게스트 피쉬(1) 디스크 이미지에서:
guestfish -disk.img -i
"ll /directory" 및 "cat /file"과 같은 guestfish 명령을 사용하여 디렉토리 및
파일.
게스트 마운트 사용
FUSE를 사용하여 디스크 이미지를 호스트에 안전하게 마운트하고 게스트 마운트(1) :
mkdir /tmp/mp
guestmount -a disk.img -i /tmp/mp
CD /tmp/mp
디스크 이미지를 마운트 해제하려면 다음을 수행하십시오.
퓨저마운트 -u /tmp/mp
직렬 콘솔 추가
게스트가 부팅 중에 중단되면 직렬 콘솔을 게스트에 추가하는 것이 도움이 될 수 있습니다.
게스트 및 직접 커널 메시지를 직렬 콘솔로 보냅니다. 직렬 콘솔 추가
하이퍼바이저에 대한 설명서를 살펴보는 작업이 포함됩니다. 커널을 지시하려면
직렬 콘솔에 메시지를 보내려면 커널 명령줄에 다음을 추가합니다.
콘솔=tty0 콘솔=ttyS0,115200
SOURCES OF TEMPLATES
virt-builder는 다음과 같이 구성 파일에서 사용 가능한 소스를 읽습니다. .conf
확장자이며 다음 경로에 있습니다.
· $XDG_CONFIG_HOME/virt-builder/repos.d/ ($XDG_CONFIG_HOME은 $HOME/.config 설정하지 않은 경우).
· $XDG_CONFIG_DIRS/virt-builder/repos.d/(여기서 $XDG_CONFIG_DIRS는
해당 환경 변수의 디렉토리 또는 /etc/xdg 설정하지 않은 경우)
각각의 .conf 해당 경로의 파일에는 다음과 같은 간단한 텍스트 형식이 있습니다.
[libguestfs.org]
우리=http://libguestfs.org/download/builder/index.asc
gpgkey=파일:///etc/xdg/virt-builder/repos.d/libguestfs.gpg
대괄호 안의 부분은 고유로 사용되는 저장소 식별자입니다.
식별자.
다음 필드가 나타날 수 있습니다.
"우리=URI"
이 저장소가 참조하는 인덱스 파일의 URI입니다.
이 입력란은 필수 항목입니다.
"gpgkey=URI"
이 선택적 필드는 URI를 나타냅니다(단지 파일 : // URI가 허용됨)의
색인 파일에 서명하는 데 사용되는 키입니다. 존재하지 않는 경우 다음에서 참조하는 인덱스 파일
우리=.. 서명되지 않았습니다.
"프록시=모드"
이 선택적 필드는 색인을 다운로드할 때 사용할 프록시 모드를 지정합니다.
이 저장소의 파일. 가능한 값은 다음과 같습니다.
아니, 오프
시스템 구성을 재정의하는 경우에도 프록시가 전혀 사용되지 않습니다.
체계
사용되는 프록시는 시스템 프록시입니다.
아무것도 그렇지 않으면
사용할 실제 프록시 구성을 지정하여 시스템을 재정의합니다.
구성.
존재하지 않는 경우 가정된 값은 시스템의 프록시 설정을 존중하는 것입니다(예:
마치 체계 지정됩니다).
"포맷=포맷"
이 선택적 필드는 저장소의 형식을 지정합니다. 가능한 값은 다음과 같습니다.
출신
"virt-builder" 저장소의 기본 형식입니다. "만들기 및
색인 파일에 서명"을 참조하십시오.
단순 스트림
URI는 Simple Streams v1.0 메타데이터 트리의 루트를 나타냅니다.
단순 스트림에 대한 자세한 내용은 다음을 참조하십시오.
https://launchpad.net/simplestreams.
존재하지 않는 경우 가정된 값은 "네이티브"입니다.
진지한 virt-builder 사용을 위해 자신만의 템플릿 리포지토리를 생성할 수 있습니다.
Libguestfs.org 저장소
즉시 virt-builder가 파일을 다운로드합니다.
http://libguestfs.org/download/builder/index.asc 사용 가능한 템플릿의 색인입니다.
디지털 서명으로 싸인 각각에 대한 몇 가지 정보를 추가합니다. 명령
"virt-builder --list"는 이 색인 파일의 정보를 나열합니다.
libguestfs.org에서 호스팅되는 템플릿은 쉘 스크립트, 킥스타트 파일을 사용하여 생성되었습니다.
libguestfs 소스 트리의 "builder/website"에서 찾을 수 있는 미리 설정 파일입니다.
환경 up 전에, 저장소
색인 파일과 일부 템플릿을 포함하는 자신의 사이트를 설정한 다음 가리킬 수 있습니다.
virt-builder를 생성하여 사이트에서 .conf 그것을 가리키는 파일.
색인이 서명된 경우 올바르게 채워야 합니다. gpg키=.. 귀하의 .conf
파일, GPG 키 파일도 배포해야 합니다.
virt-builder --source https://example.com/builder/index.asc \
--지문 'AAAA BBBB ...' \
--목록
웹 또는 FTP 서버나 로컬 또는 네트워크 파일 시스템에서 호스트할 수 있습니다.
환경 up a GPG 키
GnuPG 키가 없으면 설정해야 합니다. (이건 엄밀히 말하면
선택 사항이지만 색인 및 템플릿 파일이 서명되지 않은 경우 virt-builder 사용자는
를 사용해야 합니다 --체크 서명 없음 virt-builder를 사용할 때마다 플래그를 지정합니다.)
키를 생성하려면 GPG 매뉴얼을 참조하십시오. http://www.gnupg.org/gph/en/manual.html.
GPG 공개 키 내보내기:
gpg --내보내기 -a "[이메일 보호]"> 펍키
만들기 전에, 템플릿
템플릿을 만드는 방법에는 여러 가지가 있습니다. 예를 들어 기존 게스트를 복제할 수 있습니다.
(참조 virt-sysprep(1)) 또는 손으로 게스트를 설치할 수 있습니다(가상 설치(1)). 방법을 보려면
템플릿은 virt-builder용으로 생성되었습니다. "builder/website"의 스크립트를 살펴보십시오.
템플릿을 압축할 때 최상의 결과를 얻으려면 다음 xz 옵션을 사용하십시오(
nbdkit-xz-플러그인(1) 추가 설명):
xz --best --block-size=16777216 디스크
만들기 and 로그인 전에, 색인 파일
색인 파일은 간단한 텍스트 형식입니다(여기서는 디지털 서명 없이 표시됨).
[페도라-18]
이름=Fedora® 18
osinfo=fedora18
아치=x86_64
파일=fedora-18.xz
체크섬[sha512]=...
형식=원시
사이즈=6442450944
압축_크기=148947524
확장=/dev/sda3
[페도라-19]
이름=Fedora® 19
osinfo=fedora19
아치=x86_64
파일=fedora-19.xz
체크섬[sha512]=...
수정본=3
형식=원시
사이즈=4294967296
압축_크기=172190964
확장=/dev/sda3
대괄호 안의 부분은 "os-version"이며, 이는
virt-builder 명령줄을 사용하여 해당 OS를 빌드합니다.
올바른 형식으로 "인덱스" 파일을 준비한 후 다음을 사용하여 서명을 지웁니다.
명령:
gpg --clearsign --갑옷 색인
이렇게 하면 최종 파일이 생성됩니다. index.asc 서버에 업로드할 수 있습니다(그리고
이다 우리=.. URL). 위에서 언급한 것처럼 인덱스 파일에 서명하는 것은 선택 사항이지만 권장됩니다.
다음 필드가 나타날 수 있습니다.
"이름=이름"
이 템플릿의 사용자에게 친숙한 이름입니다. 이는 다음 항목에 표시됩니다. --목록 출력 하지만
그렇지 않으면 중요하지 않습니다.
"osinfo=ID"
이 선택적 필드는 운영 체제를 관련 libosinfo ID에 매핑합니다. Virt-
빌더는 (아직) 그것을 사용하지 않습니다.
"아치=ARCH"
템플릿 내에 설치된 운영 체제의 아키텍처입니다. 이 필드는
이 필요합니다.
"파일=경로"
xz 압축 템플릿의 경로(인덱스 기준)입니다.
절대 경로 또는 URI는 지원 여기에서 허용됩니다. 이것은 virt-builder 때문입니다.
템플릿에 대해 "동일한 출처" 정책이 있으므로 다른 서버에서 가져올 수 없습니다.
"시그=경로"
이 option is 사용되지 않는. 대신 체크섬 필드를 사용하십시오.
xz 파일의 GPG 분리 서명 경로(인덱스 기준)입니다.
절대 경로 또는 URI는 지원 여기에서 허용됩니다. 이것은 virt-builder 때문입니다.
템플릿에 대해 "동일한 출처" 정책이 있으므로 다른 서버에서 가져올 수 없습니다.
파일은 다음과 같이 생성할 수 있습니다.
gpg --detach-sign --armor -o disk.xz.sig disk.xz
"checksum[sha512]=7b882fe9b82eb0fef..."
SHA-512 체크섬은 압축 된 파일을 다운로드한 후 확인합니다. 에게
서명을 작성하려면 다음을 수행하십시오.
sha512sum 디스크.xz
이것을 사용하는 경우 파일에 서명할 필요가 없습니다. "시그"를 사용하지 마십시오. 이것
옵션은 "sig"보다 우선합니다.
"checksum=7b882fe9b82eb0fef..."
"체크섬"은 "체크섬[sha512]"의 별칭입니다.
virt-builder = 1.24.0과 상호 운용이 필요한 경우 "체크섬"을 사용해야 합니다.
해당 버전은 대괄호와 숫자가 있는 구문 분석 오류를 제공하기 때문입니다.
필드의 키. 이것은 virt-builder ≥ 1.24.1에서 수정되었습니다.
"개정=N"
개정판은 템플릿 캐시를 제어하는 데 사용되는 정수입니다. 증가
개정 번호를 사용하면 클라이언트가 템플릿을 가지고 있더라도 템플릿을 다시 다운로드하게 됩니다.
캐시에 복사합니다.
개정 번호는 선택 사항입니다. 생략하면 기본값은 1입니다.
"포맷=원시"
"형식=qcow2"
디스크 이미지의 형식을 지정합니다(압축 전). 주어지지 않을 경우,
형식은 자동으로 감지되지만 일반적으로 의도된 형식에 대해 명시하는 것이 좋습니다.
형식입니다.
이것은 소스 형식이며 --체재 옵션(요청
출력 형식). Virt-builder는 소스 형식에서
요청된 출력 형식.
"사이즈=NNN"
이미지의 가상 크기(바이트)입니다. 했을 때의 이미지 크기입니다.
압축되지 않은. qcow2와 같은 비원시 형식을 사용하는 경우 가상 디스크를 의미합니다.
qcow2 파일의 크기가 아니라 크기입니다.
이 입력란은 필수 항목입니다.
Virt-builder는 또한 사용자가 다음을 통해 요청할 수 있는 최소 크기로 사용합니다. --크기
옵션이 없는 경우 기본 크기로 --크기 옵션을 선택합니다.
"compressed_size=NNN"
디스크 이미지의 압축된 크기(바이트)입니다. 이것은 정보용으로만 사용됩니다.
(사용할 때 --목록 --긴).
"확장=/dev/sdaX"
이미지를 최종 크기로 확장할 때 지시 가상 크기 조정(1) 확장
사용 가능한 모든 공간을 채우기 위해 게스트 이미지의 명명된 파티션. 이것은 다음과 같이 작동합니다
가상 크기 조정 --확장하다 옵션을 선택합니다.
일반적으로 게스트 루트 파일 시스템의 장치 이름을 여기에 입력해야 합니다.
이것을 사용하는 것이 좋지만 필수는 아닙니다. 필드가 생략되면 virt-
resize는 여유 공간을 커버하기 위해 디스크 끝에 추가 파티션을 생성합니다.
훨씬 덜 사용자 친화적입니다.
"lvexpand=/dev/VolGroup/LogVol"
이미지를 최종 크기로 확장할 때 지시 가상 크기 조정(1) 확장
게스트 이미지의 명명된 논리 볼륨을 사용하여 사용 가능한 모든 공간을 채웁니다. 이것은 작동합니다
virt-resize처럼 --lv-확장 옵션을 선택합니다.
게스트가 LVM2를 사용하는 경우 일반적으로 게스트 루트 파일 시스템의 LV를 넣어야 합니다.
여기. 게스트가 LVM2를 사용하지 않거나 루트 파일 시스템이 LV에 없는 경우
이 옵션을 사용하십시오.
"노트=노트"
이 이미지와 함께 제공되는 메모, 특히 어떤 패키지가 포함되어 있는지 설명하는 메모
이미지, 이미지 준비 방법 및 라이센스 정보.
이 정보는 --노트 and --목록 --긴 모드.
각 새 줄을 적어도 하나의 줄로 들여쓰기하여 여기에서 여러 줄 노트를 사용할 수 있습니다.
공백 문자(빈 줄에서도):
notes=이 이미지는 다음을 사용하여 준비되었습니다.
다음 킥스타트 스크립트:
<-- 줄 시작 부분에 공백 하나
부품 /신병 --fstype 내선3
...
"숨김=참"
숨겨진 플래그를 사용하면 템플릿이 --목록 option
(그러나 여전히 설치 가능합니다). 테스트 이미지에 사용됩니다.
"별칭=ALIAS1 ALIAS2 ..."
이 선택적 필드는 이미지에 대한 별칭 목록을 공백으로 구분하여 지정합니다.
예를 들어 별칭을 사용하여 항상 특정 시스템의 최신 버전을 가리킬 수 있습니다.
동일한 이미지를 업데이트하는 대신 인덱스에서 사용 가능한 이전 버전을 그대로 둡니다.
이미지("개정" 필드 참조).
달리는 가상 빌더 반대 여러 소스
virt-builder로 여러 소스를 사용할 수 있습니다. 추천하는 방법은
배포 .conf 인덱스 파일을 가리키는 파일. 또 다른 방법은 소스를 지정하는 것입니다.
여러 개를 사용하여 --원천 및 / 또는 --지문 옵션 :
가상 빌더 \
--원천 http://example.com/s1/index.asc \
--원천 http://example.com/s2/index.asc
N개 또는 1개의 지문을 제공할 수 있습니다. N개의 지문을 제공하는 경우, N =
소스의 수와 각 소스와 각 소스 간에 1-1 대응이 있습니다.
지문:
가상 빌더 \
--원천 http://example.com/s1/index.asc --fingerprint '0123 ...' \
--원천 http://example.com/s2/index.asc --지문 '9876 ...'
1개의 지문을 제공하는 경우 모든 소스에 동일한 지문이 사용됩니다.
최소한 1개의 지문을 "반드시" 제공해야 합니다.
Licensing of 템플릿
배포하는 이미지의 라이선스에 대해 알고 있어야 합니다. 오픈 소스용
게스트는 "메모" 필드에 소스 코드에 대한 링크를 제공하고 다른 규정을 준수합니다.
요구 사항(예: 상표 주변).
형식적인 명세서 of 전에, 색인 파일
인덱스 파일 형식에는 flex scanner 및 bison에 의해 정의된 공식 사양이 있습니다.
파일을 구문 분석하는 데 사용되는 구문 분석기. 이는 libguestfs의 다음 파일에서 찾을 수 있습니다.
소스 트리:
빌더/인덱스-scan.l
빌더/index-parse.y
라는 도구 virt-index-validate(1) 색인 파일의 유효성을 검사하여 확인하는 데 사용할 수 있습니다.
맞다.
파서와 도구는 서명된 인덱스 파일이나 서명되지 않은 인덱스 파일(예:
색인 or index.asc).
인덱스는 항상 UTF-8로 인코딩됩니다.
캐싱
캐싱 템플릿
템플릿은 일반적으로 매우 크기 때문에 다운로드한 템플릿은 사용자의
홈 디렉토리.
캐시의 위치는 $XDG_CACHE_HOME/virt-builder/ or $HOME/.cache/virt-빌더.
손님이 누구인지를 포함하여 캐시 디렉토리에 대한 정보를 인쇄할 수 있습니다.
다음을 수행하여 현재 캐시됨:
virt-builder --인쇄-캐시
다음을 수행하여 공간을 절약하려는 경우 캐시를 삭제할 수 있습니다.
virt-builder --삭제-캐시
다음을 수행하여 모든 (현재) 템플릿을 로컬 캐시에 다운로드할 수 있습니다.
virt-builder --캐시-모든-템플릿
템플릿 캐시를 비활성화하려면 다음을 사용하십시오. --캐시 없음.
템플릿만 캐시됩니다. 인덱스 및 분리된 디지털 서명은 캐시되지 않습니다.
캐싱 패키지
Virt-builder 사용 컬(1) 파일을 다운로드하고 현재 "http_proxy"도 사용합니다.
(등) 패키지 설치 시 설정(--설치, --최신 정보).
따라서 양을 최대화하기 위해 해당 환경 변수를 설정하는 것이 좋습니다.
발생하는 로컬 캐싱. "환경 변수" 및 컬(1).
지방의 거울
패키지 설치 속도와 안정성을 모두 높이려면 로컬
대상 배포판의 미러를 지정하고 게스트 패키지 관리자를 가리킵니다.
설치의 각 단계가 발생하는 순서 때문에 다음을 사용할 수 없습니다. --쓰다
(리포지토리에서 패키지 관리자를 가리키기 위해) 다음에 --설치 (그것부터 설치하려면
레포). 그만큼 --쓰다 and --설치 단계는 순서에 관계없이 반대 순서로 실행됩니다.
명령줄에서 주문하십시오. 당신은 이것을 사용하여해야합니다 --실행 명령 대신 --설치.
Fedora에서 로컬 미러 사용
로컬 미러를 사용하여 Fedora 게스트를 설치하려면:
가상 빌더 페도라-20 \
--편집 '/etc/yum.repos.d/fedora.repo:
s{.*baseurl=.*}{baseurl=http://example.com/mirror/};
s{.*metalink=.*}{};
' \
--편집 '/etc/yum.repos.d/fedora-updates.repo:
s{.*baseurl=.*}{baseurl=http://example.com/mirror-updates/};
s{.*metalink=.*}{};
' \
--실행 명령 'yum -y 업데이트' \
--run-command 'yum -y install pkg1 pkg2 ...'
Debian에서 로컬 미러 사용
"apt-proxy"를 사용하여 리포지토리를 미러링한다고 가정하면 새
sources.list에 프록시를 가리키는 파일(https://help.ubuntu.com/community/AptProxy 참조)
그런 다음 다음을 수행하십시오.
가상 빌더 데비안-7 \
--업로드 소스.목록:/etc/apt/sources.list의 \
--실행 명령 'apt-get -y 업데이트' \
--run-command 'apt-get -y install pkg1 pkg2 ...'
디지털 서명
Virt-builder는 GNU Privacy Guard(GnuPG 또는 gpg)를 사용하여 인덱스 및 템플릿이
조작되지 않았습니다.
소스는 선택적으로 서명된 인덱스 파일을 가리킵니다.
Virt-builder는 색인을 다운로드하고 서명이 유효한지 확인하고 서명자의
지문이 지정된 지문(예: gpg키=.. FBI 증오 범죄 보고서
.conf, 또는 --지문, 그와 같은 순서로).
내장된 공개 키/지문을 확인하려면 다음을 가져와야 합니다.
공개 키를 사용자의 로컬 gpg 키링에 넣습니다(gpg가 작동하는 방식입니다).
템플릿을 다운로드하면 동일한 방식으로 서명을 확인합니다.
서명은 선택 사항이지만 서명이 없으면 virt-builder 사용자는
사용해야한다 --체크 서명 없음 명령줄에서. 이것은 공격자가
서명된 인덱스 파일을 서명되지 않은 인덱스 파일로 교체하고 virt-builder를 사용합니다.
서명을 확인하지 않고 조용히 작업합니다. 어쨌든 다음을 적극 권장합니다.
항상 서명된 인덱스와 템플릿을 만듭니다.
건축
Virt-builder는 호스트 아키텍처에 관계없이 모든 아키텍처에 대해 게스트를 구축할 수 있습니다.
이다. 예를 들어 ARM 호스트의 x86-64 게스트입니다.
그러나 특정 옵션, 특히 실행 명령이 필요한 옵션이 작동하지 않을 수 있습니다.
빌드 프로세스 중 게스트에서: --설치, --최신 정보, --운영, --실행 명령. 당신은 할 수있다
이를 firstboot와 동등한 것으로 교체해야 합니다.
86비트 i64 게스트를 구축하는 x32-686 호스트는 특별한 단계 없이 작동해야 합니다.
보안
Virt-builder는 루트로 실행할 필요가 없으며(사실 루트로 실행하면 안 됨),
setuid, "sudo" 또는 이와 유사한 메커니즘을 사용하지 않습니다.
--설치, --최신 정보, --운영 and --실행 명령 어플라이언스(소형
가상 머신) 따라서 이러한 명령은 호스트에서 실행되지 않습니다. 당신이 사용하는 경우
libguestfs libvirt 백엔드 및 SELinux를 활성화하면 가상 머신이
SELinux 컨테이너(sVirt)에 추가로 캡슐화됩니다.
그러나 이러한 옵션은 호스트의 네트워크에 액세스할 수 있으며 템플릿이
신뢰할 수 없는 코드를 포함하는 경우 코드가 호스트 네트워크 리소스에 액세스를 시도할 수 있습니다.
해서는 안됩니다. 당신이 사용할 수있는 --네트워크 없음 이를 방지하기 위해.
Firstboot 명령은 게스트가 부팅될 때 게스트 컨텍스트에서 실행되므로 보안
하이퍼바이저/클라우드를 고려해야 합니다.
Virt-builder는 빌드하는 모든 게스트에 임의의 시드를 주입합니다. 이는 다음을 보장하는 데 도움이 됩니다.
게스트가 부팅될 때 TCP 시퀀스 번호, UUID, ssh 호스트 키 등은 정말 무작위입니다.
디지털 서명을 확인하고 서명 오류를 무시하지 마십시오.
클론
동일한 유형의 새 게스트를 많이 생성하려면 virt-builder를 실행하고 싶을 것입니다.
출력 파일을 복사합니다. 당신은해야 지원 이 작업을 수행. virt-builder를 실행해야 합니다.
필요한 새 게스트마다 한 번씩.
그 이유는 각 클론이 (최소한) 별도의 무작위 시드를 가져야 하기 때문입니다.
향후 버전의 virt-에서 다른 고유 기능(예: 파일 시스템 UUID) 가능
건축업자.
당신이해야 할 또 다른 일 지원 게스트를 부팅한 다음 부팅된 디스크 이미지를 복제합니다.
그 이유는 일부 게스트가 처음에 고유한 컴퓨터 ID, SSH 호스트 키 등을 생성하기 때문입니다.
복제본이 중복 ID를 갖는 것을 원하지 않을 것입니다.
참조 : virt-sysprep(1).
성능
좋은 성능을 얻기 위한 가장 중요한 측면은 캐싱입니다. 템플릿 가져오기
처음 사용할 때 캐시에 다운로드하거나
--캐시-모든-템플릿 옵션. 자세한 내용은 위의 "CACHING"을 참조하십시오.
에 필요한 패키지 --설치 and --최신 정보 옵션은 호스트를 사용하여 다운로드됩니다.
네트워크 연결. "http_proxy", "https_proxy" 및 "ftp_proxy" 환경 설정
로컬 웹 캐시를 가리키는 변수는 한 번만 다운로드하면 됩니다.
설정이 복잡할 수 있지만 로컬 패키지 저장소를 사용해 볼 수도 있습니다.
설치하려는 Linux 배포판에 따라 다릅니다.
사용 --비동기화
--비동기화. 그러나 위의 "옵션" 섹션에 있는 주의 사항을 읽으십시오.
올바르게 사용하지 않으면 디스크가 손상될 수 있습니다.
건너 뛰기 가상 크기 조정
Virt-builder는 특정 조건에서 virt-resize 단계를 건너뛸 수 있습니다. 이것은 virt-
빌더가 훨씬 빠릅니다. 조건은 다음과 같습니다.
· 출력은 일반 파일이어야 합니다(블록 장치가 아님). and
· 사용자가 한 지원 사용 --크기 선택권, and
· 출력 형식은 템플릿 형식과 동일합니다(일반적으로 원시).
pxzcat
Virt-builder는 liblzma가 다음과 같은 경우 pxzcat(병렬 xzcat)의 내부 구현을 사용합니다.
빌드 시간에 찾았습니다. 빌드 시 liblzma를 찾을 수 없으면 일반 "xzcat"이 사용됩니다.
단일 스레드입니다.
사용자 모드 Linux
UML(User-Mode Linux) 백엔드와 함께 virt-builder를 사용할 수 있습니다. 다음과 같은 경우 더 빠를 수 있습니다.
가상 머신 내에서(예: 클라우드에서) virt-builder를 실행합니다.
UML 백엔드를 활성화하려면 "USER-MODE LINUX BACKEND"의 지침을 읽으십시오.
손님(3).
현재 당신은 --네트워크 없음 옵션. 이것은 미래에 고쳐져야 합니다.
번역.
qcow2 출력 형식은 UML에서 지원하지 않습니다. 원시 형식 게스트만 만들 수 있습니다.
셀리눅스
SELinux(예: Fedora 및 Red Hat Enterprise Linux)를 사용하는 게스트는 각
파일에 올바른 SELinux 레이블이 있습니다.
Virt-builder는 새 파일에 레이블을 지정하는 방법을 모르므로 가능한 두 가지가 있습니다.
올바른 라벨링을 보장하기 위해 사용할 수 있는 전략:
사용 --selinux-relabel
이것은 실행 수정 파일(8) SELinux 레이블을 설정하는 게스트를 마무리하기 직전
디스크 이미지에서 올바르게.
설치 중에 수정 파일을 사용할 수 없는 경우가 있습니다. 이 경우 이 옵션을 선택합니다.
다음으로 돌아감:
감동시키는 /.autorelabel
게스트 템플릿에는 이미 다음 파일이 포함되어 있을 수 있습니다. /.autorelabel, 또는 다음과 같은 경우 터치됩니다.
--selinux-relabel 수정 파일을 실행할 수 없습니다.
SELinux를 사용하는 게스트의 경우 처음 부팅할 때 수정 파일이 실행됩니다. 손님은
처음 사용할 때 한 번 재부팅하십시오. 정상적이고 무해합니다.
귀하의 게스트가 SELinux를 사용하고 귀하가 SELinux에서 작업을 수행하는 경우
새 파일을 만들거나 기존 파일을 변경할 수 있으므로 다음을 사용하는 것이 좋습니다.
--selinux-relabel. 이렇게 하면 파일에 올바른 SELinux가 있는지 확인하는 데 도움이 됩니다.
라벨.
기계 읽을 수있는 출력
이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 --기계 판독 가능 옵션을 사용하여 출력을 보다 기계 친화적으로 만들 수 있습니다.
다른 프로그램, GUI 등에서 virt-builder를 호출할 때 유용합니다.
자체적으로 옵션을 사용하여 virt-builder 바이너리의 기능을 쿼리합니다. 전형적인
출력은 다음과 같습니다.
$ virt-builder --기계 판독 가능
가상 빌더
아치
구성 파일
사용자 정의
json-목록
pxzcat
기능 목록이 한 줄에 하나씩 인쇄되고 프로그램은 상태 0으로 종료됩니다.
환경 변수
모든 libguestfs 프로그램에 영향을 미치는 다른 환경 변수는 "ENVIRONMENT
변수" 손님(3).
"http_proxy"
"https_proxy"
"no_proxy"
다운로드 프록시를 설정합니다. 이러한 환경 변수(및 그 이상)는 실제로
에 의해 해석 컬(1), virt-builder가 아닙니다.
"집"
템플릿 캐시의 위치와 사용자의 위치를 결정하는데 사용됩니다.
소스. "캐싱" 및 "템플릿 소스"를 참조하십시오.
"VIRT_TOOLS_DATA_DIR"
이것은 Windows firstboot에 사용되는 데이터 파일이 포함된 디렉토리를 가리킬 수 있습니다.
설치.
일반적으로 이것을 설정할 필요가 없습니다. 설정하지 않으면 컴파일된 기본값이 사용됩니다.
(같은 /usr/share/virt-tools).
이 디렉토리에는 다음 파일이 포함될 수 있습니다.
rhsrvany.exe
이것은 "firstboot" 스크립트를 설치하는 데 사용되는 RHSrvAny Windows 바이너리입니다.
Windows 손님. 사용하려는 경우 필요합니다. --firstboot or
--firstboot 명령 Windows 게스트 옵션.
참조: "https://github.com/rwmjones/rhsrvany"
"XDG_CACHE_HOME"
템플릿 캐시의 위치를 결정하는 데 사용됩니다. "캐싱"을 참조하십시오.
"XDG_CONFIG_HOME"
사용자 소스의 위치를 결정하는 데 사용됩니다. "템플릿 소스"를 참조하십시오.
"XDG_CONFIG_DIRS"
시스템 소스의 위치를 결정하는 데 사용됩니다. "템플릿 소스"를 참조하십시오.
EXIT 지위
이 프로그램은 성공하면 0을 반환하고 오류가 있으면 XNUMX이 아닌 값을 반환합니다.
onworks.net 서비스를 사용하여 온라인에서 virt-builder 사용