рдпрд╣ рдХрдорд╛рдВрдб рдЧреЗрд╕реНрдЯрдПрдлрдПрд╕-рд╣реИрдХрд┐рдВрдЧ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдорд╛рд░реЗ рдХрдИ рдореБрдлреНрдд рдСрдирд▓рд╛рдЗрди рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдЬреИрд╕реЗ рдХрд┐ рдЙрдмрдВрдЯреВ рдСрдирд▓рд╛рдЗрди, рдлреЗрдбреЛрд░рд╛ рдСрдирд▓рд╛рдЗрди, рд╡рд┐рдВрдбреЛрдЬ рдСрдирд▓рд╛рдЗрди рдПрдореБрд▓реЗрдЯрд░ рдпрд╛ рдореИрдХ рдУрдПрд╕ рдСрдирд▓рд╛рдЗрди рдПрдореБрд▓реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдирд╡рд░реНрдХреНрд╕ рдлреНрд░реА рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкреНрд░рджрд╛рддрд╛ рдореЗрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдХрд╛рд░реНрдпрдХреНрд░рдо:
рдирд╛рдо
рдЧреЗрд╕реНрдЯрдлрд╝реНрд╕-рд╣реИрдХрд┐рдВрдЧ - libguestfs рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдФрд░ рдпреЛрдЧрджрд╛рди
рд╡рд░реНрдгрди
рдпрд╣ рдореИрдиреБрдЕрд▓ рдкреЗрдЬ рдЙрди рд╣реИрдХрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ libguestfs рдХреЛ рд╣реА рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдЕрд╡рд▓реЛрдХрди OF THE рд╕реНрд░реЛрдд рдХреЛрдб
Libguestfs рд╕реНрд░реЛрдд github рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ
https://github.com/libguestfs/libguestfs
libguestfs (RPC, рдмрд╛рдЗрдВрдбрд┐рдВрдЧ, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг) рдореЗрдВ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреЛрдб рд╣реИрдВ
рдЙрддреНрдкрдиреНрди. рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдХрдИ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЗрдВ рдЧрд╛рдпрдм рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреА
рд╕реАрдзрд╛ рдЧрд┐рдЯ рдЪреЗрдХрдЖрдЙрдЯред рдЖрдкрдХреЛ рдЬрдирд░реЗрдЯрд░ рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ (''/autogen.sh && make -C
рдЬрдирд░реЗрдЯрд░") рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред
Libguestfs рдПрдХ рдСрдЯреЛрдЯреВрд▓-рдЖрдзрд╛рд░рд┐рдд рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдореБрдЦреНрдп рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВ config.ac
рдФрд░ Makefile.amред рдЬрдирдХ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЬрдирд░реЗрдЯрд░, рдкреНрд▓рд╕ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ
рдПрдкреАрдЖрдИ. " рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рд╢рд╛рдорд┐рд▓ рд╣реИред рдЙрдкрдХрд░рдг рдФрд░ рдбреЗрдореЙрди
рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рдЙрд╕ рдХреЛрдб рдХрд╛ рд╕реНрд░реЛрдд рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЙрдкрдХрд░рдг рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рдХреЛрдб
рдЬреЛ рдХреНрд░рдорд╢рдГ рдЙрдкрдХрд░рдг рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИред рдЕрдиреНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ
рдиреАрдЪреЗ "рд╕реНрд░реЛрдд рдХреЛрдб рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБ"ред
рдЗрд╕ рддрдереНрдп рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐ рд╕рднреА рдПрдкреАрдЖрдИ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдХреБрдЫ рдЬреЗрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ
рд╕реАрдзрд╛ред (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЬреЗрдирд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рднреА рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╣реЛрдирд╛ рднреА рдЪрд╛рд╣рд┐рдП
рд╕рд╛рдорд╛рдиреНрдп рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдкрдврд╝рд╛ рдЬрд╛рдП)ред рдХреБрдЫ рдХреНрд░рд┐рдпрд╛рдПрдБ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдЪрд▓рддреА рд╣реИрдВ, рдФрд░ C рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИрдВ
рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ ". рджреВрд╕рд░реЛрдВ рдХреЛ рдбреЗрдореЙрди рдореЗрдВ рднреЗрдЬ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ (рдХреБрдЫ рдХреЗ рдмрд╛рдж)
рдЙрддреНрдкрдиреНрди рдЖрд░рдкреАрд╕реА рдорд╛рд░реНрд╢рд▓рд┐рдВрдЧ) рд╡реЗ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ рдбреЗрдореЙрди.
рд╕реНрд░реЛрдд рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ "README" рдлрд╝рд╛рдЗрд▓ рдкрдврд╝реЗрдВред
рд╕реНрдерд╛рдиреАрдп* рдлрд╝рд╛рдЗрд▓реЗрдВ
рд╢реАрд░реНрд╖ рд╕реНрд░реЛрдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬреЛ рдЙрдкрд╕рд░реНрдЧ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИрдВ рд╕реНрдерд╛рдиреАрдп* рдЧрд┐рдЯ рджреНрд╡рд╛рд░рд╛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдпрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдЬрд┐рдирдХреА рдЖрдкрдХреЛ libguestfs рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдкрд░рдВрдкрд░рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рд╣реИ рд╕реНрдерд╛рдиреАрдпрдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдЬреЛ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЖрд╡рд░рдг рд╣реИ
рдСрдЯреЛрдЬреЗрди.рд╢ рдЗрд╕рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдЕрдиреБрдХреВрд▓рди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬрд┐рдирдХреА рдореБрдЭреЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
. localenv
./autogen.sh \
--рдбрд┐рдлрд╝реЙрд▓реНрдЯ-рдмреИрдХрдПрдВрдб рдХреЗ рд╕рд╛рде=libvirt \
--рд╕рдХреНрд╖рдо-рдЬреАрд╕реАрд╕реА-рдЪреЗрддрд╛рд╡рдиреА \
--рд╕рдХреНрд╖рдо-gtk-doc \
-рд╕реА \
"$@"
рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ libguestfs рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ:
./localconfigure && рдмрдирд╛рдПрдВ
рдпрджрд┐ рд╢реАрд░реНрд╖ рдмрд┐рд▓реНрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рд╣реИ рддреЛ рдЙрд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ localenv, рддреЛ рдЗрд╕реЗ рд╕реНрд░реЛрдд рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛
"рдирд┐рд░реНрдорд╛рдг"ред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЛрдИ рднреА рдЖрд╡рд╢реНрдпрдХ рд╕реНрдерд╛рдиреАрдп рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдПред рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП
рдкрд░реАрдХреНрд╖рдг:
# рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкрд╛рдпрдерди рдмрд╛рдЗрдирд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдирд┐рд░реНрдпрд╛рдд Python=python3
# рдЗрд╕ рдкрд░реАрдХреНрд╖рдг рдХреЛ рдЫреЛрдбрд╝реЗрдВ, рдпрд╣ рдЯреВрдЯрд╛ рд╣реБрдЖ рд╣реИред
SKIP_TEST_BTRFS_FSCK=1 рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ localenv рд╢реАрд░реНрд╖ рдореЗрдХрдлрд╝рд╛рдЗрд▓ рджреНрд╡рд╛рд░рд╛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЗрд╕рд▓рд┐рдП рдпрд╣ рдореЗрдХрдлрд╝рд╛рдЗрд▓ рдЯреБрдХрдбрд╝рд╛ рд╣реИ)ред рд▓реЗрдХрд┐рди рдЕрдЧрд░
рдпрд╣ рднреА рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реНрд░реЛрддрд┐рдд рд╣реИ рд╕реНрдерд╛рдиреАрдпрдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддреЛ рдЗрд╕реЗ рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЬреЛрдбрд╝рдирд╛ A рдирдпрд╛ API рдХрд╛рд░реНрдп
рдХреНрдпреЛрдВрдХрд┐ libguestfs рдореЗрдВ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреЛрдб рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдпрд╣ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
libguestfs API рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рдирдИ API рдХреНрд░рд┐рдпрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИрдВ:
1. рдЖрдкрдХреЛ рдХреЙрд▓ рдХрд╛ рд╡рд┐рд╡рд░рдг (рдирд╛рдо, рдкреИрд░рд╛рдореАрдЯрд░, рд░рд┐рдЯрд░реНрди рдкреНрд░рдХрд╛рд░, рдкрд░реАрдХреНрд╖рдг,) рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг) рд╕реЗ рдЬрдирд░реЗрдЯрд░/рдХреНрд░рд┐рдпрд╛рдПрдВ.рдПрдордПрд▓.
рдПрдкреАрдЖрдИ рдХрд╛рд░реНрд░рд╡рд╛рдИ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреА рд╣реЛрддреА рд╣реИ, рдпрд╣ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреЙрд▓ рд╡рд╣рд╛рдВ рд╕реЗ рдЧреБрдЬрд░рддреА рд╣реИ рдпрд╛ рдирд╣реАрдВ
рдЙрдкрдХрд░рдг рдореЗрдВ рдбреЗрдореЙрди, рдпрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рджреНрд╡рд╛рд░рд╛ рд╕реЗрд╡рд┐рдд рд╣реИ (рджреЗрдЦреЗрдВ "рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░"
Guestfs-internals(3)). "guestfs_sync" рдореЗрдВ Guestfs(3) рдкреВрд░реНрд╡ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ,
рдЪреВрдБрдХрд┐ рдЙрдкрдХрд░рдг рдореЗрдВ рд╕рд┐рдВрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред "guestfs_set_trace" рдореЗрдВ Guestfs(3) рдПрдХ рд╣реИ
рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХрд╛ рдЙрджрд╛рд╣рд░рдг, рдЪреВрдВрдХрд┐ рд╣реИрдВрдбрд▓ рдФрд░ рд╕рднреА рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдореЗрдВ рдПрдХ рдЯреНрд░реЗрд╕ рдзреНрд╡рдЬ рдмрдирд╛рдП рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдУрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрдзрд┐рдХрд╛рдВрд╢ рдирдИ рдХреНрд░рд┐рдпрд╛рдПрдБ рдкрд╣рд▓реЗ рдкреНрд░рдХрд╛рд░ рдХреА рд╣реЛрддреА рд╣реИрдВ, рдФрд░ "daemon_functions" рд╕реВрдЪреА рдореЗрдВ рдЬреБрдбрд╝ рдЬрд╛рддреА рд╣реИрдВред
рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ RPC рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдВрдЦреНрдпрд╛ рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕реЗ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдЙрд╕ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рдЬрдм рд╣рдо libguestfs рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдирд╡реАрдирддрдо рд▓реЗ рд▓реЛ
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЗрд╕реЗ рдмрдврд╝рд╛рдПрдБред
рджреВрд╕рд░реЗ рдкреНрд░рдХрд╛рд░ рдХреА рдХреЗрд╡рд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, "non_daemon_functions" рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред
рдЪреВрдВрдХрд┐ рдпреЗ рдХрд╛рд░реНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдп рджреНрд╡рд╛рд░рд╛ рд╕реЗрд╡рд┐рдд рд╣реИрдВ рдФрд░ рдЖрд░рдкреАрд╕реА рдкрд░ рдпрд╛рддреНрд░рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ
рдбреЗрдореЙрди рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░, рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдВрдЦреНрдпрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕реА рддрд░рд╣
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдВрдЦреНрдпрд╛ "-1" рдкрд░ рд╕реЗрдЯ рд╣реИред
2. рдХрд╛рд░реНрд░рд╡рд╛рдИ рд▓рд╛рдЧреВ рдХрд░реЗрдВ (рд╕реА рдореЗрдВ):
рдбреЗрдореЙрди рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдлрд╝рдВрдХреНрд╢рди "do_" рд▓рд╛рдЧреВ рдХрд░реЗрдВ "рдбреЗрдорди/" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВред
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдлрд╝рдВрдХреНрд╢рди "guestfs_impl_ рд▓рд╛рдЧреВ рдХрд░реЗрдВ "src/" рдореЗрдВ
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛.
рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдЗрд╕рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдпреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "make" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдкрдХреЛ рдЖрд░рдкреАрд╕реА, рднрд╛рд╖рд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ, рдореИрдиреБрдЕрд▓ рдкреЗрдЬ рдпрд╛ рдХреБрдЫ рднреА рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ
рдЕрдиреНрдпрдерд╛ред рдпрд╣ рд╕рдм OCaml рд╡рд┐рд╡рд░рдг рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред
рдЬреЛрдбрд╝рдирд╛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП AN API рдХрд╛рд░реНрдп
рдЖрдк рдкреНрд░рддрд┐ рдПрдкреАрдЖрдИ рдХреЙрд▓ рд╢реВрдиреНрдп рдпрд╛ рдЬрд┐рддрдиреЗ рдЪрд╛рд╣реЗрдВ рдЙрддрдиреЗ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкрд░реАрдХреНрд╖рдг рдпрд╛ рддреЛ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ
рдПрдкреАрдЖрдИ рд╡рд┐рд╡рд░рдг рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ (рдЬрдирд░реЗрдЯрд░/рдХреНрд░рд┐рдпрд╛рдПрдВ.рдПрдордПрд▓), рдпрд╛ рдХреБрдЫ рджреБрд░реНрд▓рдн рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЖрдк
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ "рдкрд░реАрдХреНрд╖рдг/*/" рдореЗрдВ рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реЗрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ "рдкрд░реАрдХреНрд╖рдг/*/" рдореЗрдВ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрд╝рдирд╛ рд╣реИ
рдзреАрдорд╛, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдкрд╣рд▓реА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдЬрдм рдЖрдк рдПрдкреАрдЖрдИ рдкрд░реАрдХреНрд╖рдг рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рддреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдХреНрд░рд┐рдпрд╛рдПрдБ.рдПрдордПрд▓.
рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ 4 рдмреНрд▓реЙрдХ рдбрд┐рд╡рд╛рдЗрд╕ рд╣реИрдВ:
рджреЗрд╡ / / sda 500MB
рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдмреНрд▓реЙрдХ рдбрд┐рд╡рд╛рдЗрд╕ред
/ Dev / SDB 500MB
/ Dev / sdb1 рдПрдХ ext2 рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
/ Dev / рдПрд╕рдбреАрд╕реА 10MB
рдХреБрдЫ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рджреЛ рдмреНрд▓реЙрдХ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
/dev/sdd
рдирд┐рд╢реНрдЪрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдЖрдИрдПрд╕рдУ (рджреЗрдЦреЗрдВ) рдЫрд╡рд┐рдпрд╛рдБ/test.iso).
рдЙрдЪрд┐рдд рд╕рдордп рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, libguestfs рдЙрдкрдХрд░рдг рдФрд░
рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдмреАрдЪ рдмреНрд▓реЙрдХ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП "guestfs_kill_subprocess" рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рди рдХрд░реЗрдВ
Guestfs(3) :-рдПрдХреНрд╕
рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрд░рд┐рджреГрд╢реНрдп рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ "Init*" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ,
рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдЬреЗрдирд░реЗрдЯрд░/рдкреНрд░рдХрд╛рд░.рдПрдордПрд▓. рдпреЗ рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдбрд┐рд╕реНрдХ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ
рд╡рд┐рд╢реЗрд╖ рддрд░реАрдХреЗ рд╕реЗ рдЬреИрд╕рд╛ рдХрд┐ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИ рдкреНрд░рдХрд╛рд░.рдПрдордПрд▓. рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдЕрдиреБрдорд╛рди рдирд╣реАрдВ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
рдЕрдиреНрдп рдбрд┐рд╕реНрдХ рдХреА рдкрд┐рдЫрд▓реА рд╕рд╛рдордЧреНрд░реА рдЬреЛ рдкреНрд░рд╛рд░рдВрдн рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИред
рдЖрдк рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдПрдХ рдкреВрд░реНрд╡рд╛рд╡рд╢реНрдпрдХ рдЦрдВрдб рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рд░рди-рдЯрд╛рдЗрдо рдЪреЗрдХ рд╣реИ,
рдЬреЛ рдЕрд╕рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рдкрд░реАрдХреНрд╖рд╛ рдЫреЛрдбрд╝ рджреА рдЬрд╛рддреА рд╣реИред рдХрд┐рд╕реА рдХрдорд╛рдВрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧреА
libguestfs рдмрд┐рд▓реНрдб рдХреА рд╕рднреА рд╡рд┐рд╡рд┐рдзрддрд╛рдУрдВ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдПрдХ рдкрд░реАрдХреНрд╖рдг рдЬрд┐рд╕рдХреА рдкреВрд░реНрд╡ рд╢рд░реНрдд рд╣реИ
"рд╣рдореЗрд╢рд╛" рдХрд╛ рдЕрд░реНрде рд╣реИ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╢рд░реНрдд рдХреЗ рдЪрд▓рдирд╛ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреИрдХреЗрдЬрд░реНрд╕ рдкрд╣рд▓реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ
"рдЪреЗрдХ рдХрд░реЗрдВ" рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИред
SKIP_TEST_ _ =1
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: "SKIP_TEST_COMMAND_3=1" "guestfs_command" рдХреЗ рдкрд░реАрдХреНрд╖рдг #3 рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ Guestfs(3).
рдпрд╛:
SKIP_TEST_ =1
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: "SKIP_TEST_ZEROFREE=1" рд╕рднреА "guestfs_zerofree" рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ Guestfs(3) рдкрд░реАрдХреНрд╖рдг.
рдкреИрдХреЗрдЬрд░реНрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧ рдХрд░рдХреЗ рдХреЗрд╡рд▓ рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:
TEST_ONLY='vfs_type рдЬреАрд░реЛрдлреНрд░реА'
рджреЗрдЦ рдкрд░реАрдХреНрд╖рдг/рд╕реА-рдПрдкреАрдЖрдИ/рдкрд░реАрдХреНрд╖рдг.рд╕реА рдпреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдПред
рдбрд┐рдмрдЧрд┐рдВрдЧ рдирдпрд╛ API рдХрд╛рд░реНрд░рд╡рд╛рдИ
рдирдИ рдХрд╛рд░реНрд░рд╡рд╛рдЗрдпреЛрдВ рдХреЛ рд╕рдмрдорд┐рдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрдирдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВред
рдЖрдк рдирдП рдХрдорд╛рдВрдб рдЖрдЬрд╝рдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреЗрд╕реНрдЯрдлрд╝рд┐рд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдбреЗрдореЙрди рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдиреНрдпреВрдирддрдо рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐
рдЖрдк рдбреЗрдореЙрди рд╕реЗ stderr рддрдХ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ fprintf рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╡реЗ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ
"рдЕрддрд┐рдерд┐рдордЫрд▓реА -v"ред
рдЬреЛрдбрд╝рдирд╛ A рдирдпрд╛ рднрд╛рд╖рд╛ рдмрдВрдзрди
рд╕рднреА рднрд╛рд╖рд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЬрдирд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП (рджреЗрдЦреЗрдВ)ред рдЬрдирдХ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛)ред
рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрднреА рддрдХ рдХреЛрдИ рджрд╕реНрддрд╛рд╡реЗрдЬ рдирд╣реАрдВ рд╣реИ. рд╣рдорд╛рд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдореМрдЬреВрджрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЛ рджреЗрдЦреЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдПред
рдЬрдирд░реЗрдЯрд░/ocaml.ml or рдЬреЗрдирд░реЗрдЯрд░/perl.ml.
рдЬреЛрдбрд╝рдирд╛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рднрд╛рд╖рд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧреНрд╕
рднрд╛рд╖рд╛ рдмрдВрдзрди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдирд╛ рдЪрд╛рд╣рд┐рдПред рдкрд╣рд▓реЗ рднрд╛рд╖рд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рд╣реЛрддрд╛ рдерд╛
рдмрд▓реНрдХрд┐ рддрджрд░реНрде, рд▓реЗрдХрд┐рди рд╣рдо рд╣рд░ рднрд╛рд╖рд╛ рдореЗрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕реЗрдЯ рдХреЛ рдФрдкрдЪрд╛рд░рд┐рдХ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ
рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП.
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЗрд╡рд▓ OCaml рдФрд░ Perl рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╣реА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкреВрд░реЗ рд╕реЗрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░
OCaml рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╡рд┐рд╣рд┐рдд рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ OCaml рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣ рдкрд░реАрдХреНрд╖рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдХреНрд░рдорд╛рдВрдХрди рдпреЛрдЬрдирд╛ рд╣реИ:
- 000+ рдмреБрдирд┐рдпрд╛рджреА рдкрд░реАрдХреНрд╖рдг:
010 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓реЛрдб рдХрд░реЗрдВ
020 рдмрдирд╛рдПрдВ
030 рд╕реГрдЬрди-рдЭрдВрдбреЗ
040 рдПрдХрд╛рдзрд┐рдХ рд╣реИрдВрдбрд▓ рдмрдирд╛рдПрдВ
050 рдкрд░реАрдХреНрд╖рдг рд╕реЗрдЯрд┐рдВрдЧ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЧреБрдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
060 рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрдВрдж рдХрд░реЗрдВ
065 рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдмрдВрдж (рдЬреАрд╕реА'рдбреА рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ)
070 рдСрдкреНрдЯрд╛рд░реНрдЧреНрд╕
- 100 рд▓реЙрдиреНрдЪ, рд╡рд┐рднрд╛рдЬрди рдФрд░ рдПрд▓рд╡реА рдФрд░ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рдПрдВ
- 400+ рдЗрд╡реЗрдВрдЯ:
410 рд╕рдорд╛рдкрди рдШрдЯрдирд╛
420 рд▓реЙрдЧ рд╕рдВрджреЗрд╢
430 рдкреНрд░рдЧрддрд┐ рд╕рдВрджреЗрд╢
- 800+ рдкреНрд░рддрд┐рдЧрдорди рдкрд░реАрдХреНрд╖рдг (рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ)
- рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП 900+ рдХреЛрдИ рдЕрдиреНрдп рдХрд╕реНрдЯрдо рдкрд░реАрдХреНрд╖рдг
рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддреЗ рд╕рдордп рд╕рдордп рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ 100, 430, 800+, 900+ рдкрд░ рд╣реИрдВрдбрд▓ рд▓реЙрдиреНрдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕реНрд╡рд░реВрдкрдг рдХреЛрдб
рд╣рдорд╛рд░рд╛ рд╕реА рд╕реНрд░реЛрдд рдХреЛрдб рдЖрдо рддреМрд░ рдкрд░ рдХреБрдЫ рдмреБрдирд┐рдпрд╛рджреА рдХреЛрдб-рдлрд╝реЙрд░реНрдореЗрдЯрд┐рдВрдЧ рдкрд░рдВрдкрд░рд╛рдУрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИред
рдореМрдЬреВрджрд╛ рдХреЛрдб рдЖрдзрд╛рд░ рдЗрд╕ рдореЛрд░реНрдЪреЗ рдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕реБрд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ
рдпреЛрдЧрджрд╛рди рдХрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рд╕реНрд╡рд░реВрдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рд╕реНрдкреЗрд╕-рдиреЙрдЯ-рдЯреАрдПрдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ,
рдкреНрд░рддреНрдпреЗрдХ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рд╕реНрддрд░ рдХреЗ рд▓рд┐рдП 2 рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, K&R рд╢реИрд▓реА рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред
рдпрджрд┐ рдЖрдк Emacs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрдкрдиреА рд╕реНрдЯрд╛рд░реНрдЯ-рдЕрдк рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреЛрдбрд╝реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ~/.emacs),
рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдкрдХреЛ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рд╕рд╣реА рдорд┐рд▓реЗ:
;;; Libguestfs рдореЗрдВ, рд╣рд░ рдЬрдЧрд╣ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рдЗрдВрдбреЗрдВрдЯ рдХрд░реЗрдВ (TABs рдирд╣реАрдВ)ред
;;; рдЕрдкрд╡рд╛рдж: рдореЗрдХрдлрд╝рд╛рдЗрд▓ рдФрд░ рдЪреЗрдВрдЬрд▓реЙрдЧ рдореЛрдбред
(рдРрдб-рд╣реБрдХ 'рдлрд╛рдЗрдВрдб-рдлрд╝рд╛рдЗрд▓-рд╣реБрдХ
'(рд▓реИрдореНрдмреНрдбрд╛ () (рдпрджрд┐ (рдФрд░ рдмрдлрд░-рдлрд╝рд╛рдЗрд▓-рдирд╛рдо
(рд╕реНрдЯреНрд░рд┐рдВрдЧ-рдореИрдЪ "/libguestfs\\>"
(рдмрдлрд╝рд░-рдлрд╝рд╛рдЗрд▓-рдирд╛рдо))
(рдирд╣реАрдВ (рд╕реНрдЯреНрд░рд┐рдВрдЧ-рдмрд░рд╛рдмрд░ рдореЛрдб-рдирд╛рдо "рд▓реЙрдЧ рдмрджрд▓реЗрдВ"))
(рдирд╣реАрдВ (рд╕реНрдЯреНрд░рд┐рдВрдЧ-рдмрд░рд╛рдмрд░ рдореЛрдб-рдирд╛рдо "рдореЗрдХрдлрд╝рд╛рдЗрд▓")))
(рд╕реЗрдЯрдХреНрдпреВ рдЗрдВрдбреЗрдВрдЯ-рдЯреИрдм-рдореЛрдб рд╢реВрдиреНрдп))))
;;; Libguestfs рдореЗрдВ C рд╕реНрд░реЛрддреЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп, рдЗрд╕ рд╢реИрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
(рдбрд┐рдлрди libguestfs-рд╕реА-рдореЛрдб ()
"Libguestfs рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдпреЛрдЬрд┐рдд рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд╕рд╛рде рд╕реА рдореЛрдбред"
(рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡)
(рд╕реА-рд╕реЗрдЯ-рд╢реИрд▓реА "рдХреЗ рдПрдВрдб рдЖрд░")
(рд╕реЗрдЯрдХреНрдпреВ рд╕реА-рдЗрдВрдбреЗрдВрдЯ-рд▓реЗрд╡рд▓ 2)
(рд╕реЗрдЯрдХреНрдпреВ рд╕реА-рдмреЗрд╕рд┐рдХ-рдСрдлрд╝рд╕реЗрдЯ 2))
(рдРрдб-рд╣реБрдХ 'рд╕реА-рдореЛрдб-рд╣реБрдХ
'(рд▓реИрдореНрдмреНрдбрд╛ () (рдпрджрд┐ (рд╕реНрдЯреНрд░рд┐рдВрдЧ-рдореИрдЪ "/libguestfs\\>"
(рдмрдлрд╝рд░-рдлрд╝рд╛рдЗрд▓-рдирд╛рдо))
(libguestfs-рд╕реА-рдореЛрдб))))
рдкрд░реАрдХреНрд╖рдг рддреБрдВрд╣рд╛рд░реЗ рдкрд░рд┐рд╡рд░реНрддрди
рд╕рдВрдХрд▓рди рдХрд░рддреЗ рд╕рдордп рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ (рдФрд░ рдЗрд╕рдореЗрдВ рдорд┐рд▓рдиреЗ рд╡рд╛рд▓реА рдХрд┐рд╕реА рднреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░реЗрдВ):
./configure --enable-gcc-warnings
рдЙрдкрдпреЛрдЧреА рд▓рдХреНрд╖реНрдп рд╣реИрдВ:
"рдЪреЗрдХ рдХрд░реЗрдВ"
рдирд┐рдпрдорд┐рдд рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдЪрд▓рд╛рддрд╛ рд╣реИред
рдЗрд╕реЗ рдирд┐рдпрдорд┐рдд рдСрдЯреЛрдореЗрдХ "TESTS" рд▓рдХреНрд╖реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдСрдЯреЛрдореЗрдХ рджреЗрдЦреЗрдВ
рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬред
"рдЪреЗрдХ-рд╡реЗрд▓рдЧреНрд░рд┐рдВрдб рдмрдирд╛рдПрдВ"
рд╡реИрд▓рдЧреНрд░рд┐рдВрдб рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдХрд╛ рдПрдХ рд╕рдмрд╕реЗрдЯ рдЪрд▓рд╛рддрд╛ рд╣реИред
рдХреЛрдИ Makefile.am рдЬрд┐рд╕ рдкреЗрдбрд╝ рдореЗрдВ "рдЪреЗрдХ-рд╡рд╛рд▓рдЧреНрд░рд┐рдВрдб:" рд▓рдХреНрд╖реНрдп рд╣реИ, рд╡рд╣ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛
рд░рд╛рдЬ рдХрд░рддреЗ рд╣реИрдВред
"рдЪреЗрдХ-рд╡рд╛рд▓рдЧреНрд░рд┐рдВрдб-рд╕реНрдерд╛рдиреАрдп-рдЕрддрд┐рдерд┐ рдмрдирд╛рдПрдВ"
рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд libvirt рдореЗрд╣рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реИрд▓рдЧреНрд░рд┐рдВрдб рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдХрд╛ рдПрдХ рд╕рдмрд╕реЗрдЯ рдЪрд▓рд╛рддрд╛ рд╣реИ
(рд╕рд┐рдлрд╝ рдкрдврд╝рд┐рдпреЗ)ред
"рдЪреЗрдХ-рдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░реЗрдВ"
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЙрдкрдХрд░рдг рдмреИрдХ-рдПрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рддрднреА рдкрдбрд╝рддрд╛ рд╣реИ рдЬрдм рдХреЛрдИ рдЧреИрд░-
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмреИрдХрдПрдВрдб рдХрд╛ рдЪрдпрди "./configure --with-default-backend=..." рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
"рдЪреЗрдХ-рд╡рд╛рд▓рдЧреНрд░рд┐рдВрдб-рдбрд╛рдпрд░реЗрдХреНрдЯ рдмрдирд╛рдПрдВ"
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЙрдкрдХрд░рдг рдмреИрдХ-рдПрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реЗрд▓рдЧреНрд░рд┐рдВрдб рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдХрд╛ рдПрдХ рд╕рдмрд╕реЗрдЯ рдЪрд▓рд╛рдПрдБред
"рдЪреЗрдХ-рдпреВрдПрдордПрд▓ рдмрдирд╛рдПрдВ"
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдореЛрдб рд▓рд┐рдирдХреНрд╕ рдмреИрдХрдПрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддрд╛ рд╣реИред
рдЪреВрдБрдХрд┐ рдпреВрдЬрд░-рдореЛрдб рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорд╛рдирдХ рд╕реНрдерд╛рди рдирд╣реАрдВ рд╣реИ, рдЖрдк рд╣реИ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдХрд░реНрдиреЗрд▓ рдЫрд╡рд┐ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "LIBGUESTFS_HV", рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
рдЪреЗрдХ-uml LIBGUESTFS_HV= рдмрдирд╛рдПрдВ~/d/linux-um/vmlinux
"рдЪреЗрдХ-рд╡рд╛рд▓рдЧреНрд░рд┐рдВрдб-рдпреВрдПрдордПрд▓ рдмрдирд╛рдПрдВ"
рд╡реЗрд▓рдЧреНрд░рд┐рдВрдб рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдпреВрдЬрд░-рдореЛрдб рд▓рд┐рдирдХреНрд╕ рдмреИрдХрдПрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдкрдХреЛ рдХрд░реНрдиреЗрд▓ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "LIBGUESTFS_HV" рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
"рдЪреЗрдХ-рд╡рд┐рде-рдЕрдкрд╕реНрдЯреНрд░реАрдо-рдХреНрдпреВрдореВ рдмрдирд╛рдПрдВ"
рд╕реНрдерд╛рдиреАрдп рдХреНрдпреВрдореВ рдмрд╛рдЗрдирд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддрд╛ рд╣реИред рдпрд╣ QEMUDIR рдореЗрдВ qemu рдмрд╛рдЗрдирд░реА рдХреА рддрд▓рд╛рд╢ рдХрд░рддрд╛ рд╣реИ
(рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП $HOME/d/qemu), рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ рдХрдорд╛рдВрдб рдкрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдкрдВрдХреНрддрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
рдЪреЗрдХ-рд╡рд┐рде-рдЕрдкрд╕реНрдЯреНрд░реАрдо-рдХреНрдпреВрдПрдордпреВ рдмрдирд╛рдПрдВ QEMUDIR=/usr/src/qemu
"рдЪреЗрдХ-рд╡рд┐рде-рдЕрдкрд╕реНрдЯреНрд░реАрдо-libvirt рдмрдирд╛рдПрдВ"
рд╕реНрдерд╛рдиреАрдп libvirt рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рддрднреА рдкрдбрд╝рддрд╛ рд╣реИ рдЬрдм libvirt рдмреИрдХрдПрдВрдб рд╣реЛ
"./configure --with-default-backend=libvirt" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪрдпрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
рдпрд╣ LIBVIRTDIR рдореЗрдВ libvirt рдХреА рддрд▓рд╛рд╢ рдХрд░рддрд╛ рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ)ред $HOME/d/libvirt), рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
рдЪреЗрдХ-рд╡рд┐рде-рдЕрдкрд╕реНрдЯреНрд░реАрдо-libvirt рдмрдирд╛рдПрдВ LIBVIRTDIR=/usr/src/libvirt
"рдЪреЗрдХ-рдзреАрдорд╛ рдХрд░реЛ"
рдХреБрдЫ рдзреАрдореЗ/рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддрд╛ рд╣реИ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдЪрд▓рддреЗ рд╣реИрдВред
рдХреЛрдИ Makefile.am рдЙрд╕ рдкреЗрдбрд╝ рдореЗрдВ рдЬрд┐рд╕рдореЗрдВ "рдЪреЗрдХ-рд╕реНрд▓реЛ:" рд▓рдХреНрд╖реНрдп рд╣реИ, рдЗрд╕ рдирд┐рдпрдо рджреНрд╡рд╛рд░рд╛ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
"рд╕рднреА рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ"
рд╕рднреА "рдЪреЗрдХ рдХрд░реЗрдВ*" рдирд┐рдпрдореЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд░рд╛рдмрд░ред
"рдЪреЗрдХ-рд░рд┐рд▓реАрдЬрд╝ рдХрд░реЗрдВ"
"рдЪреЗрдХ рдХрд░реЗрдВ*" рдирд┐рдпрдореЛрдВ рдХрд╛ рдПрдХ рдЙрдкрд╕рдореВрд╣ рдЪрд▓рд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЯрд╛рд░рдмреЙрд▓ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ
рдореБрдХреНрддред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрд╣ рд╣реИ:
┬╖ рдЬрд╛рдБрдЪ рдХрд░рдирд╛
┬╖ рдЪреЗрдХ-рд╡реЗрд▓рдЧреНрд░рд┐рдВрдб
┬╖ рдЪреЗрдХ-рдбрд╛рдпрд░реЗрдХреНрдЯ
┬╖ рдЪреЗрдХ-рд╡реЗрд▓рдЧреНрд░рд┐рдВрдб-рдбрд╛рдпрд░реЗрдХреНрдЯ
┬╖ рдЬрд╛рдБрдЪ-рдзреАрдорд╛
"рдЗрдВрд╕реНрдЯреЙрд▓рдЪреЗрдХ рдХрд░реЗрдВ"
Libguestfs рдХреА рд╕реНрдерд╛рдкрд┐рдд рдкреНрд░рддрд┐ рдкрд░ "рдЪреЗрдХ рдХрд░реЗрдВ" рдЪрд▓рд╛рдПрдБред
рд╕реНрдерд╛рдкрд┐рдд libguestfs рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдФрд░ libguestfs рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛
рд╕реНрд░реЛрдд рд╡реГрдХреНрд╖ рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП.
рдХрд╛рд░реНрдп рдХрд░реЗрдВ:
./autogen.sh
рд╕рд╛рдлрд╝ рдХрд░реЛ ||:
рдмрдирд╛рдирд╛
рдЗрдВрд╕реНрдЯреЙрд▓рдЪреЗрдХ рдХрд░реЗрдВ
рдбреЗрдореЛрди рдХрд╕реНрдЯрдо printf рдлреЙрд░реНрдореЗрдЯрд░реНрд╕
рдбреЗрдореЙрди рдХреЛрдб рдореЗрдВ рд╣рдордиреЗ рдХрд╕реНрдЯрдо рдкреНрд░рд┐рдВрдЯрдл рдлреЙрд░реНрдореЗрдЯрд░ %Q рдФрд░ %R рдмрдирд╛рдП рд╣реИрдВ, рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рд╢реИрд▓ рдЙрджреНрдзрд░рдг рдХрд░реЛ.
%Q рд╕рд░рд▓ рд╢реЗрд▓ рдЙрджреНрдзреГрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ. рдХреЛрдИ рднреА рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдпрд╛ рдЕрдиреНрдп рд╢реЗрд▓ рд╡рд░реНрдг рдЖрдкрдХреЗ рд▓рд┐рдП рдмрдЪ рдЧрдП рд╣реИрдВред
%R, %Q рдХреЗ рд╕рдорд╛рди рд╣реИ рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдПрдХ рдкрде рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ sysroot рджреНрд╡рд╛рд░рд╛ рдЙрдкрд╕рд░реНрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
asprintf (&cmd, "cat %R", рдкрде);
"cat /sysroot/some\ path\ with\ spaces" рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛
рдиреЛрдЯ: Do рдирд╣реАрдВ рдЬрдм рдЖрдк "рдХрдорд╛рдВрдб{,r,v,rv}()" рдкрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реЛрдВ рддреЛ рдЗрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдХрд╛рд░реНрдп. рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЙрджреНрдзреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ
рд╢реЗрд▓ (рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╕реАрдзреЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред рдЖрдк рд╕рдВрднрд╡рддрдГ "sysroot_path()" рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ
рддрдерд╛рдкрд┐ред
рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рддреБрдВрд╣рд╛рд░реЗ рдирдпрд╛ API рдХрд╛рд░реНрд░рд╡рд╛рдИ
рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рдореЗрдВ рдкреИрдЪ рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВ: http://www.redhat.com/mailman/listinfo/libguestfs рдФрд░
рд╕реАрд╕реА рдЯреВ [рдИрдореЗрд▓ рд╕рдВрд░рдХреНрд╖рд┐рдд].
рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг (I18N) рд╕рдорд░реНрдерди
рд╣рдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ i18n (рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЯреЗрдХреНрд╕реНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдбреЗрдореЙрди рд╕реЗ рдХрдИ рд╕рдВрджреЗрд╢ рдЖрддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдлрд┐рд▓рд╣рд╛рд▓ рдЙрдирдХрд╛ рдЕрдиреБрд╡рд╛рдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
рдПрдХ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдЙрдкрдХрд░рдг рдореЗрдВ рдЖрдо рддреМрд░ рдкрд░ рд╕рднреА рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣рдЯрд╛ рджреА рдЬрд╛рддреА рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐
рд╡реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрдЧрд╣ рдШреЗрд░рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЛ рдкрдврд╝рдирд╛ рд╣реЛрдЧрд╛, рд╕рд╛рде рд╣реА рдЕрдкрдиреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рднреА рдмрдирд╛рдиреА рд╣реЛрдЧреА
рдкреАрдУ рдЙрдкрдХрд░рдг рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЗрдВ рдбрд╛рд▓рддрд╛ рд╣реИред
рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдХрднреА рдЕрдиреБрд╡рд╛рдж рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рд╣реЛрддреЗ рд╣реИрдВред
рд╕реНрд░реЛрдд рдХреЛрдб рдЙрдк-рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдВ
рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░реЗрдВ
рдкреБрдгреНрдп-рд╕рдВрд░реЗрдЦрдг-рд╕реНрдХреИрди(1) рдЖрджреЗрд╢ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдгред
рдЙрдкрдХрд░рдг
libguestfs рдЙрдкрдХрд░рдг, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдирд╛ рдЗрддреНрдпрд╛рджрд┐ред
рдЦреВрдм рдЬреЛрд░ рд╕реЗ рдкреАрдЯрдирд╛
рдмреИрд╢ рдЯреИрдм-рд╕рдорд╛рдкрди рд╕реНрдХреНрд░рд┐рдкреНрдЯред
рдмрд┐рд▓реНрдб-рдСрдХреНрд╕
рдСрдЯреЛрдЯреВрд▓реНрд╕ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рднрд┐рдиреНрди рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯред
рдирд┐рд░реНрдорд╛рддрд╛
virt-рдмрд┐рд▓реНрдбрд░(1) рдЖрджреЗрд╢ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдгред
рдмрд┐рд▓реНрд▓реА RSI рдкреБрдгреНрдп-рдмрд┐рд▓реНрд▓реА(1) рдЧреБрдг-рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо(1) virt-рд▓реЙрдЧ(1) рдФрд░ рдкреБрдгреНрдп-ls(1) рдЖрджреЗрд╢ рдФрд░
рдкреНрд░рд▓реЗрдЦрдиред
рдпреЛрдЧрджрд╛рди
рдмрд╛рд╣рд░реА рдпреЛрдЧрджрд╛рди, рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рднрд╛рдЧред
рдЕрдиреБрдХреВрд▓рд┐рдд
virt-рдЕрдиреБрдХреВрд▓рд┐рдд(1) рдЖрджреЗрд╢ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдгред
рдбреЗрдореЙрди
рдбреЗрдореЙрди рдЬреЛ libguestfs рдЙрдкрдХрд░рдг рдХреЗ рдЕрдВрджрд░ рдЪрд▓рддрд╛ рд╣реИ рдФрд░ рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рддрд╛ рд╣реИред
df рдкреБрдгреНрдп-рдбреАрдПрдл(1) рдЖрджреЗрд╢ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдгред
рдбреАрдЖрдИрдмреА рдкреБрдгреНрдп-рдбрд┐рдм(1) рдЖрджреЗрд╢ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдгред
diff
рдЧреБрдг-рдЕрдВрддрд░(1) рдЖрджреЗрд╢ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдгред
рдбреЙрдХреНрдЯрд░ рд╡рд┐рд╡рд┐рдз рдореИрдиреБрдЕрд▓ рдкреГрд╖реНрда.
рд╕рдВрдкрд╛рджрд┐рдд
рдЧреБрдг-рд╕рдВрдкрд╛рджрди(1) рдЖрджреЗрд╢ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдгред
рдЙрджрд╛рд╣рд░рдг
рд╕реА рдПрдкреАрдЖрдИ рдЙрджрд╛рд╣рд░рдг рдХреЛрдбред
рдордЫрд▓реА
рдЕрддрд┐рдерд┐ рдордЫрд▓реА(1), рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рд╢реЗрд▓, рдФрд░ рд╢реАрд░реНрд╖ рдкрд░ рдирд┐рд░реНрдорд┐рдд рд╡рд┐рднрд┐рдиреНрди рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреИрд╕реЗ
рдЧреБрдг-рдкреНрд░рддрд┐рд▓рд┐рдкрд┐(1) рдкреБрдгреНрдп-рдкреНрд░рддрд┐рд▓рд┐рдкрд┐(1) рдкреБрдгреНрдп-рддрд╛рд░-рдореЗрдВ(1) рдкреБрдгреНрдп-рдЯрд╛рд░-рдЖрдЙрдЯ(1).
рдкреНрд░рд╛рд░реВрдк
рдЧреБрдг-рдкреНрд░рд╛рд░реВрдк(1) рдЖрджреЗрд╢ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдгред
рдлреНрдпреВрдЬ
рдЧреЗрд╕реНрдЯрдорд╛рдЙрдВрдЯ(1), FUSE (рдпреВрдЬрд░рд╕реНрдкреЗрд╕ рдлрд╛рдЗрд▓рд╕рд┐рд╕реНрдЯрдо) libguestfs рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЬрдирдХ
рдЕрддреНрдпрдВрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬрдирд░реЗрдЯрд░, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдЖрд░рдкреАрд╕реА рдФрд░ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рд╕реА рдХреЛрдбред
рдкреНрд░рд╛рдкреНрдд-рдХрд░реНрдиреЗрд▓
рдкреБрдгреНрдп-рдкреНрд░рд╛рдкреНрдд-рдХрд░реНрдиреЗрд▓(1) рдЖрджреЗрд╢ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдгред
gnulib
Gnulib рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЧрдиреБрд▓рд┐рдм рдХреА рдПрдХ рдкреНрд░рддрд┐ рдпрд╣рд╛рдВ рд╢рд╛рдорд┐рд▓ рд╣реИред
рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░
рдЧреБрдг рдирд┐рд░реАрдХреНрд╖рдХ(1), рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдЫрд╡рд┐ рдирд┐рд░реАрдХреНрд╖рдХред
рдкреНрд░рддреАрдХ рдЪрд┐рдиреНрд╣
рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд▓реЛрдЧреЛ. рд╡реИрд╕реЗ рдордЫрд▓реА рдХреЛ рдЖрд░реНрдерд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
m4 рдСрдЯреЛрдХреЙрдиреНрдлрд╝ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ M4 рдореИрдХреНрд░реЛрдЬрд╝ред
рдореЗрдХ-рдПрдлрдПрд╕
рдкреБрдгреНрдп-рдореЗрдХ-рдПрдлрдПрд╕(1) рдЖрджреЗрд╢ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдгред
рдПрдордПрд▓рд▓рд┐рдм
рд╡рд┐рднрд┐рдиреНрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╛рдорд╛рдиреНрдп рдХреЛрдб рдкреБрдгреНрдп-рдЖрдХрд╛рд░ рдмрджрд▓рдирд╛(1) рдФрд░ рдЕрдиреНрдп рдЙрдкрдХрд░рдг рдЬреЛ рд╣реИрдВ
OCaml рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред
рдкреА2рд╡реА рдкреБрдгреНрдп-p2v(1) рдкреБрдгреНрдп-рдкреА2рд╡реА рдЖрдИрдПрд╕рдУ рдпрд╛ рдбрд┐рд╕реНрдХ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ
рдЫрд╡рд┐ред
po рд╕рд░рд▓ рдЧреЗрдЯрдЯреЗрдХреНрд╕реНрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХрд╛ рдЕрдиреБрд╡рд╛рджред
рдкреАрдУ-рджрд╕реНрддрд╛рд╡реЗрдЬрд╝
рдореИрдирдкреЗрдЬреЛрдВ рдФрд░ рдкреАрдУрдбреА рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдЕрдиреБрд╡рд╛рдж рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдФрд░ рдкреАрдУ рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдгред
рдЕрдВрддрддрдГ рдЗрд╕реЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ po рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛, рд▓реЗрдХрд┐рди рд╡рд╣ рдмрд▓реНрдХрд┐ рд╣реИ
рдЙрд▓рдЭрд╛ рд╣реБрдЖред
рдмрдЪрд╛рд╡
рдкреБрдгреНрдп-рдмрдЪрд╛рд╡(1) рдЖрджреЗрд╢ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдгред
рдЖрдХрд╛рд░ рдмрджрд▓реЗрдВ
рдкреБрдгреНрдп-рдЖрдХрд╛рд░ рдмрджрд▓рдирд╛(1) рдЖрджреЗрд╢ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдгред
рд╡рд┐рд░рд▓ рдХрд░рдирд╛
рдкреБрдгреНрдп-рд╡рд┐рд░рд▓рддрд╛(1) рдЖрджреЗрд╢ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдгред
" рд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдбред
sysprep
рдкреБрдгреНрдп-рд╕рд┐рд╕рдкреНрд░реЗрдк(1) рдЖрджреЗрд╢ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдгред
рдкрд░реАрдХреНрд╖рдг
рдЯреЗрд╕реНрдЯред
рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛
рдкрд░реАрдХреНрд╖рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЗрдВ рдФрд░ рдЕрдиреНрдп рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ред
рдкрд░реАрдХреНрд╖рдг-рдЙрдкрдХрд░рдг
рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдЙрдкрдХрд░рдг рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдЙрдирдХрд╛ рдХреНрдпреВрдореВ/рдХрд░реНрдиреЗрд▓ рд╕рдВрдпреЛрдЬрди рдХрд╛рдо рдХрд░реЗрдЧрд╛
libguestfs.
tmp рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддреЗ рд╕рдордп рдЕрд╕реНрдерд╛рдпреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЗрд╕рдХреЗ рдмрдЬрд╛рдп)ред / Tmp рд╡рдЧреИрд░рд╣)ред рдХрд╛рд░рдг рд╣реИ
рддрд╛рдХрд┐ рдЖрдк рдПрдХ рд╕реЗрдЯ рдХреЗ рдмрд┐рдирд╛ libguestfs рдХреЗ рдХрдИ рд╕рдорд╛рдирд╛рдВрддрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛ рд╕рдХреЗрдВ
рджреВрд╕рд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдЙрдкрдХрд░рдг рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкрд░реАрдХреНрд╖рдгред
рдЙрдкрдХрд░рдг
рдкрд░реНрд▓ рдореЗрдВ рд▓рд┐рдЦреЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓реНрд╕ (рдкреБрдгреНрдп-рдЬреАрдд-reg(1) рдФрд░ рдХрдИ рдЕрдиреНрдп)ред
v2v рдкреБрдгреНрдп-v2v(1) рдЖрджреЗрд╢ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдгред
рд╡реЗрдмрд╕рд╛рдЗрдЯ
RSI http://libguestfs.org рд╡реЗрдмрд╕рд╛рдЗрдЯ рдлрд╝рд╛рдЗрд▓реЗрдВ.
рд╕реА рддреЗрдЬ
Erlang
gobject
golang
Haskell
рдЬрд╛рд╡рд╛
рдЪрдВрджреНрд░рдорд╛
рдУрдХреИрдорд▓реА
рдкреАрдПрдЪрдкреА
рдкрд░реНрд▓
рдЕрдЬрдЧрд░
рдорд╛рдгрд┐рдХ
рднрд╛рд╖рд╛ рдмрдВрдзрди.
рд░рд╛рдпрдГ A рд╕реНрдерд┐рд░ рд░рд┐рд╣рд╛рдИ
рдЬрдм рд╣рдо рдПрдХ рд╕реНрдерд┐рд░ рд░рд┐рд▓реАрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣рд╛рдВ рдХрдИ рдЪрд░рдг рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рджреЗрдЦреЗрдВ "LIBGUESTFS
рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛" рдореЗрдВ Guestfs(3) рд╕реНрдерд┐рд░ рд╢рд╛рдЦрд╛ рдиреАрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдПред
┬╖ рдЪреЗрдХ "рдореЗрдХ && рдореЗрдХ рдЪреЗрдХ" рдХрдо рд╕реЗ рдХрдо рдлреЗрдбреЛрд░рд╛, рдбреЗрдмрд┐рдпрди рдФрд░ рдЙрдмрдВрдЯреВ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
┬╖ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ "./configure --without-libvirt" рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
┬╖ рдЕрдВрддрд┐рдо рд░реВрдк рджреЗрдирд╛ рдЧреЗрд╕реНрдЯрдлрд╝реНрд╕-рд░рд┐рд▓реАрдЬрд╝-рдиреЛрдЯреНрд╕.рдкреЙрдб
┬╖ рдЬрд╝рд╛рдирд╛рдЯрд╛ рд╕реЗ рдзрдХреНрдХрд╛ рджреЗрдВ рдФрд░ рдЦреАрдВрдЪреЗрдВред
рдЪрд▓рд╛рдПрдБ:
рдЬрд╝рдирд╛рдЯрд╛ рдкреБрд╢
рдирд╡реАрдирддрдо POT рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЬрд╝рд╛рдирд╛рдЯрд╛ рдореЗрдВ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдПред рддреЛ рднрд╛рдЧреЛ:
./рдЬрд╝рдирд╛рдЯрд╛-рдкреБрд▓.рд╢
рдЬреЛ рдирд╡реАрдирддрдо рдЕрдиреБрд╡рд╛рджрд┐рдд рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд░рдг рд╣реИ *.рдкреЛ рдлрд╛рдЗрд▓реЗрдВ.
┬╖ рдЧрдиреБрд▓рд┐рдм рдХреЛ рдирд╡реАрдирддрдо рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
┬╖ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдирдИ рд╕реНрдерд┐рд░ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБ рдмрдирд╛рдПрдБ http://libguestfs.org/download.
┬╖ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рд╡реЗрдмрд╕рд╛рдЗрдЯ/index.html.in.
┬╖ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗрдЯ рдХрд░реЗрдВ (рдореЗрдВ) config.ac) рдирдП рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг, рдпрд╛рдиреА. 1.XX.0, рдФрд░ рдкреНрд░рддрд┐рдмрджреНрдз
рдпрд╣:
./localconfigure
рдбрд┐рд╕реНрдЯрдХреНрд▓реАрди рдмрдирд╛рдПрдВ -k
./localconfigure
рдмрдирд╛рдУ && рдмрдирд╛рдУ рдЬрд┐рд▓рд╛
рдЕрдиреБрд░рдХреНрд╖рдХ-рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░реЗрдВ
рдЕрдиреБрд░рдХреНрд╖рдХ-рдЯреИрдЧ рдмрдирд╛рдУ
┬╖ рдЧрд┐рдЯ рдореЗрдВ рд╕реНрдерд┐рд░ рд╢рд╛рдЦрд╛ рдмрдирд╛рдПрдВ:
рдЧрд┐рдЯ рд╢рд╛рдЦрд╛ рд╕реНрдерд┐рд░-1.XX
рдЧрд┐рдЯ рдкреБрд╢ рдУрд░рд┐рдЬрд┐рди рд╕реНрдЯреЗрдмрд▓-1.XX
┬╖ рд╕реНрдерд┐рд░ рд╢рд╛рдЦрд╛ рдХрд╛ рдкреВрд░реНрдг рд╡рд┐рдореЛрдЪрди рдХрд░реЗрдВред
┬╖ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЕрдЧрд▓реЗ рд╡рд┐рдХрд╛рд╕ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдЙрд╕реЗ рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░реЗрдВред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдкреВрд░реНрдг рдХрд░реЗрдВ
рд╡рд┐рдХрд╛рд╕ рд╢рд╛рдЦрд╛ рдХрд╛ рд╡рд┐рдореЛрдЪрди.
onworks.net рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдирд▓рд╛рдЗрди рдЧреЗрд╕реНрдЯрдлрд╝реНрд╕-рд╣реИрдХрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ