名 前
guestfish - ゲ ス ト ・ フ ァ イ ル シ ス テ ム ・ シ ェ ル
書 式
guestfish
[--options] [commands]
guestfish
guestfish [--ro|--rw] -a disk.img
guestfish [--ro|--rw] -a disk.img -m dev[:mountpoint]
guestfish -d libvirt-domain
guestfish [--ro|--rw] -a disk.img -i
guestfish -d libvirt-domain -i
説 明
guestfish は 仮 想 マ シ ン の フ ァ イ ル シ ス テ ム を 検 査 お よ び 変 更 す る た め に 使 用 す る シ ェ ル お よ び コ マ ン ド ラ イ ン ツ ー ル で す 。 こ れ は libguestfs を 使 用 し 、 guestfs API の す べ て の 機 能 を 提 供 し ま す 。 詳 細 は guestfs(3) を 参 照 し て く だ さ い 。
guestfish は 、 シ ェ ル ス ク リ プ ト 、 コ マ ン ド ラ イ ン 、 対 話 式 シ ェ ル か ら libguestfs API へ の 構 造 的 な ア ク セ ス を 提 供 し ま す 。 壊 れ た 仮 想 マ シ ン イ メ ー ジ を 救 出 し た い 場 合 、 virt-rescue(1) コ マ ン ド を 考 え て く だ さ い 。
例
対 話 式 シ ェ ル と し て
$ guestfish
guestfish
へ よ う こ そ 。
仮 想 マ シ ン の
フ ァ イ ル シ ス
テ ム を 編 集 す
る た め の ゲ ス
ト ・ フ ァ イ ル
シ ス テ ム ・ シ
ェ ル で す 。 入
力 : コ マ ン ド 一
覧 の 表 示 は
’help’ マ ニ ュ ア
ル の 参 照 は
’man’ シ ェ ル の
終 了 は ’quit’ >
<fs> add-ro disk.img >
<fs> run >
<fs> list-filesystems
/dev/sda1: ext4
/dev/vg_guest/lv_root: ext4
/dev/vg_guest/lv_swap: swap >
<fs> mount /dev/vg_guest/lv_root / >
<fs> cat /etc/fstab
# /etc/fstab
# Created by anaconda
[...] >
<fs> exit シ ェ ル ス
ク リ プ ト か ら
Create a new /etc/motd file in a guest or disk
image:
guestfish
<<_EOF_
add disk.img
run
mount /dev/vg_guest/lv_root /
write /etc/motd "Welcome, new users"
_EOF_ デ ィ ス ク イ メ
ー ジ に あ る LVM 論
理 ボ リ ュ ー ム
を 一 覧 表 示 し
ま す :
guestfish -a
disk.img --ro <<_EOF_
run
lvs
_EOF_ デ ィ ス ク イ メ
ー ジ に あ る フ
ァ イ ル シ ス テ
ム を す べ て 一
覧 表 示 し ま す :
guestfish -a
disk.img --ro <<_EOF_
run
list-filesystems
_EOF_ コ マ ン ド ラ
イ ン 1 行 に お い
て
Update /etc/resolv.conf in a guest:
guestfish \
add disk.img : run : mount /dev/vg_guest/lv_root / : \
write /etc/resolv.conf "nameserver 1.2.3.4"
Edit /boot/grub/grub.conf interactively:
guestfish --rw
--add disk.img \
--mount /dev/vg_guest/lv_root \
--mount /dev/sda1:/boot \
edit /boot/grub/grub.conf デ ィ ス
ク を 自 動 的 に
マ ウ ン ト し ま
す 仮 想 マ シ ン
か ら デ ィ ス ク
を 自 動 的 に マ
ウ ン ト す る に
は -i オ プ シ ョ
ン を 使 用 し ま
す :
guestfish --ro
-a disk.img -i cat /etc/group
guestfish --ro -d libvirt-domain -i cat /etc/group
Another way to edit /boot/grub/grub.conf interactively is:
guestfish --rw
-a disk.img -i edit /boot/grub/grub.conf ス
ク リ プ ト の イ
ン タ ー プ リ タ
ー と し て
ext2 フ ォ ー マ ッ ト
済 み パ ー テ ィ
シ ョ ン を 含 む 100MB
デ ィ ス ク を 作
成 し ま す :
#!/usr/bin/guestfish
-f
sparse test1.img 100M
run
part-disk /dev/sda mbr
mkfs ext2 /dev/sda1 準 備 済 み
デ ィ ス ク を 用
い た 起 動
Create a 1G disk called test1.img containing a single
ext2-formatted partition:
guestfish -N fs 利 用 可 能 な も の を 一 覧 表 示 す る 方 法 :
guestfish -N
help | less リ モ ー ト ド
ラ イ ブ
SSH を 使 用 し て リ
モ ー ト デ ィ ス
ク に ア ク セ ス
し ま す :
guestfish -a
ssh://example.com/path/to/disk.img リ モ
ー ト 制 御
eval "`guestfish --listen`"
guestfish --remote add-ro disk.img
guestfish --remote run
guestfish --remote lvs
オ プ シ ョ ン
--help オ プ シ ョ ン の 一 般 的 な ヘ ル プ を 表 示 し ま す 。
-h |
--cmd-help す
べ て の 利 用 可
能 な guestfish コ マ ン
ド を 一 覧 表 示
し ま す 。
-h CMD
--cmd-help CMD 単 一 の コ
マ ン ド "cmd" の 詳
細 な ヘ ル プ を
表 示 し ま す 。
-a IMAGE
--add IMAGE ブ ロ ッ ク デ
バ イ ス ま た は
仮 想 マ シ ン イ
メ ー ジ を シ ェ
ル に 追 加 し ま
す 。 デ ィ ス ク
イ メ ー ジ の 形
式 は 自 動 検 知
さ れ ま す 。 こ
れ を 上 書 き し
て 強 制 的 に 特
定 の 形 式 を 使
用 す る 場 合 、
--format=.. オ プ シ ョ
ン を 使 用 し ま
す 。 こ の フ ラ
グ を 使 用 す る
こ と は "add" コ マ
ン ド を 使 用 す
る こ と と ほ ぼ
同 じ で す 。 --ro
フ ラ グ が 指 定
さ れ た 場 合 、
"readonly:true" と 同 じ
で す 。 --format=... フ
ラ グ が 指 定 さ
れ た 場 合 、
"format:..." と 同 じ で
す 。
-a URI
--add URI リ モ ー ト デ
ィ ス ク を 追 加
し ま す 。 "リ モ
ー ト ス ト レ ー
ジ の 追 加 " 参 照
。
--blocksize=512
--blocksize=4096
--blocksize
This parameter sets the sector size of the disk image. It affects all explicitly added subsequent disks after this parameter. Using --blocksize with no argument switches the disk sector size to the default value which is usually 512 bytes. See also "guestfs_add_drive_opts" in guestfs(3).
-c URI
--connect URI
I<-d> オ プ シ ョ ン と 同 時 に 使 用 す る と き 、 こ れ は 使 用 す る libvirt URI を 指 定 し ま す 。 標 準 状 態 で 標 準 の libvirt 接 続 を 使 用 し ま す 。
--csh
--listen オ プ シ ョ ン と csh 系 シ ェ ル を 使 用 し て い る 場 合 、 こ の オ プ シ ョ ン を 使 用 し ま す 。 以 下 の "リ モ ー ト 制 御 と csh" の セ ク シ ョ ン を 参 照 し て く だ さ い 。
-d LIBVIRT-DOMAIN
--domain LIBVIRT-DOMAIN 名 前 付
き libvirt 仮 想 マ シ
ン か ら デ ィ ス
ク を 追 加 し ま
す 。 --ro オ プ シ
ョ ン も 使 用 さ
れ て い る 場 合
、 す べ て の libvirt
仮 想 マ シ ン を
使 用 で き ま す
。 し か し な が
ら 、 書 き 込 み
モ ー ド で は 、
停 止 状 態 の libvirt
仮 想 マ シ ン の
み 指 定 で き ま
す 。 名 前 の 代
わ り に 仮 想 マ
シ ン の UUID を 使 用
で き ま す 。 こ
の フ ラ グ を 使
用 す る こ と は
、 "add-domain" コ マ ン
ド を 使 用 す る
こ と と ほ ぼ 同
等 で す 。 --ro フ
ラ グ を 指 定 し
た 場 合 、
"readonly:true" が 付 き
ま す 。 --format=... フ
ラ グ を 指 定 し
た 場 合 、 "format:..."
が 付 き ま す 。
--echo-keys キ ー や パ ス
フ レ ー ズ を 入
力 す る と き 、
通 常 guestfish は エ コ
ー を 無 効 化 し
ま す 。 そ の た
め 、 入 力 内 容
を 確 認 で き ま
せ ん 。 テ ン ペ
ス ト 攻 撃 の 心
配 が な く 、 部
屋 に 誰 も 居 な
け れ ば 、 入 力
内 容 を 確 認 す
る た め に こ の
フ ラ グ を 指 定
で き ま す 。
-f FILE
--file FILE
Read commands from "FILE". To write pure guestfish scripts, use:
#!/usr/bin/guestfish -f
--format=raw|qcow2|..
--format
-a オ プ シ ョ ン は 標 準 状 態 で デ ィ ス ク イ メ ー ジ の 形 式 を 自 動 検 知 し ま す 。 こ れ を 使 用 す る こ と に よ り 、 コ マ ン ド ラ イ ン で 後 続 の -a オ プ シ ョ ン の デ ィ ス ク 形 式 を 強 制 的 に 指 定 で き ま す 。 引 数 な し で --format を 使 用 す る こ と に よ り 、 後 続 の -a オ プ シ ョ ン に 対 し て 自 動 検 知 に 戻 せ ま す 。 例 :
guestfish --format=raw -a disk.img
forces raw format (no auto-detection) for disk.img.
guestfish --format=raw -a disk.img --format -a another.img
forces raw format (no auto-detection) for disk.img and reverts to auto-detection for another.img. 仮 想 マ シ ン の デ ィ ス ク イ メ ー ジ が 信 頼 で き な い raw 形 式 で あ る 場 合 、 デ ィ ス ク 形 式 を 指 定 す る た め に こ の オ プ シ ョ ン を 使 用 す べ き で す 。 こ れ に よ り 、 悪 意 の あ る 仮 想 マ シ ン に よ り 起 こ り 得 る セ キ ュ リ テ ィ 問 題 を 回 避 で き ま す (CVE-2010-3851)。 "add" 参 照 。
-i |
--inspector
virt-inspector(1) コ ー ド を 使 用 す る と 、 オ ペ レ ー テ ィ ン グ シ ス テ ム を 判 定 す る た め に デ ィ ス ク を 検 査 し ま す 。 ま た 、 実 際 の 仮 想 マ シ ン に マ ウ ン ト す る こ と と 同 じ よ う に フ ァ イ ル シ ス テ ム を マ ウ ン ト し ま す 。 一 般 的 な 使 用 法 は 次 の ど ち ら か で す :
guestfish -d myguest -i
(myguest と い う 停 止 状 態 の libvirt 仮 想 マ シ ン の 場 合 )、 ま た は :
guestfish --ro -d myguest -i
(動 作 中 の 仮 想 マ シ ン の 場 合 、 読 み 込 み 専 用 )、 ま た は ブ ロ ッ ク デ バ イ ス を 直 接 指 定 し ま す :
guestfish --rw -a /dev/Guests/MyGuest -i コ マ ン ド ラ イ ン 構 文 が 古 い バ ー ジ ョ ン の guestfish か ら 少 し 変 更 さ れ た こ と に 注 意 し て く だ さ い 。 ま だ 古 い 構 文 を 使 用 す る こ と が で き ま す :
guestfish
[--ro] -i disk.img
guestfish [--ro] -i libvirt-domain こ の
フ ラ グ を 使 用
す る こ と は 、
"inspect-os" コ マ ン ド
を 使 用 す る こ
と と ほ ぼ 同 じ
で す 。 検 出 さ
れ た フ ァ イ ル
シ ス テ ム を マ
ウ ン ト す る た
め に 他 の コ マ
ン ド を 使 用 し
ま す 。
--key SELECTOR
Specify a key for LUKS, to
automatically open a LUKS device when using the inspection.
--key NAME:key:KEY_STRING
--key UUID:key:KEY_STRING
--key all:key:KEY_STRING
"NAME" is the libguestfs device name (eg. "/dev/sda1"). "UUID" is the device UUID. "all" means try the key against any encrypted device.
Use the specified "KEY_STRING" as passphrase.
--key
NAME:file:FILENAME
--key UUID:file:FILENAME
--key all:file:FILENAME
Read the passphrase from FILENAME.
--key NAME:clevis
--key UUID:clevis
--key all:clevis
Attempt passphrase-less unlocking for the device with Clevis, over the network. Please refer to "ENCRYPTED DISKS" in guestfs(3) for more information on network-bound disk encryption (NBDE).
Note that if any such option is present on the command line, QEMU user networking will be automatically enabled for the libguestfs appliance.
--keys-from-stdin
Read key or passphrase parameters from stdin. The default is to try to read passphrases from the user by opening /dev/tty.
If there are multiple encrypted devices then you may need to supply multiple keys on stdin, one per line.
--listen バ
ッ ク グ ラ ウ ン
ド に フ ォ ー ク
し 、 リ モ ー ト
コ マ ン ド を リ
ッ ス ン し ま す
。 以 下 の "REMOTE CONTROL
GUESTFISH OVER A SOCKET" 参 照 。
-m dev[:mountpoint[:options[:fstype]]]
--mount dev[:mountpoint[:options[:fstype]]] 指
定 さ れ た マ ウ
ン ト ポ イ ン ト
に あ る 、 名 前
付 き パ ー テ ィ
シ ョ ン ま た は
論 理 ボ リ ュ ー
ム を マ ウ ン ト
し ま す 。
If the mountpoint is omitted, it defaults to /.
You have to mount something on / before most commands will work. 何 ら か の -m ま た は --mount オ プ シ ョ ン が 指 定 さ れ る と 、 仮 想 マ シ ン が 自 動 的 に 起 動 さ れ ま す 。
If you don’t know what filesystems a disk image contains, you can either run guestfish without this option, then list the partitions, filesystems and LVs available (see "list-partitions", "list-filesystems" and "lvs" commands), or you can use the virt-filesystems(1) program. マ ウ ン ト パ ラ メ ー タ ー の 三 番 目 の (ほ と ん ど 使 用 さ れ な い ) 項 目 は 、 バ ッ ク エ ン ド の フ ァ イ ル シ ス テ ム を マ ウ ン ト す る た め に 使 用 さ れ る マ ウ ン ト オ プ シ ョ ン の 一 覧 で す 。 こ れ が 指 定 さ れ て い な い 場 合 、 マ ウ ン ト オ プ シ ョ ン は 空 文 字 列 ま た は "ro" (--ro フ ラ グ が 使 用 さ れ て い る 場 合 ) に な り ま す 。
-m /dev/sda1:/:acl,user_xattr こ の フ ラ グ を 使 用 す る こ と は 、 "mount-options" コ マ ン ド を 使 用 す る こ と と 同 等 で す 。 パ ラ メ ー タ ー の 四 番 目 の 項 目 は 使 用 す る フ ァ イ ル シ ス テ ム ド ラ イ バ ー ("ext3" や "ntfs" な ど ) で す 。 こ れ は ほ と ん ど 必 要 あ り ま せ ん 。 し か し 、 複 数 の ド ラ イ バ ー が フ ァ イ ル シ ス テ ム に 対 し て 有 効 で あ る 場 合 (例 : "ext2" と "ext3")、 ま た は libguestfs が フ ァ イ ル シ ス テ ム を 誤 検 知 し て い る 場 合 、 こ れ は 有 用 で す 。
--network 仮
想 マ シ ン に お
い て QEMU の ユ ー ザ
ー モ ー ド の ネ
ッ ト ワ ー ク を
有 効 に し ま す
。
-N [FILENAME=]TYPE
--new [FILENAME=]TYPE
-N help
Prepare a fresh disk image formatted as "TYPE". This is an alternative to the -a option: whereas -a adds an existing disk, -N creates a preformatted disk with a filesystem and adds it. See "PREPARED DISK IMAGES" below.
-n |
--no-sync 自
動 同 期 を 無 効
化 し ま す 。 こ
れ は 標 準 で 有
効 化 さ れ て い
ま す 。 guestfs(3) マ
ニ ュ ア ル ペ ー
ジ の 自 動 同 期
に 関 す る 記 載
を 参 照 し て く
だ さ い 。
--no-dest-paths
Don’t tab-complete paths on the guest filesystem. It is useful to be able to hit the tab key to complete paths on the guest filesystem, but this causes extra "hidden" guestfs calls to be made, so this option is here to allow this feature to be disabled.
--pipe-error コ
マ ン ド の パ イ
プ (以 下 の "パ イ
プ " 参 照 ) へ の
書 き 込 み に 失
敗 し た 場 合 、
こ の コ マ ン ド
が エ ラ ー を 返
し ま す 。 標 準
状 態 で は 、 (歴
史 的 な 理 由 か
ら ) そ の よ う な
エ ラ ー は 次 の
た め に 無 視 さ
れ ま す 。 > <fs>
command_with_lots_of_output | head エ ラ
ー は 渡 さ れ ま
せ ん 。
--progress-bars
guestfish が 非 対 話 式 モ ー ド を 使 用 し て い る 場 合 で も 、 進 行 状 況 バ ー を 有 効 に し ま す 。
guestfish を 対 話 式 シ ェ ル で 使 用 す る と き 、 進 行 状 況 バ ー が 標 準 で 有 効 に な っ て い ま す 。
--no-progress-bars
進 行 状 況 バ ー
を 無 効 に し ま
す 。
--remote
--remote=PID リ モ ー ト
コ マ ン ド を $GUESTFISH_PID
ま た は "pid" に 送
信 し ま す 。 以
下 の "REMOTE CONTROL GUESTFISH OVER A
SOCKET" 参 照 。
-r |
--ro デ ィ ス ク が 追 加 さ れ 、 読 み 込 み 専 用 で マ ウ ン ト さ れ る よ う 、 -a, -d, -m オ プ シ ョ ン を 変 更 し ま す 。 デ ィ ス ク イ メ ー ジ ま た は 仮 想 マ シ ン が 使 用 中 の 場 合 、 必 ず こ の オ プ シ ョ ン を 使 用 す る 必 要 が あ り ま す 。 ま た 、 デ ィ ス ク へ の 書 き 込 み ア ク セ ス が 不 要 な 場 合 、 こ の オ プ シ ョ ン が 一 般 的 に 推 奨 さ れ ま す 。
-N オ プ シ ョ ン で 作 成 さ れ た 準 備 済 み デ ィ ス ク イ メ ー ジ は 、 こ の オ プ シ ョ ン の 効 果 が な い こ と に 注 意 し て く だ さ い 。 "add" の よ う な コ マ ン ド も 影 響 を 受 け ま せ ん 。 必 要 が あ れ ば 、 "readonly:true" オ プ シ ョ ン を 明 示 的 に 指 定 す る 必 要 が あ り ま す 。 以 下 の "OPENING DISKS FOR READ AND WRITE" 参 照 。
--selinux
This option is provided for backwards compatibility and does nothing.
-v |
--verbose 非 常 に 冗 長 な メ ッ セ ー ジ を 出 力 し ま す 。 バ グ を 探 す 場 合 、 と く に 有 用 で す 。
-V |
--version
guestfish / libguestfs の バ ー ジ ョ ン 番 号 を 表 示 し て 、 終 了 し ま す 。
-w |
--rw デ ィ ス ク が 追 加 さ れ 、 読 み 書 き 可 能 で マ ウ ン ト さ れ る よ う 、 -a, -d, -m オ プ シ ョ ン を 変 更 し ま す 。 以 下 の "OPENING DISKS FOR READ AND WRITE" 参 照 。
-x 各 コ マ ン ド を 実 行 す る 前 に エ コ ー し ま す 。 |
コ マ ン ド ラ イ ン に お け る コ マ ン ド
Any additional (non-option) arguments are treated as commands to execute.
Commands to execute should be separated by a colon (":"), where the colon is a separate parameter. Thus:
guestfish cmd [args...] : cmd [args...] : cmd [args...] ...
If there are no additional arguments, then we enter a shell, either an interactive shell with a prompt (if the input is a terminal) or a non-interactive shell.
In either command line mode or non-interactive shell, the first command that gives an error causes the whole shell to exit. In interactive mode (with a prompt) if a command fails, you can continue to enter commands.
Note that arguments of the commands will be considered as guestfish options if they start with a dash ("-"): you can always separate the guestfish options and the rest of the commands (with their arguments) using a double dash ("--"). For example:
guestfish -- disk_create overlay.qcow2 qcow2 -1 backingfile:image.img
launch (ま た は run) の 使 用 法
As with guestfs(3), you must first configure your guest by adding disks, then launch it, then mount any disks you need, and finally issue actions/commands. So the general order of the day is:
• |
add or -a/--add |
|||
• |
launch (別 名 run) |
|||
• |
mount ま た は -m/--mount |
|||
• |
any other commands |
"run" is a synonym for "launch". You must "launch" (or "run") your guest before mounting or performing any other commands.
The only exception is that if any of the -i, -m, --mount, -N or --new options were given then "run" is done automatically, simply because guestfish can’t perform the action you asked for without doing this.
OPENING DISKS FOR READ AND WRITE
The guestfish, guestmount(1) and virt-rescue(1) options --ro and --rw affect whether the other command line options -a, -c, -d, -i and -m open disk images read-only or for writing.
In libguestfs ≤ 1.10, guestfish, guestmount and virt-rescue defaulted to opening disk images supplied on the command line for write. To open a disk image read-only you have to do -a image --ro.
This matters: If you accidentally open a live VM disk image writable then you will cause irreversible disk corruption.
In a future libguestfs we intend to change the default the other way. Disk images will be opened read-only. You will have to either specify guestfish --rw, guestmount --rw, virt-rescue --rw, or change the configuration file in order to get write access for disk images specified by those other command line options.
This version of guestfish, guestmount and virt-rescue has a --rw option which does nothing (it is already the default). However it is highly recommended that you use this option to indicate that you need write access, and prepare your scripts for the day when this option will be required for write access.
Note: This does not affect commands like "add" and "mount", or any other libguestfs program apart from guestfish and guestmount.
QUOTING
You can quote ordinary parameters using either single or double quotes. For example:
add "file
with a space.img"
rm '/file name'
rm '/"'
A few commands require a list of strings to be passed. For these, use a whitespace-separated list, enclosed in quotes. Strings containing whitespace to be passed through must be enclosed in single quotes. A literal single quote must be escaped with a backslash.
vgcreate VG
"/dev/sda1 /dev/sdb1"
command "/bin/echo 'foo bar'"
command "/bin/echo \'foo\'"
ESCAPE
SEQUENCES IN DOUBLE QUOTED ARGUMENTS
In double-quoted arguments (only) use backslash to insert
special characters:
"\a" ア ラ ー ト (
ベ ル ) 文 字 。
"\b" バ ッ ク ス ペ
ー ス 文 字 。
"\f" フ ォ ー ム フ
ィ ー ド 文 字 。
"\n" 改 行 文 字 。
"\r" 復 帰 文 字 。
"\t" 水 平 タ ブ 文
字 。
"\v" 垂 直 タ ブ 文
字 。
"\"" 二 重 引 用
符 文 字 。
"\ooo"
8 進 値 ooo を 持 つ 文 字 。 ( C と は 異 な り ) ち ょ う ど 3 桁 で あ る 必 要 が あ り ま す 。
"\xhh"
16 進 数 値 hh を 持 つ 文 字 。 ち ょ う ど 2 桁 で あ る 必 要 が あ り ま す 。
In the current implementation "\000" and "\x00" cannot be used in strings.
"\\" 文 字 と し て の バ ッ ク ス ラ ッ シ ュ 文 字 。
オ プ シ ョ ン 引 数
Some commands take optional arguments. These arguments appear in this documentation as "[argname:..]". You can use them as in these examples:
add filename
add filename readonly:true
add filename format:qcow2 readonly:false
Each optional argument can appear at most once. All optional arguments must appear after the required ones.
数 値
こ の セ ク シ ョ ン は パ ラ メ ー タ ー と し て 整 数 を 取 り 得 る す べ て の コ マ ン ド に 適 用 さ れ ま す 。 容 量 の 接 尾 辞 コ マ ン ド が バ イ ト 単 位 で 計 算 さ れ る パ ラ メ ー タ ー を と る と き 、 キ ロ バ イ ト 、 メ ガ バ イ ト 、 そ れ よ り 大 き い 容 量 を 指 定 す る た め に 、 以 下 の 接 尾 辞 の ど れ か を と る こ と が で き ま す :
k ま た は K ま た は KiB キ ロ ( 1024 の 掛 け 算 ) バ イ ト 単 位 の 容 量 で す 。
KB 国 際 単 位 系 ( |
SI) の 1000 バ イ ト 単 位 の 容 量 で す 。 |
M ま た は MiB メ ガ ( 1048576 の 掛 け 算 ) バ イ ト 単 位 の 容 量 で す 。
MB 国 際 単 位 系 ( |
SI) の 1000000 バ イ ト 単 位 の 容 量 で す 。 |
G ま た は GiB ギ ガ ( 2 の 30 乗 の 掛 け 算 ) バ イ ト 単 位 の 容 量 で す 。
GB 国 際 単 位 系 ( |
SI) の 10 の 9 乗 バ イ ト 単 位 の 容 量 で す 。 |
T ま た は TiB テ ラ ( 2 の 40 乗 の 掛 け 算 ) バ イ ト 単 位 の 容 量 で す 。
TB 国 際 単 位 系 ( |
SI) の 10 の 12 乗 バ イ ト 単 位 の 容 量 で す 。 |
P ま た は PiB ペ タ ( 2 の 50 乗 の 掛 け 算 ) バ イ ト 単 位 の 容 量 で す 。
PB 国 際 単 位 系 ( |
SI) の 10 の 15 乗 バ イ ト 単 位 の 容 量 で す 。 |
E ま た は EiB エ ク サ ( 2 の 60 乗 の 掛 け 算 ) バ イ ト 単 位 の 容 量 で す 。
EB 国 際 単 位 系 ( |
SI) の 10 の 18 乗 バ イ ト 単 位 の 容 量 で す 。 |
Z ま た は ZiB ゼ タ ( 2 の 70 乗 の 掛 け 算 ) バ イ ト 単 位 の 容 量 で す 。
ZB 国 際 単 位 系 ( |
SI) の 10 の 21 乗 バ イ ト 単 位 の 容 量 で す 。 |
Y ま た は YiB ヨ タ ( 2 の 80 乗 の 掛 け 算 ) バ イ ト 単 位 の 容 量 で す 。
YB 国 際 単 位 系 ( |
SI) の 10 の 24 乗 バ イ ト 単 位 の 容 量 で す 。 |
例 :
truncate-size /file 1G フ ァ イ ル を 1 ギ ガ バ イ ト に 切 り 詰 め ま す 。 い く つ か の コ マ ン ド は キ ロ バ イ ト ま た は メ ガ バ イ ト 単 位 の 容 量 を と る の で 注 意 し て く だ さ い (た と え ば 、 "memsize" の パ ラ メ ー タ ー は す で に メ ガ バ イ ト 単 位 で 指 定 さ れ て い ま す )。 接 尾 辞 を つ け る こ と に よ り 、 期 待 し な い 結 果 に な る こ と が あ り ま す 。
10 進
数 値 お よ び 16 進
数 値
For specifying the radix (base) use the C convention: 0 to
prefix an octal number or "0x" to prefix a
hexadecimal number. For example:
1234 10
進 数 1234
02322 8 進 数 、 10 進 数
の 1234
0x4d2 16 進 数 、 10 進 数
の 1234
When using the "chmod" command, you almost always want to specify an octal number for the mode, and you must prefix it with 0 (unlike the Unix chmod(1) program):
chmod 0777
/public # 正 解
chmod 777 /public # 誤 り ! こ の
モ ー ド は 10 進 777 = 8
進 01411 で す 。
Commands that return numbers usually print them in decimal, but some commands print numbers in other radices (eg. "umask" prints the mode in octal, preceded by 0).
ワ イ ル ド カ ー ド お よ び グ ロ ブ
Neither guestfish nor the underlying guestfs API performs wildcard expansion (globbing) by default. So for example the following will not do what you expect:
rm-rf /home/*
Assuming you don’t have a directory called literally /home/* then the above command will return an error. ワ イ ル ド カ ー ド の 展 開 を 実 行 す る に は "glob" コ マ ン ド を 使 用 し ま す 。
glob rm-rf /home/*
runs "rm-rf" on each path that matches (ie. potentially running the command many times), equivalent to:
rm-rf /home/jim
rm-rf /home/joe
rm-rf /home/mary
"glob" only works on simple guest paths and not on device names.
If you have several parameters, each containing a wildcard, then glob will perform a Cartesian product.
コ メ ン ト
Any line which starts with a # character is treated as a comment and ignored. The # can optionally be preceded by whitespace, but not by a command. For example:
# こ
れ は コ メ ン ト
で す
# こ れ は コ メ ン
ト で す
foo # コ メ ン ト で は
あ り ま せ ん 空
行 も 無 視 さ れ
ま す 。
ロ ー カ ル の コ マ ン ド の 実 行 法
Any line which starts with a ! character is treated as a command sent to the local shell (/bin/sh or whatever system(3) uses). For example:
!mkdir local
tgz-out /remote local/remote-data.tar.gz
will create a directory "local" on the host, and then export the contents of /remote on the mounted filesystem to local/remote-data.tar.gz. (See "tgz-out").
To change the local directory, use the "lcd" command. "!cd" will have no effect, due to the way that subprocesses work in Unix.
LOCAL
COMMANDS WITH INLINE EXECUTION
If a line starts with <! then the shell command is
executed (as for !), but subsequently any output
(stdout) of the shell command is parsed and executed as
guestfish commands.
Thus you can use shell script to construct arbitrary guestfish commands which are then parsed by guestfish.
For example it is tedious to create a sequence of files (eg. /foo.1 through /foo.100) using guestfish commands alone. However this is simple if we use a shell script to create the guestfish commands for us:
<! for n in `seq 1 100`; do echo write /foo.$n $n; done
or with names like /foo.001:
<! for n in `seq 1 100`; do printf "write /foo.%03d %d\n" $n $n; done
When using guestfish interactively it can be helpful to just run the shell script first (ie. remove the initial "<" character so it is just an ordinary ! local command), see what guestfish commands it would run, and when you are happy with those prepend the "<" character to run the guestfish commands for real.
パ イ プ
Use "command <space> | command" to pipe the output of the first command (a guestfish command) to the second command (any host command). For example:
cat /etc/passwd | awk -F: '$3 == 0 { print }'
(where "cat" is the guestfish cat command, but "awk" is the host awk program). The above command would list all accounts in the guest filesystem which have UID 0, ie. root accounts including backdoors. Other examples:
hexdump /bin/ls
| head
list-devices | tail -1
tgz-out / - | tar ztf -
The space before the pipe symbol is required, any space after the pipe symbol is optional. Everything after the pipe symbol is just passed straight to the host shell, so it can contain redirections, globs and anything else that makes sense on the host side.
To use a literal argument which begins with a pipe symbol, you have to quote it, eg:
echo "|"
ホ ー ム デ ィ レ ク ト リ
If a parameter starts with the character "~" then the tilde may be expanded as a home directory path (either "~" for the current user’s home directory, or "~user" for another user).
Note that home directory expansion happens for users known on the host, not in the guest filesystem.
To use a literal argument which begins with a tilde, you have to quote it, eg:
echo "~"
暗 号 化 デ ィ ス ク
Libguestfs has some support for Linux guests encrypted according to the Linux Unified Key Setup (LUKS) standard, which includes nearly all whole disk encryption systems used by modern Linux guests, and Windows BitLocker.
Identify
encrypted block devices and partitions using
"vfs-type": > <fs> vfs-type /dev/sda2
crypto_LUKS ま た は : ><fs>
vfs-type /dev/sda2
BitLocker
Then open those
devices using "cryptsetup-open". This creates a
device-mapper device called /dev/mapper/name. >
<fs> cryptsetup-open /dev/sda2 name
Enter key or passphrase ("key"): <enter the
passphrase>
For Linux guests you have to tell LVM to scan for volume groups on the newly created mapper device:
vgscan
vg-activate-all true
The filesystems or logical volumes can now be mounted in the usual way.
Before closing an encrypted device you must unmount any logical volumes on it and deactivate the volume groups by calling "vg-activate false VG" on each one. Then you can close the mapper device:
vg-activate
false /dev/VG
cryptsetup-close /dev/mapper/name
Windows の パ ス
If a path is prefixed with "win:" then you can use Windows-style drive letters and paths (with some limitations). The following commands are equivalent:
file
/WINDOWS/system32/config/system.LOG
file win:\windows\system32\config\system.log
file WIN:C:\Windows\SYSTEM32\CONFIG\SYSTEM.LOG
The parameter is rewritten "behind the scenes" by looking up the position where the drive is mounted, prepending that to the path, changing all backslash characters to forward slash, then resolving the result using "case-sensitive-path". For example if the E: drive was mounted on /e then the parameter might be rewritten like this:
win:e:\foo\bar => /e/FOO/bar
This only works in argument positions that expect a path.
フ ァ イ ル の ア ッ プ ロ ー ド 方 法 お よ び ダ ウ ン ロ ー ド 方 法
For commands such as "upload", "download", "tar-in", "tar-out" and others which upload from or download to a local file, you can use the special filename "-" to mean "from stdin" or "to stdout". For example:
upload - /foo
reads stdin and creates from that a file /foo in the disk image, and:
tar-out /etc - | tar tf -
writes the tarball to stdout and then pipes that into the external "tar" command (see "PIPES").
When using "-" to read from stdin, the input is read up to the end of stdin. You can also use a special "heredoc"-like syntax to read up to some arbitrary end marker:
upload
-<<END /foo
input line 1
input line 2
input line 3
END
Any string of characters can be used instead of "END". The end marker must appear on a line of its own, without any preceding or following characters (not even spaces).
Note that the "-<<" syntax only applies to parameters used to upload local files (so-called "FileIn" parameters in the generator).
EXIT ON ERROR BEHAVIOUR
By default, guestfish will ignore any errors when in interactive mode (ie. taking commands from a human over a tty), and will exit on the first error in non-interactive mode (scripts, commands given on the command line).
If you prefix a command with a - character, then that command will not cause guestfish to exit, even if that (one) command returns an error.
guestfish の ソ ケ ッ ト 経 由 の リ モ ー ト 制 御
Guestfish can be remote-controlled over a socket. This is useful particularly in shell scripts where you want to make several different changes to a filesystem, but you don’t want the overhead of starting up a guestfish process each time.
Start a guestfish server process using:
eval "`guestfish --listen`"
and then send it commands by doing:
guestfish --remote cmd [...]
To cause the server to exit, send it the exit command:
guestfish --remote exit
Note that the server will normally exit if there is an error in a command. You can change this in the usual way. See section "EXIT ON ERROR BEHAVIOUR".
CONTROLLING
MULTIPLE GUESTFISH PROCESSES
The "eval" statement sets the environment variable
$GUESTFISH_PID, which is how the --remote option
knows where to send the commands. You can have several
guestfish listener processes running using:
eval
"`guestfish --listen`"
pid1=$GUESTFISH_PID
eval "`guestfish --listen`"
pid2=$GUESTFISH_PID
...
guestfish --remote=$pid1 cmd
guestfish --remote=$pid2 cmd
REMOTE
CONTROL AND CSH
csh 系 の シ ェ ル (csh, tcsh
な ど ) を 使 用 す
る と き 、 --csh オ
プ シ ョ ン を 追
加 す る 必 要 が
あ り ま す :
eval
"`guestfish --listen --csh`" リ モ
ー ト 制 御 の 詳
細
Remote control happens over a Unix domain socket called
/tmp/.guestfish-$UID/socket-$PID, where $UID is the
effective user ID of the process, and $PID is the process ID
of the server.
Guestfish client and server versions must match exactly.
Older versions of guestfish were vulnerable to CVE-2013-4419 (see "CVE-2013-4419" in guestfs(3)). This is fixed in the current version.
USING REMOTE
CONTROL ROBUSTLY FROM SHELL SCRIPTS
From Bash, you can use the following code which creates a
guestfish instance, correctly quotes the command line,
handles failure to start, and cleans up guestfish when the
script exits:
#!/bin/bash -
set -e
guestfish[0]="guestfish"
guestfish[1]="--listen"
guestfish[2]="--ro"
guestfish[3]="-a"
guestfish[4]="disk.img"
GUESTFISH_PID=
eval $("${guestfish[@]}")
if [ -z "$GUESTFISH_PID" ]; then
echo "error: guestfish didn't start up, see error
messages above"
exit 1
fi
cleanup_guestfish ()
{
guestfish --remote -- exit >/dev/null 2>&1 ||: }
trap cleanup_guestfish EXIT ERR
guestfish --remote -- run
# ...
REMOTE
CONTROL DOES NOT WORK WITH -a ETC. OPTIONS
Options such as -a, --add, -N,
--new etc don’t interact properly with remote
support. They are processed locally, and not sent through to
the remote guestfish. In particular this won’t do what
you expect:
guestfish --remote --add disk.img
Don’t use these options. Use the equivalent commands instead, eg:
guestfish --remote add-drive disk.img ま た は :
guestfish
--remote >
<fs> add disk.img
REMOTE
CONTROL RUN COMMAND HANGING
Using the "run" (or "launch") command
remotely in a command substitution context hangs, ie.
don’t do (note the backquotes):
a=`guestfish --remote run`
Since the "run" command produces no output on stdout, this is not useful anyway. For further information see https://bugzilla.redhat.com/show_bug.cgi?id=592910.
PREPARED DISK IMAGES
Use the -N [filename=]type or --new [filename=]type parameter to select one of a set of preformatted disk images that guestfish can make for you to save typing. This is particularly useful for testing purposes. This option is used instead of the -a option, and like -a can appear multiple times (and can be mixed with -a).
The new disk is called test1.img for the first -N, test2.img for the second and so on. Existing files in the current directory are overwritten. You can use a different filename by specifying "filename=" before the type (see examples below).
The type briefly describes how the disk should be sized, partitioned, how filesystem(s) should be created, and how content should be added. Optionally the type can be followed by extra parameters, separated by ":" (colon) characters. For example, -N fs creates a default 1G, sparsely-allocated disk, containing a single partition, with the partition formatted as ext2. -N fs:ext4:2G is the same, but for an ext4 filesystem on a 2GB disk instead.
Note that the prepared filesystem is not mounted. You would usually have to use the "mount /dev/sda1 /" command or add the -m /dev/sda1 option.
If any
-N or --new options are given, the libguestfs
appliance is automatically launched. 例
Create a 1G disk with an ext4-formatted partition, called
test1.img in the current directory:
guestfish -N fs:ext4
VFAT フ ォ ー マ ッ ト の パ ー テ ィ シ ョ ン を 持 つ 32MB デ ィ ス ク を 作 成 し て 、 マ ウ ン ト し ま す :
guestfish -N fs:vfat:32M -m /dev/sda1
200MB の 空 デ ィ ス ク を 作 成 し ま す :
guestfish -N disk:200M
Create a blank 200MB disk called blankdisk.img (instead of test1.img):
guestfish -N blankdisk.img=disk:200M
-N disk -
create a blank disk
"guestfish -N
[filename=]disk[:size]"
Create a blank disk, size 1G (by default).
The default size can be changed by supplying an optional parameter. オ プ シ ョ ン の パ ラ メ ー タ ー は 次 の と お り で す :
Name Default
value
size 1G the size of the disk image
-N part -
create a partitioned disk
"guestfish -N
[filename=]part[:size[:partition]]"
Create a disk with a single partition. By default the size of the disk is 1G (the available space in the partition will be a tiny bit smaller) and the partition table will be MBR (old DOS-style).
These defaults can be changed by supplying optional parameters. オ プ シ ョ ン の パ ラ メ ー タ ー は 次 の と お り で す :
Name Default
value
size 1G the size of the disk image
partition mbr partition table type
-N fs -
create a filesystem
"guestfish -N
[filename=]fs[:filesystem[:size[:partition]]]"
Create a disk with a single partition, with the partition containing an empty filesystem. This defaults to creating a 1G disk (the available space in the filesystem will be a tiny bit smaller) with an MBR (old DOS-style) partition table and an ext2 filesystem.
These defaults can be changed by supplying optional parameters. オ プ シ ョ ン の パ ラ メ ー タ ー は 次 の と お り で す :
Name Default
value
filesystem ext2 the type of filesystem to use
size 1G the size of the disk image
partition mbr partition table type
-N lv -
create a disk with logical volume
"guestfish -N
[filename=]lv[:name[:size[:partition]]]"
Create a disk with a single partition, set up the partition as an LVM2 physical volume, and place a volume group and logical volume on there. This defaults to creating a 1G disk with the VG and LV called "/dev/VG/LV". You can change the name of the VG and LV by supplying an alternate name as the first optional parameter.
Note this does not create a filesystem. Use ’lvfs’ to do that. オ プ シ ョ ン の パ ラ メ ー タ ー は 次 の と お り で す :
Name Default
value
name /dev/VG/LV the name of the VG and LV to use
size 1G the size of the disk image
partition mbr partition table type
-N lvfs -
create a disk with logical volume and filesystem
"guestfish -N
[filename=]lvfs[:name[:filesystem[:size[:partition]]]]"
Create a disk with a single partition, set up the partition as an LVM2 physical volume, and place a volume group and logical volume on there. Then format the LV with a filesystem. This defaults to creating a 1G disk with the VG and LV called "/dev/VG/LV", with an ext2 filesystem. オ プ シ ョ ン の パ ラ メ ー タ ー は 次 の と お り で す :
Name Default
value
name /dev/VG/LV the name of the VG and LV to use
filesystem ext2 the type of filesystem to use
size 1G the size of the disk image
partition mbr partition table type
-N bootroot
- create a boot and root filesystem
"guestfish -N
[filename=]bootroot[:bootfs[:rootfs[:size[:bootsize[:partition]]]]]"
Create a disk with two partitions, for boot and root filesystem. Format the two filesystems independently. There are several optional parameters which control the exact layout and filesystem types. オ プ シ ョ ン の パ ラ メ ー タ ー は 次 の と お り で す :
Name Default
value
bootfs ext2 the type of filesystem to use for boot
rootfs ext2 the type of filesystem to use for root
size 1G the size of the disk image
bootsize 128M the size of the boot filesystem
partition mbr partition table type
-N
bootrootlv - create a boot and root filesystem using LVM
"guestfish -N
[filename=]bootrootlv[:name[:bootfs[:rootfs[:size[:bootsize[:partition]]]]]]"
This is the same as "bootroot" but the root filesystem (only) is placed on a logical volume, named by default "/dev/VG/LV". There are several optional parameters which control the exact layout. オ プ シ ョ ン の パ ラ メ ー タ ー は 次 の と お り で す :
Name Default
value
name /dev/VG/LV the name of the VG and LV for root
bootfs ext2 the type of filesystem to use for boot
rootfs ext2 the type of filesystem to use for root
size 1G the size of the disk image
bootsize 128M the size of the boot filesystem
partition mbr partition table type
ADDING REMOTE STORAGE
For API-level documentation on this topic, see "guestfs_add_drive_opts" in guestfs(3) and "REMOTE STORAGE" in guestfs(3).
On the command line, you can use the -a option to add network block devices using a URI-style format, for example:
guestfish -a ssh://root [AT] example.com/disk.img
URIs cannot be used with the "add" command. The equivalent command using the API directly is: > <fs> add /disk.img protocol:ssh server:tcp:example.com username:root
The possible -a URI formats are described below.
-a disk.img
-a file:///path/to/disk.img
Add the local disk image (or device) called
disk.img.
-a
ftp://[user@]example.com[:port]/disk.img
-a ftps://[user@]example.com[:port]/disk.img
-a http://[user@]example.com[:port]/disk.img
-a https://[user@]example.com[:port]/disk.img
-a tftp://[user@]example.com[:port]/disk.img
Add a disk located on a remote FTP, HTTP or TFTP server.
The equivalent API command would be: > <fs> add /disk.img protocol:(ftp|...) server:tcp:example.com
-a
gluster://example.com[:port]/volname/image
Add a disk image located on GlusterFS storage.
The server is the one running "glusterd", and may be "localhost".
The equivalent API command would be: > <fs> add volname/image protocol:gluster server:tcp:example.com
-a
iscsi://example.com[:port]/target-iqn-name[/lun]
Add a disk located on an iSCSI server.
The equivalent API command would be: > <fs> add target-iqn-name/lun protocol:iscsi server:tcp:example.com
-a
nbd://example.com[:port]
-a nbd://example.com[:port]/exportname
-a nbd://?socket=/socket
-a nbd:///exportname?socket=/socket
Add a disk located on Network Block Device (nbd)
storage.
The exportname part of the URI specifies an NBD export name, but is usually left empty.
The optional ?socket parameter can be used to specify a Unix domain socket that we talk to the NBD server over. Note that you cannot mix server name (ie. TCP/IP) and socket path.
The equivalent API command would be (no export name): > <fs> add "" protocol:nbd server:[tcp:example.com|unix:/socket]
-a
rbd:///pool/disk
-a rbd://example.com[:port]/pool/disk
Add a disk image located on a Ceph (RBD/librbd) storage
volume.
Although libguestfs and Ceph supports multiple servers, only a single server can be specified when using this URI syntax.
The equivalent API command would be: > <fs> add pool/disk protocol:rbd server:tcp:example.com:port
-a
sheepdog://[example.com[:port]]/volume/image
Add a disk image located on a Sheepdog volume.
The server name is optional. Although libguestfs and Sheepdog supports multiple servers, only at most one server can be specified when using this URI syntax.
The equivalent API command would be: > <fs> add volume protocol:sheepdog [server:tcp:example.com]
-a
ssh://[user@]example.com[:port]/disk.img
Add a disk image located on a remote server, accessed using
the Secure Shell (ssh) SFTP protocol. SFTP is supported out
of the box by all major SSH servers.
The equivalent API command would be: > <fs> add /disk protocol:ssh server:tcp:example.com [username:user]
Note that the URIs follow the syntax of RFC 3986: in particular, there are restrictions on the allowed characters for the various components of the URI. Characters such as ":", "@", and "/" must be percent-encoded:
$ guestfish -a ssh://user:pass%40word [AT] example.com/disk.img
In this case, the password is "pass@word".
進 行 状 況 バ ー
Some (not all) long-running commands send progress notification messages as they are running. Guestfish turns these messages into progress bars.
When a command
that supports progress bars takes longer than two seconds to
run, and if progress bars are enabled, then you will see one
appearing below the command: > <fs> copy-size
/large-file /another-file 2048M
/ 10% [#####-----------------------------------------]
00:30
The spinner on the left hand side moves round once for every progress notification received from the backend. This is a (reasonably) golden assurance that the command is "doing something" even if the progress bar is not moving, because the command is able to send the progress notifications. When the bar reaches 100% and the command finishes, the spinner disappears.
Progress bars are enabled by default when guestfish is used interactively. You can enable them even for non-interactive modes using --progress-bars, and you can disable them completely using --no-progress-bars.
PROMPT
You can change or add colours to the default prompt ("><fs>") by setting the "GUESTFISH_PS1" environment variable. A second string ("GUESTFISH_OUTPUT") is printed after the command has been entered and before the output, allowing you to control the colour of the output. A third string ("GUESTFISH_INIT") is printed before the welcome message, allowing you to control the colour of that message. A fourth string ("GUESTFISH_RESTORE") is printed before guestfish exits.
A simple prompt can be set by setting "GUESTFISH_PS1" to an alternate string:
$
GUESTFISH_PS1='(type a command) '
$ export GUESTFISH_PS1
$ guestfish
[...]
(type a command) ▂
You can also use special escape sequences, as described in the table below:
\\ 文 字 と し て の バ ッ ク ス ラ ッ シ ュ 文 字 。 |
||
\[ |
||
\] |
(These should only be used in "GUESTFISH_PS1".)
Place non-printing characters (eg. terminal control codes for colours) between "\[...\]". What this does it to tell the readline(3) library that it should treat this subsequence as zero-width, so that command-line redisplay, editing etc works.
\a ベ ル 文 字 。 |
||
\e |
ASCII ESC (エ ス ケ ー プ ) 文 字 。
\n 改 行 。 |
||
\r 復 帰 。 |
\NNN コ ー ド
の 8 進 値 が NNN の ASCII
文 字 。
\xNN コ ー ド の 16 進
値 が NN の ASCII 文 字
。
EXAMPLES OF
PROMPTS
Note that these examples require a terminal that supports
ANSI escape codes.
• |
GUESTFISH_PS1='\[\e[1;30m\]><fs>\[\e[0;30m\] ' |
A bold black version of the ordinary prompt.
• |
GUESTFISH_PS1='\[\e[1;32m\]><fs>\[\e[0;31m\] ' |
GUESTFISH_OUTPUT='\e[0m'
GUESTFISH_RESTORE="$GUESTFISH_OUTPUT"
GUESTFISH_INIT='\e[1;34m'
Blue welcome text, green prompt, red commands, black command output.
WINDOWS 8
Windows 8 "fast startup" can prevent guestfish from mounting NTFS partitions. See "WINDOWS HIBERNATION AND WINDOWS 8 FAST STARTUP" in guestfs(3).
guestfish コ マ ン ド
The commands in this section are guestfish convenience commands, in other words, they are not part of the guestfs(3) API.
help
help
help cmd
help -l|--list
Without any parameter, this provides general help.
With a "cmd" parameter, this displays detailed help for that command.
With -l or --list, this list all commands.
exit
quit こ れ は guestfish を
終 了 し ま す 。
"^D" キ ー を 使 用
す る こ と も で
き ま す 。
alloc
allocate
alloc filename size
This creates an empty (zeroed) file of the given size, and then adds so it can be further examined.
For more advanced image creation, see "disk-create".
Size can be specified using standard suffixes, eg. "1M". ス パ ー ス な フ ァ イ ル を 作 成 す る に は 、 代 わ り に "sparse" を 使 用 し ま す 。 非 ス パ ー ス な デ ィ ス ク イ メ ー ジ を 作 成 す る に は 、 "準 備 済 み デ ィ ス ク イ メ ー ジ " を 参 照 し て く だ さ い 。
copy-in
copy-in local [local ...] /remotedir
"copy-in" copies local files or directories recursively into the disk image, placing them in the directory called /remotedir (which must exist). This guestfish meta-command turns into a sequence of "tar-in" and other commands as necessary.
Multiple local files and directories can be specified, but the last parameter must always be a remote directory. Wildcards cannot be used.
copy-out
copy-out remote [remote ...] localdir
"copy-out" copies remote files or directories recursively out of the disk image, placing them on the host disk in a local directory called "localdir" (which must exist). This guestfish meta-command turns into a sequence of "download", "tar-out" and other commands as necessary.
Multiple remote files and directories can be specified, but the last parameter must always be a local directory. To download to the current directory, use "." as in:
copy-out /home .
Wildcards cannot be used in the ordinary command, but you can use them with the help of "glob" like this:
glob copy-out /home/* .
delete-event
delete-event name
Delete the event handler which was previously registered as "name". If multiple event handlers were registered with the same name, they are all deleted.
guestfish コ マ ン ド の "event" お よ び "list-events" 参 照 。
display
display filename
Use "display" (a graphical display program) to display an image file. It downloads the file, and runs "display" on it.
To use an alternative program, set the "GUESTFISH_DISPLAY_IMAGE" environment variable. For example to use the GNOME display program:
export GUESTFISH_DISPLAY_IMAGE=eog
display(1) 参 照 。
echo
echo [params ...] パ ラ メ ー
タ ー を 端 末 に
返 し ま す 。
edit
vi
emacs
edit filename
This is used to edit a file. It downloads the file, edits it locally using your editor, then uploads the result.
The editor is $EDITOR. However if you use the alternate commands "vi" or "emacs" you will get those corresponding editors.
event
event name eventset "shell script ..."
Register a shell script fragment which is executed when an event is raised. See "guestfs_set_event_callback" in guestfs(3) for a discussion of the event API in libguestfs.
The "name" parameter is a name that you give to this event handler. It can be any string (even the empty string) and is simply there so you can delete the handler using the guestfish "delete-event" command.
The "eventset" parameter is a comma-separated list of one or more events, for example "close" or "close,trace". The special value "*" means all events.
The third and final parameter is the shell script fragment (or any external command) that is executed when any of the events in the eventset occurs. It is executed using "$SHELL -c", or if $SHELL is not set then /bin/sh -c.
The shell script fragment receives callback parameters as arguments $1, $2 etc. The actual event that was called is available in the environment variable $EVENT.
event
"" close "echo closed"
event messages appliance,library,trace "echo $@"
event "" progress "echo progress: $3/$4"
event "" * "echo $EVENT $@"
guestfish コ マ ン ド の "delete-event" お よ び "list-events" 参 照 。
glob
glob command args...
Expand wildcards in any paths in the args list, and run "command" repeatedly on each matching path.
"WILDCARDS AND GLOBBING" 参 照 。
hexedit
hexedit <filename|device>
hexedit <filename|device> <max>
hexedit <filename|device> <start>
<max>
Use hexedit (a hex editor) to edit all or part of a binary file or block device.
This command works by downloading potentially the whole file or device, editing it locally, then uploading it. If the file or device is large, you have to specify which part you wish to edit by using "max" and/or "start" "max" parameters. "start" and "max" are specified in bytes, with the usual modifiers allowed such as "1M" (1 megabyte).
For example to edit the first few sectors of a disk you might do:
hexedit /dev/sda 1M
which would allow you to edit anywhere within the first megabyte of the disk.
To edit the superblock of an ext2 filesystem on /dev/sda1, do:
hexedit /dev/sda1 0x400 0x400
(assuming the superblock is in the standard location).
This command requires the external hexedit(1) program. You can specify another program to use by setting the "HEXEDITOR" environment variable.
"hexdump" 参 照 。
lcd
lcd directory
Change the local directory, ie. the current directory of guestfish itself.
Note that "!cd" won’t do what you might expect.
list-events
list-events
List the event handlers registered using the guestfish "event" command.
man
manual
man
guestfish の マ ニ ュ ア ル ペ ー ジ を 開 き ま す 。
more
less
more filename
less filename フ ァ イ ル を
表 示 す る た め
に 使 用 し ま す
。 デ フ ォ ル ト
の ビ ュ ー ア ー
は $PAGER で す 。 し か
し 代 替 の コ マ
ン ド "less" を 使
用 す る と 、 明
示 的 に "less" コ
マ ン ド が 使 え
ま す 。
reopen
reopen
Close and reopen the libguestfs handle. It is not necessary to use this normally, because the handle is closed properly when guestfish exits. However this is occasionally useful for testing.
setenv
setenv VAR value 環 境 変 数
"VAR" を 文 字 列
"value" に 設 定 し
ま す 。 環 境 変
数 の 値 を 表 示
す る に は 、 次
の よ う に シ ェ
ル コ マ ン ド を
使 用 し ま す :
!echo $VAR
sparse
sparse filename size
This creates an empty sparse file of the given size, and then adds so it can be further examined.
In all respects it works the same as the "alloc" command, except that the image file is allocated sparsely, which means that disk blocks are not assigned to the file until they are needed. Sparse disk files only use space when written to, but they are slower and there is a danger you could run out of real disk space during a write operation.
For more advanced image creation, see "disk-create".
Size can be specified using standard suffixes, eg. "1M".
See also the guestfish "scratch" command.
supported
supported
This command returns a list of the optional groups known to the daemon, and indicates which ones are supported by this build of the libguestfs appliance.
"AVAILABILITY" in guestfs(3) 参 照 。
time
time command args...
Run the command as usual, but print the elapsed time afterwards. This can be useful for benchmarking operations.
unsetenv
unsetenv VAR 環 境 か ら
"VAR" を 削 除 し ま
す 。
コ マ ン ド
acl-delete-def-file
acl-delete-def-file dir こ の 関 数
は デ ィ レ ク ト
リ ー "dir" に 設 定
さ れ て い る 標
準 の POSIX ア ク セ ス
制 御 リ ス ト (ACL: Access
Control List) を 削 除 し ま
す 。
This command depends on the feature "acl". See also "feature-available".
acl-get-file
acl-get-file path acltype
This function returns the POSIX Access Control List (ACL) attached to "path". The ACL is returned in "long text form" (see acl(5)).
The
"acltype" parameter may be:
"access"
Return the ordinary (access) ACL for any file, directory or other filesystem object.
"default"
Return the default ACL. Normally this only makes sense if "path" is a directory.
This command depends on the feature "acl". See also "feature-available".
acl-set-file
acl-set-file path acltype acl
This function sets the POSIX Access Control List (ACL) attached to "path".
The
"acltype" parameter may be:
"access"
Set the ordinary (access) ACL for any file, directory or other filesystem object.
"default"
Set the default ACL. Normally this only makes sense if "path" is a directory.
The "acl" parameter is the new ACL in either "long text form" or "short text form" (see acl(5)). The new ACL completely replaces any previous ACL on the file. The ACL must contain the full Unix permissions (eg. "u::rwx,g::rx,o::rx").
If you are specifying individual users or groups, then the mask field is also required (eg. "m::rwx"), followed by the "u:ID:..." and/or "g:ID:..." field(s). A full ACL string might therefore look like this:
u::rwx,g::rwx,o::rwx,m::rwx,u:500:rwx,g:500:rwx
\ Unix permissions / \mask/ \ ACL /
You should use numeric UIDs and GIDs. To map usernames and groupnames to the correct numeric ID in the context of the guest, use the Augeas functions (see "aug-init").
This command depends on the feature "acl". See also "feature-available".
add-cdrom
add-cdrom filename こ の 関 数
は 仮 想 CD-ROM デ ィ ス
ク イ メ ー ジ を
仮 想 マ シ ン に
追 加 し ま す 。
The image is added as read-only drive, so this function is equivalent of "add-drive-ro".
This function is deprecated. In new code, use the "add-drive-ro" call instead.
Deprecated functions will not be removed from the API, but the fact that they are deprecated indicates that there are problems with correct use of these functions.
add-domain
domain
add-domain dom [libvirturi:..] [readonly:true|false]
[iface:..] [live:true|false] [allowuuid:true|false]
[readonlydisk:..] [cachemode:..] [discard:..]
[copyonread:true|false]
This function adds the disk(s) attached to the named libvirt domain "dom". It works by connecting to libvirt, requesting the domain and domain XML from libvirt, parsing it for disks, and calling "add-drive-opts" on each one.
The number of disks added is returned. This operation is atomic: if an error is returned, then no disks are added.
This function does some minimal checks to make sure the libvirt domain is not running (unless "readonly" is true). In a future version we will try to acquire the libvirt lock on each disk.
Disks must be accessible locally. This often means that adding disks from a remote libvirt connection (see https://libvirt.org/remote.html) will fail unless those disks are accessible via the same device path locally too.
The optional "libvirturi" parameter sets the libvirt URI (see https://libvirt.org/uri.html). If this is not set then we connect to the default libvirt URI (or one set through an environment variable, see the libvirt documentation for full details).
The optional "live" flag is ignored in libguestfs ≥ 1.48.
If the "allowuuid" flag is true (default is false) then a UUID may be passed instead of the domain name. The "dom" string is treated as a UUID first and looked up, and if that lookup fails then we treat "dom" as a name as usual.
The optional
"readonlydisk" parameter controls what we do for
disks which are marked <readonly/> in the libvirt XML.
Possible values are:
readonlydisk = "error"
"readonly" が 偽 な ら ば :
The whole call is aborted with an error if any disk with the <readonly/> flag is found.
"readonly" が 真 な ら ば :
<readonly/> フ ラ グ を 持 つ デ ィ ス ク は 読 み 込 み 専 用 で 追 加 さ れ ま す 。
readonlydisk = "read"
"readonly" が 偽 な ら ば :
<readonly/> フ ラ グ を 持 つ デ ィ ス ク は 読 み 込 み 専 用 で 追 加 さ れ ま す 。 他 の デ ィ ス ク は 読 み 書 き 用 で 追 加 さ れ ま す 。
"readonly" が 真 な ら ば :
<readonly/> フ ラ グ を 持 つ デ ィ ス ク は 読 み 込 み 専 用 で 追 加 さ れ ま す 。
readonlydisk = "write" (デ フ ォ ル ト )
"readonly" が 偽 な ら ば :
<readonly/> フ ラ グ を 持 つ デ ィ ス ク は 読 み 書 き 用 で 追 加 さ れ ま す 。
"readonly" が 真 な ら ば :
<readonly/> フ ラ グ を 持 つ デ ィ ス ク は 読 み 込 み 専 用 で 追 加 さ れ ま す 。
readonlydisk = "ignore"
"readonly" が 真 ま た は 偽 な ら ば :
<readonly/> フ ラ グ の あ る デ ィ ス ク は ス キ ッ プ さ れ ま す
If present, the value of "logical_block_size" attribute of <blockio/> tag in libvirt XML will be passed as "blocksize" parameter to "add-drive-opts". 他 の オ プ シ ョ ン 引 数 は 直 接 "add-drive-opts" に 渡 さ れ ま す 。 こ の コ マ ン ド は 1 つ ま た は そ れ 以 上 の オ プ シ ョ ン 引 数 を 持 つ 必 要 が あ り ま す 。 "オ プ シ ョ ン 引 数 " を 参 照 し て く だ さ い 。
add-drive
add
add-drive-opts
add-drive filename [readonly:true|false] [format:..]
[iface:..] [name:..] [label:..] [protocol:..] [server:..]
[username:..] [secret:..] [cachemode:..] [discard:..]
[copyonread:true|false] [blocksize:N]
This function adds a disk image called filename to the handle. filename may be a regular host file or a host device.
When this function is called before "launch" (the usual case) then the first time you call this function, the disk appears in the API as /dev/sda, the second time as /dev/sdb, and so on.
You don’t necessarily need to be root when using libguestfs. However you obviously do need sufficient permissions to access the filename for whatever operations you want to perform (ie. read access if you just want to read the image or write access if you want to modify the image).
This call checks that filename exists.
filename
may be the special string "/dev/null". See
"NULL DISKS" in guestfs(3). オ
プ シ ョ ン 引 数
は 次 の と お り
で す :
"readonly"
If true then the image is treated as read-only. Writes are still allowed, but they are stored in a temporary snapshot overlay which is discarded at the end. The disk that you add is not modified.
"format"
This forces the image format. If you omit this (or use "add-drive" or "add-drive-ro") then the format is automatically detected. Possible formats include "raw" and "qcow2".
Automatic detection of the format opens you up to a potential security hole when dealing with untrusted raw-format images. See CVE-2010-3851 and RHBZ#642934. Specifying the format closes this security hole.
"iface"
This rarely-used option lets you emulate the behaviour of the deprecated "add-drive-with-if" call (q.v.)
"name"
This field used to be passed as a hint for guest inspection, but it is no longer used.
"label"
Give the disk a label. The label should be a unique, short string using only ASCII characters "[a-zA-Z]". As well as its usual name in the API (such as /dev/sda), the drive will also be named /dev/disk/guestfs/label.
"デ ィ ス ク ラ ベ ル " in guestfs(3)を 参 照 し て く だ さ い 。
"protocol"
The optional protocol argument can be used to select an alternate source protocol.
See also:
"REMOTE STORAGE" in guestfs(3).
"protocol = "file""
filename is interpreted as a local file or device. This is the default if the optional protocol parameter is omitted.
"protocol = "ftp"|"ftps"|"http"|"https"|"tftp""
Connect to a remote FTP, HTTP or TFTP server. The "server" parameter must also be supplied - see below.
See also: "FTP, HTTP AND TFTP" in guestfs(3)
"protocol = "gluster""
Connect to the GlusterFS server. The "server" parameter must also be supplied - see below.
See also: "GLUSTER" in guestfs(3)
"protocol = "iscsi""
Connect to the iSCSI server. The "server" parameter must also be supplied - see below. The "username" parameter may be supplied. See below. The "secret" parameter may be supplied. See below.
See also: "ISCSI" in guestfs(3).
"protocol = "nbd""
Connect to the Network Block Device server. The "server" parameter must also be supplied - see below.
See also: "NETWORK BLOCK DEVICE" in guestfs(3).
"protocol = "rbd""
Connect to the Ceph (librbd/RBD) server. The "server" parameter must also be supplied - see below. The "username" parameter may be supplied. See below. The "secret" parameter may be supplied. See below.
See also: "CEPH" in guestfs(3).
"protocol = "sheepdog""
Connect to the Sheepdog server. The "server" parameter may also be supplied - see below.
See also: "SHEEPDOG" in guestfs(3).
"protocol = "ssh""
Connect to the Secure Shell (ssh) server.
The "server" parameter must be supplied. The "username" parameter may be supplied. See below.
See also: "SSH" in guestfs(3).
"server"
For protocols which require access to a remote server, this is a list of server(s).
Protocol Number
of servers required
-------- --------------------------
file List must be empty or param not used at all
ftp|ftps|http|https|tftp Exactly one
gluster Exactly one
iscsi Exactly one
nbd Exactly one
rbd Zero or more
sheepdog Zero or more
ssh Exactly one
Each list element is a string specifying a server. The string must be in one of the following formats:
hostname
hostname:port
tcp:hostname
tcp:hostname:port
unix:/path/to/socket
If the port number is omitted, then the standard port number for the protocol is used (see /etc/services).
"username"
For the "ftp", "ftps", "http", "https", "iscsi", "rbd", "ssh" and "tftp" protocols, this specifies the remote username.
If not given, then the local username is used for "ssh", and no authentication is attempted for ceph. But note this sometimes may give unexpected results, for example if using the libvirt backend and if the libvirt backend is configured to start the qemu appliance as a special user such as "qemu.qemu". If in doubt, specify the remote username you want.
"secret"
For the "rbd" protocol only, this specifies the ’secret’ to use when connecting to the remote device. It must be base64 encoded.
If not given, then a secret matching the given username will be looked up in the default keychain locations, or if no username is given, then no authentication will be used.
"cachemode"
Choose whether or not
libguestfs will obey sync operations (safe but slow) or not
(unsafe but fast). The possible values for this string are:
"cachemode = "writeback"" こ
れ が デ フ ォ ル
ト で す 。
Write operations in the API do not return until a write(2) call has completed in the host [but note this does not imply that anything gets written to disk].
Sync operations in the API, including implicit syncs caused by filesystem journalling, will not return until an fdatasync(2) call has completed in the host, indicating that data has been committed to disk.
"cachemode = "unsafe""
In this mode, there are no guarantees. Libguestfs may cache anything and ignore sync requests. This is suitable only for scratch or temporary disks.
"discard"
Enable or disable discard (a.k.a. trim or unmap) support on this drive. If enabled, operations such as "fstrim" will be able to discard / make thin / punch holes in the underlying host file or device.
Possible
discard settings are:
"discard = "disable""
Disable discard support. This is the default.
"discard = "enable""
Enable discard support. Fail if discard is not possible.
"discard = "besteffort""
Enable discard support if possible, but don’t fail if it is not supported.
Since not all backends and not all underlying systems support discard, this is a good choice if you want to use discard if possible, but don’t mind if it doesn’t work.
"copyonread"
The boolean parameter "copyonread" enables copy-on-read support. This only affects disk formats which have backing files, and causes reads to be stored in the overlay layer, speeding up multiple reads of the same area of disk.
The default is false.
"blocksize"
This parameter sets the sector size of the disk. Possible values are 512 (the default if the parameter is omitted) or 4096. Use 4096 when handling an "Advanced Format" disk that uses 4K sector size (https://en.wikipedia.org/wiki/Advanced_Format).
Only a subset of the backends support this parameter (currently only the libvirt and direct backends do). こ の コ マ ン ド は 1 つ ま た は そ れ 以 上 の オ プ シ ョ ン 引 数 を 持 つ 必 要 が あ り ま す 。 "オ プ シ ョ ン 引 数 " を 参 照 し て く だ さ い 。
add-drive-ro
add-ro
add-drive-ro filename
This function is the equivalent of calling "add-drive-opts" with the optional parameter "GUESTFS_ADD_DRIVE_OPTS_READONLY" set to 1, so the disk is added read-only, with the format being detected automatically.
add-drive-ro-with-if
add-drive-ro-with-if filename iface
This is the same as "add-drive-ro" but it allows you to specify the QEMU interface emulation to use at run time. Both the direct and the libvirt backends ignore "iface". こ の 関 数 は 推 奨 さ れ ま せ ん 。 新 し い コ ー ド で は 、 代 わ り に "add-drive" を 使 用 し て く だ さ い 。
Deprecated functions will not be removed from the API, but the fact that they are deprecated indicates that there are problems with correct use of these functions.
add-drive-scratch
scratch
add-drive-scratch size [name:..] [label:..]
[blocksize:N]
This command adds a temporary scratch drive to the handle. The "size" parameter is the virtual size (in bytes). The scratch drive is blank initially (all reads return zeroes until you start writing to it). The drive is deleted when the handle is closed.
The optional arguments "name", "label" and "blocksize" are passed through to "add-drive-opts". こ の コ マ ン ド は 1 つ ま た は そ れ 以 上 の オ プ シ ョ ン 引 数 を 持 つ 必 要 が あ り ま す 。 "オ プ シ ョ ン 引 数 " を 参 照 し て く だ さ い 。
add-drive-with-if
add-drive-with-if filename iface
This is the same as "add-drive" but it allows you to specify the QEMU interface emulation to use at run time. Both the direct and the libvirt backends ignore "iface". こ の 関 数 は 推 奨 さ れ ま せ ん 。 新 し い コ ー ド で は 、 代 わ り に "add-drive" を 使 用 し て く だ さ い 。
Deprecated functions will not be removed from the API, but the fact that they are deprecated indicates that there are problems with correct use of these functions.
aug-clear
aug-clear augpath
Set the value associated with "path" to "NULL". This is the same as the augtool(1) "clear" command.
aug-close
aug-close
Close the current Augeas handle and free up any resources used by it. After calling this, you have to call "aug-init" again before you can use any other Augeas functions.
aug-defnode
aug-defnode name expr val そ の 値
が "expr" を 評 価
し た 結 果 で あ
る 変 数 "name" を
定 義 し ま す 。
If "expr" evaluates to an empty nodeset, a node is created, equivalent to calling "aug-set" "expr", "val". "name" will be the nodeset containing that single node. 成 功 し た 場 合 、 ノ ー ド セ ッ ト に 含 ま れ る ノ ー ド 数 を 含 む ペ ア が 返 さ れ ま す 。 ま た 、 ノ ー ド が 作 成 さ れ た か ど う か の 論 理 フ ラ グ が 返 さ れ ま す 。
aug-defvar
aug-defvar name expr
"expr" を 評 価 し た 結 果 の 値 で あ る Augeas 変 数 "name" を 定 義 し ま す 。 "expr" が NULL な ら ば 、 "name" が 定 義 さ れ ま せ ん 。 成 功 し た 場 合 、 "expr" に あ る ノ ー ド 数 が 返 さ れ ま す 。 ま た は 、 "expr" が ノ ー ド セ ッ ト 以 外 の も の で あ る と 評 価 さ れ た 場 合 、 0 が 返 さ れ ま す 。
aug-get
aug-get augpath
"path" と 関 連 づ け ら れ た 値 を 検 索 し ま す 。 "path" が ち ょ う ど 一 つ の ノ ー ド と 一 致 し た 場 合 、 "value" が 返 さ れ ま す 。
aug-init
aug-init root flags
Create a new Augeas handle for editing configuration files. If there was any previous Augeas handle associated with this guestfs session, then it is closed.
You must call this before using any other "aug-*" commands.
"root" is the filesystem root. "root" must not be NULL, use / instead.
The flags are
the same as the flags defined in <augeas.h>, the
logical or of the following integers:
"AUG_SAVE_BACKUP" = 1
".augsave" 拡 張 子 を 付 け て 元 の フ ァ イ ル を 保 持 し ま す 。
"AUG_SAVE_NEWFILE" =
2 拡 張 子 ".augnew" を
付 け た フ ァ イ
ル に 変 更 点 を
保 存 し 、 元 を
上 書 き し ま せ
ん 。 "AUG_SAVE_BACKUP" を
上 書 き し ま す
。
"AUG_TYPE_CHECK" = 4
Typecheck lenses.
This option is only useful when debugging Augeas lenses. Use of this option may require additional memory for the libguestfs appliance. You may need to set the "LIBGUESTFS_MEMSIZE" environment variable or call "set-memsize".
"AUG_NO_STDINC" = 8
モ ジ ュ ー ル の
標 準 的 な 読 み
込 み パ ス を 使
用 し ま せ ん 。
"AUG_SAVE_NOOP" = 16
Make save a no-op, just record what would have been changed.
"AUG_NO_LOAD" = 32
"aug-init" に あ る ツ リ ー を 読 み 込 み ま せ ん 。 ハ ン ド ル を 閉 じ る に は 、 "aug-close" を 呼 び 出 す 必 要 が あ り ま す 。
Augeas に 関 す る 詳 細 は http://augeas.net/ を 参 照 し て く だ さ い 。
aug-insert
aug-insert augpath label true|false
Create a new sibling "label" for "path", inserting it into the tree before or after "path" (depending on the boolean flag "before").
"path" must match exactly one existing node in the tree, and "label" must be a label, ie. not contain /, "*" or end with a bracketed index "[N]".
aug-label
aug-label augpath
The label (name of the last element) of the Augeas path expression "augpath" is returned. "augpath" must match exactly one node, else this function returns an error.
aug-load
aug-load フ ァ イ ル を
ツ リ ー の 中 に
読 み 込 み ま す
See "aug_load" in the Augeas documentation for the full gory details.
aug-ls
aug-ls augpath
This is just a shortcut for listing "aug-match" "path/*" and sorting the resulting nodes into alphabetical order.
aug-match
aug-match augpath
Returns a list of paths which match the path expression "path". The returned paths are sufficiently qualified so that they match exactly one node in the current tree.
aug-mv
aug-mv src dest ノ ー ド "src"
を "dest" に 移 動
し ま す 。 "src" は
た だ 一 つ の ノ
ー ド で あ る 必
要 が あ り ま す
。 "dest" は 存 在
す る と 上 書 き
さ れ ま す 。
aug-rm
aug-rm augpath
"path" と す べ て の 子 を 削 除 し ま す 。 成 功 す る と 、 こ れ は 削 除 さ れ た 項 目 の 数 が 返 し ま す 。
aug-save
aug-save こ れ に よ り
、 す べ て の 保
留 の 変 更 が デ
ィ ス ク に 書 き
込 ま れ ま す 。
The flags which were passed to "aug-init" affect exactly how files are saved.
aug-set
aug-set augpath val
Set the value associated with "augpath" to "val".
In the Augeas API, it is possible to clear a node by setting the value to NULL. Due to an oversight in the libguestfs API you cannot do that with this call. Instead you must use the "aug-clear" call.
aug-setm
aug-setm base sub val
Change multiple Augeas nodes in a single operation. "base" is an expression matching multiple nodes. "sub" is a path expression relative to "base". All nodes matching "base" are found, and then for each node, "sub" is changed to "val". "sub" may also be "NULL" in which case the "base" nodes are modified.
This returns the number of nodes modified.
aug-transform
aug-transform lens file [remove:true|false]
Add an Augeas transformation for the specified "lens" so it can handle "file".
If "remove" is true ("false" by default), then the transformation is removed. こ の コ マ ン ド は 1 つ ま た は そ れ 以 上 の オ プ シ ョ ン 引 数 を 持 つ 必 要 が あ り ま す 。 "オ プ シ ョ ン 引 数 " を 参 照 し て く だ さ い 。
available
available 'groups ...'
This command is used to check the availability of some groups of functionality in the appliance, which not all builds of the libguestfs appliance will be able to provide.
The libguestfs groups, and the functions that those groups correspond to, are listed in "AVAILABILITY" in guestfs(3). You can also fetch this list at runtime by calling "available-all-groups".
The argument "groups" is a list of group names, eg: "["inotify", "augeas"]" would check for the availability of the Linux inotify functions and Augeas (configuration file editing) functions.
The command returns no error if all requested groups are available.
It fails with an error if one or more of the requested groups is unavailable in the appliance.
If an unknown group name is included in the list of groups then an error is always returned. 注 記 :
• |
"feature-available" is the same as this call, but with a slightly simpler to use API: that call returns a boolean true/false instead of throwing an error. | ||
• |
You must call "launch" before calling this function. |
The reason is because we don’t know what groups are supported by the appliance/daemon until it is running and can be queried.
• |
If a group of functions is available, this does not necessarily mean that they will work. You still have to check for errors when calling individual API functions even if they are available. | ||
• |
It is usually the job of distro packagers to build complete functionality into the libguestfs appliance. Upstream libguestfs, if built from source with all requirements satisfied, will support everything. | ||
• |
This call was added in version 1.0.80. In previous versions of libguestfs all you could do would be to speculatively execute a command to find out if the daemon implemented it. See also "version". |
"filesystem-available" 参 照 。
available-all-groups
available-all-groups
This command returns a list of all optional groups that this daemon knows about. Note this returns both supported and unsupported groups. To find out which ones the daemon can actually support you have to call "available" / "feature-available" on each member of the returned list.
See also "available", "feature-available" and "AVAILABILITY" in guestfs(3).
base64-in
base64-in (base64file|-) filename
This command uploads base64-encoded data from "base64file" to filename. 標 準 入 力 /標 準 出 力 か ら 読 み 込 み /書 き 込 み す る に は 、 フ ァ イ ル 名 の 代 わ り に "-" を 使 用 し ま す 。
base64-out
base64-out filename (base64file|-)
This command downloads the contents of filename, writing it out to local file "base64file" encoded as base64. 標 準 入 力 /標 準 出 力 か ら 読 み 込 み /書 き 込 み す る に は 、 フ ァ イ ル 名 の 代 わ り に "-" を 使 用 し ま す 。
blkdiscard
blkdiscard device
This discards all blocks on the block device "device", giving the free space back to the host.
This operation requires support in libguestfs, the host filesystem, qemu and the host kernel. If this support isn’t present it may give an error or even appear to run but do nothing. You must also set the "discard" attribute on the underlying drive (see "add-drive-opts").
This command depends on the feature "blkdiscard". See also "feature-available".
blkdiscardzeroes
blkdiscardzeroes device
This call returns true if blocks on "device" that have been discarded by a call to "blkdiscard" are returned as blocks of zero bytes when read the next time.
If it returns false, then it may be that discarded blocks are read as stale or random data.
This command depends on the feature "blkdiscardzeroes". See also "feature-available".
blkid
blkid device
This command
returns block device attributes for "device". The
following fields are usually present in the returned hash.
Other fields may also be present.
"UUID" こ の デ バ
イ ス の UUID。
"LABEL" こ の デ バ
イ ス の ラ ベ ル
。
"VERSION"
blkid コ マ ン ド の バ ー ジ ョ ン 。
"TYPE" こ
の デ バ イ ス の
フ ァ イ ル シ ス
テ ム 形 式 ま た
は RAID。
"USAGE" こ の デ バ
イ ス の 使 用 法
で す 。 た と え
ば 、 "filesystem" や
"raid"。
blockdev-flushbufs
blockdev-flushbufs device
"device" と 関 連 づ け ら れ て い る 内 部 バ ッ フ ァ ー を フ ラ ッ シ ュ す る よ う カ ー ネ ル に 指 示 し ま す 。 こ れ は blockdev(8) コ マ ン ド を 使 用 し ま す 。
blockdev-getbsz
blockdev-getbsz device こ れ は デ
バ イ ス の ブ ロ
ッ ク 容 量 を 返
し ま す 。
Note: this is different from both size in blocks and filesystem block size. Also this setting is not really used by anything. You should probably not use it for anything. Filesystems have their own idea about what block size to choose. こ れ は blockdev(8) コ マ ン ド を 使 用 し ま す 。
blockdev-getro
blockdev-getro device ブ ロ ッ ク
デ バ イ ス が 読
み 込 み 専 用 で
あ る か ど う か
を 示 す 論 理 値
を 返 し ま す (
読 み 込 み 専 用
な ら ば 真 、 そ
う で な け れ ば
偽 ) 。 こ れ は
blockdev(8) コ マ ン ド
を 使 用 し ま す
。
blockdev-getsize64
blockdev-getsize64 device こ れ は
デ バ イ ス の 容
量 を バ イ ト 単
位 で 返 し ま す
。
"blockdev-getsz" 参 照 。 こ れ は blockdev(8) コ マ ン ド を 使 用 し ま す 。
blockdev-getss
blockdev-getss device こ れ は ブ
ロ ッ ク デ バ イ
ス の セ ク タ ー
容 量 を 返 し ま
す 。 通 常 は 512 で
す が 、 最 近 の
デ バ イ ス は よ
り 大 き い か も
し れ ま せ ん 。
( こ れ は セ ク
タ ー の サ イ ズ
で は あ り ま せ
ん 、 そ の た め
に は "blockdev-getsz" を
使 用 す る 必 要
が あ る こ と に
注 意 し て く だ
さ い ) 。 こ れ
は blockdev(8) コ マ ン
ド を 使 用 し ま
す 。
blockdev-getsz
blockdev-getsz device
This returns the size of the device in units of 512-byte sectors (even if the sectorsize isn’t 512 bytes ... weird).
See also "blockdev-getss" for the real sector size of the device, and "blockdev-getsize64" for the more useful size in bytes. こ れ は blockdev(8) コ マ ン ド を 使 用 し ま す 。
blockdev-rereadpt
blockdev-rereadpt device
"device" の パ ー テ ィ シ ョ ン テ ー ブ ル を 再 読 み 込 み し ま す 。 こ れ は blockdev(8) コ マ ン ド を 使 用 し ま す 。
blockdev-setbsz
blockdev-setbsz device blocksize
This call does nothing and has never done anything because of a bug in blockdev. Do not use it.
If you need to set the filesystem block size, use the "blocksize" option of "mkfs".
This function is deprecated. There is no replacement. Consult the API documentation in guestfs(3) for further information.
Deprecated functions will not be removed from the API, but the fact that they are deprecated indicates that there are problems with correct use of these functions.
blockdev-setra
blockdev-setra device sectors
Set readahead (in 512-byte sectors) for the device. こ れ は blockdev(8) コ マ ン ド を 使 用 し ま す 。
blockdev-setro
blockdev-setro device
"device" と い う 名 前 の ブ ロ ッ ク デ バ イ ス を 読 み 込 み 専 用 に 設 定 し ま す 。 こ れ は blockdev(8) コ マ ン ド を 使 用 し ま す 。
blockdev-setrw
blockdev-setrw device
"device" と い う 名 前 の ブ ロ ッ ク デ バ イ ス を 読 み 書 き に 設 定 し ま す 。 こ れ は blockdev(8) コ マ ン ド を 使 用 し ま す 。
btrfs-balance-cancel
btrfs-balance-cancel path
Cancel a running balance on a btrfs filesystem.
This command depends on the feature "btrfs". See also "feature-available".
btrfs-balance-pause
btrfs-balance-pause path
Pause a running balance on a btrfs filesystem.
This command depends on the feature "btrfs". See also "feature-available".
btrfs-balance-resume
btrfs-balance-resume path
Resume a paused balance on a btrfs filesystem.
This command depends on the feature "btrfs". See also "feature-available".
btrfs-balance-status
btrfs-balance-status path
Show the status of a running or paused balance on a btrfs filesystem.
This command depends on the feature "btrfs". See also "feature-available".
btrfs-device-add
btrfs-device-add 'devices ...' fs
"devices" に あ る デ バ イ ス の 一 覧 を "fs" に マ ウ ン ト さ れ た btrfs フ ァ イ ル シ ス テ ム に 追 加 し ま す 。 も し "devices" が 空 の 一 覧 な ら ば 、 何 も し ま せ ん 。
This command depends on the feature "btrfs". See also "feature-available".
btrfs-device-delete
btrfs-device-delete 'devices ...' fs
"devices" に あ る デ バ イ ス の 一 覧 を "fs" に マ ウ ン ト さ れ た btrfs フ ァ イ ル シ ス テ ム か ら 削 除 し ま す 。 も し "devices" が 空 の 一 覧 な ら ば 、 何 も し ま せ ん 。
This command depends on the feature "btrfs". See also "feature-available".
btrfs-filesystem-balance
btrfs-balance
btrfs-filesystem-balance fs
Balance the chunks in the btrfs filesystem mounted at "fs" across the underlying devices.
This command depends on the feature "btrfs". See also "feature-available".
btrfs-filesystem-defragment
btrfs-filesystem-defragment path [flush:true|false]
[compress:..]
Defragment a file or directory on a btrfs filesystem. compress is one of zlib or lzo. こ の コ マ ン ド は 1 つ ま た は そ れ 以 上 の オ プ シ ョ ン 引 数 を 持 つ 必 要 が あ り ま す 。 "オ プ シ ョ ン 引 数 " を 参 照 し て く だ さ い 。
This command depends on the feature "btrfs". See also "feature-available".
btrfs-filesystem-resize
btrfs-filesystem-resize mountpoint [size:N] こ
の コ マ ン ド は btrfs
フ ァ イ ル シ ス
テ ム の 容 量 を
変 更 し ま す 。
Note that
unlike other resize calls, the filesystem has to be mounted
and the parameter is the mountpoint not the device (this is
a requirement of btrfs itself). オ プ シ
ョ ン の パ ラ メ
ー タ ー は 次 の
と お り で す :
"size" フ ァ イ ル
シ ス テ ム の 新
し い 容 量 ( バ
イ ト 単 位 ) 。
省 略 さ れ る と
、 フ ァ イ ル シ
ス テ ム は 最 大
の 容 量 に 変 更
さ れ ま す 。
btrfs(8) 参 照 。 こ の コ マ ン ド は 1 つ ま た は そ れ 以 上 の オ プ シ ョ ン 引 数 を 持 つ 必 要 が あ り ま す 。 "オ プ シ ョ ン 引 数 " を 参 照 し て く だ さ い 。
This command depends on the feature "btrfs". See also "feature-available".
btrfs-filesystem-show
btrfs-filesystem-show device
Show all the devices where the filesystems in "device" is spanned over.
If not all the devices for the filesystems are present, then this function fails and the "errno" is set to "ENODEV".
This command depends on the feature "btrfs". See also "feature-available".
btrfs-filesystem-sync
btrfs-filesystem-sync fs
"fs" に マ ウ ン ト さ れ た btrfs フ ァ イ ル シ ス テ ム に お い て 強 制 同 期 し ま す 。
This command depends on the feature "btrfs". See also "feature-available".
btrfs-fsck
btrfs-fsck device [superblock:N] [repair:true|false]
btrfs フ ァ イ ル シ ス テ ム を チ ェ ッ ク す る た め に 使 用 さ れ る と 、 "device" は フ ァ イ ル シ ス テ ム が 保 存 さ れ て い る デ バ イ ス フ ァ イ ル で す 。 こ の コ マ ン ド は 1 つ ま た は そ れ 以 上 の オ プ シ ョ ン 引 数 を 持 つ 必 要 が あ り ま す 。 "オ プ シ ョ ン 引 数 " を 参 照 し て く だ さ い 。
This command depends on the feature "btrfs". See also "feature-available".
btrfs-image
btrfs-image 'source ...' image [compresslevel:N]
This is used to create an image of a btrfs filesystem. All data will be zeroed, but metadata and the like is preserved. こ の コ マ ン ド は 1 つ ま た は そ れ 以 上 の オ プ シ ョ ン 引 数 を 持 つ 必 要 が あ り ま す 。 "オ プ シ ョ ン 引 数 " を 参 照 し て く だ さ い 。
This command depends on the feature "btrfs". See also "feature-available".
btrfs-qgroup-assign
btrfs-qgroup-assign src dst path
Add qgroup "src" to parent qgroup "dst". This command can group several qgroups into a parent qgroup to share common limit.
This command depends on the feature "btrfs". See also "feature-available".
btrfs-qgroup-create
btrfs-qgroup-create qgroupid subvolume
Create a quota group (qgroup) for subvolume at "subvolume".
This command depends on the feature "btrfs". See also "feature-available".
btrfs-qgroup-destroy
btrfs-qgroup-destroy qgroupid subvolume
Destroy a quota group.
This command depends on the feature "btrfs". See also "feature-available".
btrfs-qgroup-limit
btrfs-qgroup-limit subvolume size
Limit the size of the subvolume with path "subvolume".
This command depends on the feature "btrfs". See also "feature-available".
btrfs-qgroup-remove
btrfs-qgroup-remove src dst path
Remove qgroup "src" from the parent qgroup "dst".
This command depends on the feature "btrfs". See also "feature-available".
btrfs-qgroup-show
btrfs-qgroup-show path
Show all subvolume quota groups in a btrfs filesystem, including their usages.
This command depends on the feature "btrfs". See also "feature-available".
btrfs-quota-enable
btrfs-quota-enable fs true|false
Enable or disable subvolume quota support for filesystem which contains "path".
This command depends on the feature "btrfs". See also "feature-available".
btrfs-quota-rescan
btrfs-quota-rescan fs
Trash all qgroup numbers and scan the metadata again with the current config.
This command depends on the feature "btrfs". See also "feature-available".
btrfs-replace
btrfs-replace srcdev targetdev mntpoint
Replace device of a btrfs filesystem. On a live filesystem, duplicate the data to the target device which is currently stored on the source device. After completion of the operation, the source device is wiped out and removed from the filesystem.
The "targetdev" needs to be same size or larger than the "srcdev". Devices which are currently mounted are never allowed to be used as the "targetdev".
This command depends on the feature "btrfs". See also "feature-available".
btrfs-rescue-chunk-recover
btrfs-rescue-chunk-recover device
Recover the chunk tree of btrfs filesystem by scanning the devices one by one.
This command depends on the feature "btrfs". See also "feature-available".
btrfs-rescue-super-recover
btrfs-rescue-super-recover device
Recover bad superblocks from good copies.
This command depends on the feature "btrfs". See also "feature-available".
btrfs-scrub-cancel
btrfs-scrub-cancel path
Cancel a running scrub on a btrfs filesystem.
This command depends on the feature "btrfs". See also "feature-available".
btrfs-scrub-resume
btrfs-scrub-resume path
Resume a previously canceled or interrupted scrub on a btrfs filesystem.
This command depends on the feature "btrfs". See also "feature-available".
btrfs-scrub-start
btrfs-scrub-start path
Reads all the data and metadata on the filesystem, and uses checksums and the duplicate copies from RAID storage to identify and repair any corrupt data.
This command depends on the feature "btrfs". See also "feature-available".
btrfs-scrub-status
btrfs-scrub-status path
Show status of running or finished scrub on a btrfs filesystem.
This command depends on the feature "btrfs". See also "feature-available".
btrfs-set-seeding
btrfs-set-seeding device true|false
btrfs フ ァ イ ル シ ス テ ム を 含 む デ バ イ ス の seeding 機 能 を 有 効 化 ま た は 無 効 化 し ま す 。
This command depends on the feature "btrfs". See also "feature-available".
btrfs-subvolume-create
btrfs-subvolume-create-opts
btrfs-subvolume-create dest [qgroupid:..]
Create a btrfs subvolume. The "dest" argument is the destination directory and the name of the subvolume, in the form /path/to/dest/name. The optional parameter "qgroupid" represents the qgroup which the newly created subvolume will be added to. こ の コ マ ン ド は 1 つ ま た は そ れ 以 上 の オ プ シ ョ ン 引 数 を 持 つ 必 要 が あ り ま す 。 "オ プ シ ョ ン 引 数 " を 参 照 し て く だ さ い 。
This command depends on the feature "btrfs". See also "feature-available".
btrfs-subvolume-delete
btrfs-subvolume-delete subvolume
Delete the named btrfs subvolume or snapshot.
This command depends on the feature "btrfs". See also "feature-available".
btrfs-subvolume-get-default
btrfs-subvolume-get-default fs
Get the default subvolume or snapshot of a filesystem mounted at "mountpoint".
This command depends on the feature "btrfs". See also "feature-available".
btrfs-subvolume-list
btrfs-subvolume-list fs
"fs" に マ ウ ン ト さ れ て い る btrfs フ ァ イ ル シ ス テ ム の btrfs ス ナ ッ プ シ ョ ッ ト と サ ブ デ ィ レ ク ト リ ー を 一 覧 表 示 し ま す 。
This command depends on the feature "btrfs". See also "feature-available".
btrfs-subvolume-set-default
btrfs-subvolume-set-default id fs
Set the subvolume of the btrfs filesystem "fs" which will be mounted by default. See "btrfs-subvolume-list" to get a list of subvolumes.
This command depends on the feature "btrfs". See also "feature-available".
btrfs-subvolume-show
btrfs-subvolume-show subvolume
Return detailed information of the subvolume.
This command depends on the feature "btrfs". See also "feature-available".
btrfs-subvolume-snapshot
btrfs-subvolume-snapshot-opts
btrfs-subvolume-snapshot source dest [ro:true|false]
[qgroupid:..]
Create a snapshot of the btrfs subvolume "source". The "dest" argument is the destination directory and the name of the snapshot, in the form /path/to/dest/name. By default the newly created snapshot is writable, if the value of optional parameter "ro" is true, then a readonly snapshot is created. The optional parameter "qgroupid" represents the qgroup which the newly created snapshot will be added to. こ の コ マ ン ド は 1 つ ま た は そ れ 以 上 の オ プ シ ョ ン 引 数 を 持 つ 必 要 が あ り ま す 。 "オ プ シ ョ ン 引 数 " を 参 照 し て く だ さ い 。
This command depends on the feature "btrfs". See also "feature-available".
btrfstune-enable-extended-inode-refs
btrfstune-enable-extended-inode-refs device
This will Enable extended inode refs.
This command depends on the feature "btrfs". See also "feature-available".
btrfstune-enable-skinny-metadata-extent-refs
btrfstune-enable-skinny-metadata-extent-refs device
This enable skinny metadata extent refs.
This command depends on the feature "btrfs". See also "feature-available".
btrfstune-seeding
btrfstune-seeding device true|false
Enable seeding of a btrfs device, this will force a fs readonly so that you can use it to build other filesystems.
This command depends on the feature "btrfs". See also "feature-available".
c-pointer
c-pointer
In non-C language bindings, this allows you to retrieve the underlying C pointer to the handle (ie. "h *"). The purpose of this is to allow other libraries to interwork with libguestfs.
canonical-device-name
canonical-device-name device
This utility
function is useful when displaying device names to the user.
It takes a number of irregular device names and returns them
in a consistent format:
/dev/hdX
/dev/vdX
These are returned as /dev/sdX. Note this works for device names and partition names. This is approximately the reverse of the algorithm described in "BLOCK DEVICE NAMING" in guestfs(3).
/dev/mapper/VG-LV
/dev/dm-N
Converted to /dev/VG/LV form using "lvm-canonical-lv-name". 他 の 文 字 列 は 修 正 さ れ ず に 返 さ れ ま す 。
cap-get-file
cap-get-file path
This function returns the Linux capabilities attached to "path". The capabilities set is returned in text form (see cap_to_text(3)).
If no capabilities are attached to a file, an empty string is returned.
This command depends on the feature "linuxcaps". See also "feature-available".
cap-set-file
cap-set-file path cap
This function sets the Linux capabilities attached to "path". The capabilities set "cap" should be passed in text form (see cap_from_text(3)).
This command depends on the feature "linuxcaps". See also "feature-available".
case-sensitive-path
case-sensitive-path path
This can be used to resolve case insensitive paths on a filesystem which is case sensitive. The use case is to resolve paths which you have read from Windows configuration files or the Windows Registry, to the true path.
The command handles a peculiarity of the Linux ntfs-3g filesystem driver (and probably others), which is that although the underlying filesystem is case-insensitive, the driver exports the filesystem to Linux as case-sensitive.
One consequence of this is that special directories such as C:\windows may appear as /WINDOWS or /windows (or other things) depending on the precise details of how they were created. In Windows itself this would not be a problem.
Bug or feature? You decide: https://www.tuxera.com/community/ntfs-3g-faq/#posixfilenames1
"case-sensitive-path"
attempts to resolve the true case of each element in the
path. It will return a resolved path if either the full path
or its parent directory exists. If the parent directory
exists but the full path does not, the case of the parent
directory will be correctly resolved, and the remainder
appended unmodified. For example, if the file
"/Windows/System32/netkvm.sys" exists:
"case-sensitive-path"
("/windows/system32/netkvm.sys")
"Windows/System32/netkvm.sys"
"case-sensitive-path" ("/windows/system32/NoSuchFile")
"Windows/System32/NoSuchFile"
"case-sensitive-path" ("/windows/system33/netkvm.sys")
ERROR
Note: Because of the above behaviour, "case-sensitive-path" cannot be used to check for the existence of a file.
Note: This function does not handle drive names, backslashes etc.
"realpath" 参 照 。
cat
cat path
"path" と い う 名 前 の フ ァ イ ル の 内 容 を 返 し ま す 。
Because, in C, this function returns a "char *", there is no way to differentiate between a "\0" character in a file and end of string. To handle binary files, use the "read-file" or "download" functions.
checksum
checksum csumtype path こ の 呼 び
出 し は "path" と
い う 名 前 の フ
ァ イ ル の MD5, SHAx ま
た は CRC チ ェ ッ ク
サ ム を 計 算 し
ま す 。 計 算 す
る チ ェ ッ ク サ
ム の 種 類 は 、
以 下 の 値 の ど
れ か で あ る
"csumtype" パ ラ メ ー
タ ー に よ り 与
え ら れ ま す :
"crc"
"cksum" コ マ ン ド に 対 し て POSIX に よ り 指 定 さ れ た 巡 回 冗 長 検 査 (CRC: cyclic redundancy check) を 計 算 し ま す 。
"md5"
Compute the MD5 hash (using the md5sum(1) program).
"sha1"
Compute the SHA1 hash (using the sha1sum(1) program).
"sha224"
Compute the SHA224 hash (using the sha224sum(1) program).
"sha256"
Compute the SHA256 hash (using the sha256sum(1) program).
"sha384"
Compute the SHA384 hash (using the sha384sum(1) program).
"sha512"
Compute the SHA512 hash (using the sha512sum(1) program). チ ェ ッ ク サ ム は 表 示 可 能 な 文 字 列 と し て 返 さ れ ま す 。 デ バ イ ス の チ ェ ッ ク サ ム を 取 得 す る に は "checksum-device" を 使 用 し ま す 。 多 く の フ ァ イ ル の チ ェ ッ ク サ ム を 取 得 す る に は "checksums-out" を 使 用 し ま す 。
checksum-device
checksum-device csumtype device
This call computes the MD5, SHAx or CRC checksum of the contents of the device named "device". For the types of checksums supported see the "checksum" command.
checksums-out
checksums-out csumtype directory (sumsfile|-)
This command computes the checksums of all regular files in directory and then emits a list of those checksums to the local output file "sumsfile".
This can be used for verifying the integrity of a virtual machine. However to be properly secure you should pay attention to the output of the checksum command (it uses the ones from GNU coreutils). In particular when the filename is not printable, coreutils uses a special backslash syntax. For more information, see the GNU coreutils info file. 標 準 入 力 /標 準 出 力 か ら 読 み 込 み /書 き 込 み す る に は 、 フ ァ イ ル 名 の 代 わ り に "-" を 使 用 し ま す 。
chmod
chmod mode path
Change the mode (permissions) of "path" to "mode". Only numeric modes are supported.
Note: When using this command from guestfish, "mode" by default would be decimal, unless you prefix it with 0 to get octal, ie. use 0700 not 700. 実 際 に 設 定 さ れ る モ ー ド は umask に よ り 影 響 さ れ ま す 。
chown
chown owner group path フ ァ イ ル
の 所 有 者 を
"owner" に 、 グ ル
ー プ を "group" に
変 更 し ま す 。
Only numeric uid and gid are supported. If you want to use names, you will need to locate and parse the password file yourself (Augeas support makes this relatively easy).
clear-backend-setting
clear-backend-setting name
If there is a backend setting string matching "name" or beginning with "name=", then that string is removed from the backend settings.
This call returns the number of strings which were removed (which may be 0, 1 or greater than 1).
See "BACKEND" in guestfs(3), "BACKEND SETTINGS" in guestfs(3).
clevis-luks-unlock
clevis-luks-unlock device mapname
This command opens a block device that has been encrypted according to the Linux Unified Key Setup (LUKS) standard, using network-bound disk encryption (NBDE).
"device" is the encrypted block device.
The appliance will connect to the Tang servers noted in the tree of Clevis pins that is bound to a keyslot of the LUKS header. The Clevis pin tree may comprise "sss" (redudancy) pins as internal nodes (optionally), and "tang" pins as leaves. "tpm2" pins are not supported. The appliance unlocks the encrypted block device by combining responses from the Tang servers with metadata from the LUKS header; there is no "key" parameter.
This command will fail if networking has not been enabled for the appliance. Refer to "set-network".
The command creates a new block device called /dev/mapper/mapname. Reads and writes to this block device are decrypted from and encrypted to the underlying "device" respectively. Close the decrypted block device with "cryptsetup-close".
"mapname" cannot be "control" because that name is reserved by device-mapper.
If this block device contains LVM volume groups, then calling "lvm-scan" with the "activate" parameter "true" will make them visible.
Use "list-dm-devices" to list all device mapper devices.
This command depends on the feature "clevisluks". See also "feature-available".
command
command 'arguments ...'
This call runs a command from the guest filesystem. The filesystem must be mounted, and must contain a compatible operating system (ie. something Linux, with the same or compatible processor architecture).
The single parameter is an argv-style list of arguments. The first element is the name of the program to run. Subsequent elements are parameters. The list must be non-empty (ie. must contain a program name). Note that the command runs directly, and is not invoked via the shell (see "sh").
The return value is anything printed to stdout by the command.
If the command returns a non-zero exit status, then this function returns an error message. The error message string is the content of stderr from the command.
The $PATH environment variable will contain at least /usr/bin and /bin. If you require a program from another location, you should provide the full path in the first parameter.
Shared libraries and data files required by the program must be available on filesystems which are mounted in the correct places. It is the caller’s responsibility to ensure all filesystems that are needed are mounted at the right locations.
Because of the message protocol, there is a transfer limit of somewhere between 2MB and 4MB. See "PROTOCOL LIMITS" in guestfs(3).
command-lines
command-lines 'arguments ...'
This is the same as "command", but splits the result into a list of lines. 関 連 項 目 : "sh-lines"
Because of the message protocol, there is a transfer limit of somewhere between 2MB and 4MB. See "PROTOCOL LIMITS" in guestfs(3).
compress-device-out
compress-device-out ctype device (zdevice|-) [level:N]
This command compresses "device" and writes it out to the local file "zdevice".
The "ctype" and optional "level" parameters have the same meaning as in "compress-out". 標 準 入 力 /標 準 出 力 か ら 読 み 込 み /書 き 込 み す る に は 、 フ ァ イ ル 名 の 代 わ り に "-" を 使 用 し ま す 。 こ の コ マ ン ド は 1 つ ま た は そ れ 以 上 の オ プ シ ョ ン 引 数 を 持 つ 必 要 が あ り ま す 。 "オ プ シ ョ ン 引 数 " を 参 照 し て く だ さ い 。
compress-out
compress-out ctype file (zfile|-) [level:N]
This command compresses file and writes it out to the local file zfile.
The compression program used is controlled by the "ctype" parameter. Currently this includes: "compress", "gzip", "bzip2", "xz" or "lzop". Some compression types may not be supported by particular builds of libguestfs, in which case you will get an error containing the substring "not supported".
The optional "level" parameter controls compression level. The meaning and default for this parameter depends on the compression program being used. 標 準 入 力 /標 準 出 力 か ら 読 み 込 み /書 き 込 み す る に は 、 フ ァ イ ル 名 の 代 わ り に "-" を 使 用 し ま す 。 こ の コ マ ン ド は 1 つ ま た は そ れ 以 上 の オ プ シ ョ ン 引 数 を 持 つ 必 要 が あ り ま す 。 "オ プ シ ョ ン 引 数 " を 参 照 し て く だ さ い 。
config
config hvparam hvvalue
This can be used to add arbitrary hypervisor parameters of the form -param value. Actually it’s not quite arbitrary - we prevent you from setting some parameters which would interfere with parameters that we use.
The first character of "hvparam" string must be a "-" (dash).
"hvvalue" can be NULL.
copy-attributes
copy-attributes src dest [all:true|false] [mode:true|false]
[xattributes:true|false] [ownership:true|false]
Copy the attributes of a path (which can be a file or a directory) to another path.
By default no attribute is copied, so make sure to specify any (or "all" to copy everything).
The optional
arguments specify which attributes can be copied:
"mode"
Copy part of the file mode from "source" to "destination". Only the UNIX permissions and the sticky/setuid/setgid bits can be copied.
"xattributes"
Copy the Linux extended attributes (xattrs) from "source" to "destination". This flag does nothing if the linuxxattrs feature is not available (see "feature-available").
"ownership"
Copy the owner uid and the group gid of "source" to "destination".
"all"
Copy all the attributes from "source" to "destination". Enabling it enables all the other flags, if they are not specified already. こ の コ マ ン ド は 1 つ ま た は そ れ 以 上 の オ プ シ ョ ン 引 数 を 持 つ 必 要 が あ り ま す 。 "オ プ シ ョ ン 引 数 " を 参 照 し て く だ さ い 。
copy-device-to-device
copy-device-to-device src dest [srcoffset:N] [destoffset:N]
[size:N] [sparse:true|false] [append:true|false]
The four calls "copy-device-to-device", "copy-device-to-file", "copy-file-to-device", and "copy-file-to-file" let you copy from a source (device|file) to a destination (device|file).
Partial copies can be made since you can specify optionally the source offset, destination offset and size to copy. These values are all specified in bytes. If not given, the offsets both default to zero, and the size defaults to copying as much as possible until we hit the end of the source. ソ ー ス と 宛 先 は 同 じ オ ブ ジ ェ ク ト で あ る 可 能 性 が あ り ま す 。 し か し な が ら 、 重 な り 合 う 領 域 は 正 し く コ ピ ー さ れ な い か も し れ ま せ ん 。 宛 先 が フ ァ イ ル な ら ば 、 必 要 に 応 じ て 作 成 さ れ ま す 。 宛 先 フ ァ イ ル が 十 分 に 大 き く な け れ ば 、 拡 張 さ れ ま す 。
If the destination is a file and the "append" flag is not set, then the destination file is truncated. If the "append" flag is set, then the copy appends to the destination file. The "append" flag currently cannot be set for devices.
If the "sparse" flag is true then the call avoids writing blocks that contain only zeroes, which can help in some situations where the backing disk is thin-provisioned. Note that unless the target is already zeroed, using this option will result in incorrect copying. こ の コ マ ン ド は 1 つ ま た は そ れ 以 上 の オ プ シ ョ ン 引 数 を 持 つ 必 要 が あ り ま す 。 "オ プ シ ョ ン 引 数 " を 参 照 し て く だ さ い 。
copy-device-to-file
copy-device-to-file src dest [srcoffset:N] [destoffset:N]
[size:N] [sparse:true|false] [append:true|false] こ
の 呼 び 出 し の
一 般 的 な 概 要
は "copy-device-to-device" を 参
照 し て く だ さ
い 。 こ の コ マ
ン ド は 1 つ ま た
は そ れ 以 上 の
オ プ シ ョ ン 引
数 を 持 つ 必 要
が あ り ま す 。
"オ プ シ ョ ン 引
数 " を 参 照 し て
く だ さ い 。
copy-file-to-device
copy-file-to-device src dest [srcoffset:N] [destoffset:N]
[size:N] [sparse:true|false] [append:true|false] こ
の 呼 び 出 し の
一 般 的 な 概 要
は "copy-device-to-device" を 参
照 し て く だ さ
い 。 こ の コ マ
ン ド は 1 つ ま た
は そ れ 以 上 の
オ プ シ ョ ン 引
数 を 持 つ 必 要
が あ り ま す 。
"オ プ シ ョ ン 引
数 " を 参 照 し て
く だ さ い 。
copy-file-to-file
copy-file-to-file src dest [srcoffset:N] [destoffset:N]
[size:N] [sparse:true|false] [append:true|false] こ
の 呼 び 出 し の
一 般 的 な 概 要
は "copy-device-to-device" を 参
照 し て く だ さ
い 。
This is not the function you want for copying files. This is for copying blocks within existing files. See "cp", "cp-a" and "mv" for general file copying and moving functions. こ の コ マ ン ド は 1 つ ま た は そ れ 以 上 の オ プ シ ョ ン 引 数 を 持 つ 必 要 が あ り ま す 。 "オ プ シ ョ ン 引 数 " を 参 照 し て く だ さ い 。
copy-size
copy-size src dest size
This command copies exactly "size" bytes from one source device or file "src" to another destination device or file "dest".
Note this will fail if the source is too short or if the destination is not large enough.
This function is deprecated. In new code, use the "copy-device-to-device" call instead.
Deprecated functions will not be removed from the API, but the fact that they are deprecated indicates that there are problems with correct use of these functions.
cp
cp src dest フ ァ イ ル を
"src" か ら "dest" に
コ ピ ー し ま す
。 こ こ で "dest"
は 宛 先 フ ァ イ
ル 名 ま た は 宛
先 デ ィ レ ク ト
リ で す 。
cp-a
cp-a src dest フ ァ イ ル ま
た は デ ィ レ ク
ト リ を "src" か ら
"dest" に "cp -a" コ
マ ン ド を 使 用
し て 再 帰 的 に
コ ピ ー し ま す
。
cp-r
cp-r src dest
This copies a file or directory from "src" to "dest" recursively using the "cp -rP" command.
Most users should use "cp-a" instead. This command is useful when you don’t want to preserve permissions, because the target filesystem does not support it (primarily when writing to DOS FAT filesystems).
cpio-out
cpio-out directory (cpiofile|-) [format:..]
This command packs the contents of directory and downloads it to local file "cpiofile".
The optional
"format" parameter can be used to select the
format. Only the following formats are currently permitted:
"newc"
New (SVR4) portable format. This format happens to be compatible with the cpio-like format used by the Linux kernel for initramfs.
This is the default format.
"crc"
New (SVR4) portable format with a checksum. 標 準 入 力 /標 準 出 力 か ら 読 み 込 み /書 き 込 み す る に は 、 フ ァ イ ル 名 の 代 わ り に "-" を 使 用 し ま す 。 こ の コ マ ン ド は 1 つ ま た は そ れ 以 上 の オ プ シ ョ ン 引 数 を 持 つ 必 要 が あ り ま す 。 "オ プ シ ョ ン 引 数 " を 参 照 し て く だ さ い 。
cryptsetup-close
cryptsetup-close device
This closes an encrypted device that was created earlier by "cryptsetup-open". The "device" parameter must be the name of the mapping device (ie. /dev/mapper/mapname) and not the name of the underlying block device.
This command depends on the feature "luks". See also "feature-available".
cryptsetup-open
cryptsetup-open device mapname [readonly:true|false]
[crypttype:..]
This command opens a block device which has been encrypted according to the Linux Unified Key Setup (LUKS) standard, Windows BitLocker, or some other types.
"device" is the encrypted block device or partition.
The caller must supply one of the keys associated with the encrypted block device, in the "key" parameter.
This creates a new block device called /dev/mapper/mapname. Reads and writes to this block device are decrypted from and encrypted to the underlying "device" respectively.
"mapname" cannot be "control" because that name is reserved by device-mapper.
If the optional
"crypttype" parameter is not present then
libguestfs tries to guess the correct type (for example LUKS
or BitLocker). However you can override this by specifying
one of the following types:
"luks"
A Linux LUKS device.
"bitlk"
A Windows BitLocker device.
The optional "readonly" flag, if set to true, creates a read-only mapping.
If this block device contains LVM volume groups, then calling "lvm-scan" with the "activate" parameter "true" will make them visible.
Use "list-dm-devices" to list all device mapper devices.
This command has one or more key or passphrase parameters. Guestfish will prompt for these separately. こ の コ マ ン ド は 1 つ ま た は そ れ 以 上 の オ プ シ ョ ン 引 数 を 持 つ 必 要 が あ り ま す 。 "オ プ シ ョ ン 引 数 " を 参 照 し て く だ さ い 。
This command depends on the feature "luks". See also "feature-available".
dd
dd src dest
This command copies from one source device or file "src" to another destination device or file "dest". Normally you would use this to copy to or from a device or partition, for example to duplicate a filesystem.
If the destination is a device, it must be as large or larger than the source file or device, otherwise the copy will fail. This command cannot do partial copies (see "copy-device-to-device").
This function is deprecated. In new code, use the "copy-device-to-device" call instead.
Deprecated functions will not be removed from the API, but the fact that they are deprecated indicates that there are problems with correct use of these functions.
device-index
device-index device こ の 関 数
は デ バ イ ス 名
(例 : "/dev/sdb") を 取 得
し 、 デ バ イ ス
の 一 覧 に あ る
デ バ イ ス の イ
ン デ ッ ク ス を
返 し ま す 。
Index numbers start from 0. The named device must exist, for example as a string returned from "list-devices".
See also "list-devices", "part-to-dev", "device-name".
device-name
device-name index
This function takes a device index and returns the device name. For example index 0 will return the string "/dev/sda".
The drive index must have been added to the handle.
See also "list-devices", "part-to-dev", "device-index".
df
df
This command runs the df(1) command to report disk space used.
This command is mostly useful for interactive sessions. It is not intended that you try to parse the output string. Use "statvfs" from programs.
df-h
df-h こ の コ マ ン ド
は デ ィ ス ク 使
用 状 況 を 読 み
や す い 形 式 で
報 告 す る た め
に "df -h" コ マ ン
ド を 実 行 し ま
す 。
This command is mostly useful for interactive sessions. It is not intended that you try to parse the output string. Use "statvfs" from programs.
disk-create
disk-create filename format size [backingfile:..]
[backingformat:..] [preallocation:..] [compat:..]
[clustersize:N]
Create a blank disk image called filename (a host file) with format "format" (usually "raw" or "qcow2"). The size is "size" bytes.
If used with the optional "backingfile" parameter, then a snapshot is created on top of the backing file. In this case, "size" must be passed as -1. The size of the snapshot is the same as the size of the backing file, which is discovered automatically. You are encouraged to also pass "backingformat" to describe the format of "backingfile".
If filename refers to a block device, then the device is formatted. The "size" is ignored since block devices have an intrinsic size.
The other
optional parameters are:
"preallocation"
If format is "raw", then this can be either "off" (or "sparse") or "full" to create a sparse or fully allocated file respectively. The default is "off".
If format is "qcow2", then this can be "off" (or "sparse"), "metadata" or "full". Preallocating metadata can be faster when doing lots of writes, but uses more space. The default is "off".
"compat"
"qcow2" only: Pass the string 1.1 to use the advanced qcow2 format supported by qemu ≥ 1.1.
"clustersize"
"qcow2" only: Change the qcow2 cluster size. The default is 65536 (bytes) and this setting may be any power of two between 512 and 2097152.
Note that this call does not add the new disk to the handle. You may need to call "add-drive-opts" separately. こ の コ マ ン ド は 1 つ ま た は そ れ 以 上 の オ プ シ ョ ン 引 数 を 持 つ 必 要 が あ り ま す 。 "オ プ シ ョ ン 引 数 " を 参 照 し て く だ さ い 。
disk-format
disk-format filename
Detect and return the format of the disk image called filename. filename can also be a host device, etc. If the format of the image could not be detected, then "unknown" is returned.
Note that detecting the disk format can be insecure under some circumstances. See "CVE-2010-3851" in guestfs(3). 関 連 項 目 : "デ ィ ス ク イ メ ー ジ 形 式 " in guestfs(3)
disk-has-backing-file
disk-has-backing-file filename
Detect and return whether the disk image filename has a backing file.
Note that detecting disk features can be insecure under some circumstances. See "CVE-2010-3851" in guestfs(3).
disk-virtual-size
disk-virtual-size filename
Detect and return the virtual size in bytes of the disk image called filename.
Note that detecting disk features can be insecure under some circumstances. See "CVE-2010-3851" in guestfs(3).
dmesg
dmesg
This returns the kernel messages (dmesg(1) output) from the guest kernel. This is sometimes useful for extended debugging of problems.
Another way to get the same information is to enable verbose messages with "set-verbose" or by setting the environment variable "LIBGUESTFS_DEBUG=1" before running the program.
download
download remotefilename (filename|-)
Download file remotefilename and save it as filename on the local machine.
filename can also be a named pipe.
"upload", "cat" 参 照 。 標 準 入 力 /標 準 出 力 か ら 読 み 込 み /書 き 込 み す る に は 、 フ ァ イ ル 名 の 代 わ り に "-" を 使 用 し ま す 。
download-blocks
download-blocks device start stop (filename|-)
[unallocated:true|false]
Download the data units from start address to stop from the disk partition (eg. /dev/sda1) and save them as filename on the local machine.
The use of this API on sparse disk image formats such as QCOW, may result in large zero-filled files downloaded on the host.
The size of a data unit varies across filesystem implementations. On NTFS filesystems data units are referred as clusters while on ExtX ones they are referred as fragments.
If the optional "unallocated" flag is true (default is false), only the unallocated blocks will be extracted. This is useful to detect hidden data or to retrieve deleted files which data units have not been overwritten yet. 標 準 入 力 /標 準 出 力 か ら 読 み 込 み /書 き 込 み す る に は 、 フ ァ イ ル 名 の 代 わ り に "-" を 使 用 し ま す 。 こ の コ マ ン ド は 1 つ ま た は そ れ 以 上 の オ プ シ ョ ン 引 数 を 持 つ 必 要 が あ り ま す 。 "オ プ シ ョ ン 引 数 " を 参 照 し て く だ さ い 。
This command depends on the feature "sleuthkit". See also "feature-available".
download-inode
download-inode device inode (filename|-)
Download a file given its inode from the disk partition (eg. /dev/sda1) and save it as filename on the local machine.
It is not required to mount the disk to run this command.
The command is capable of downloading deleted or inaccessible files. 標 準 入 力 /標 準 出 力 か ら 読 み 込 み /書 き 込 み す る に は 、 フ ァ イ ル 名 の 代 わ り に "-" を 使 用 し ま す 。
This command depends on the feature "sleuthkit". See also "feature-available".
download-offset
download-offset remotefilename (filename|-) offset size
Download file remotefilename and save it as filename on the local machine.
remotefilename is read for "size" bytes starting at "offset" (this region must be within the file or device).
Note that there is no limit on the amount of data that can be downloaded with this call, unlike with "pread", and this call always reads the full amount unless an error occurs.
"download", "pread" 参 照 。 標 準 入 力 /標 準 出 力 か ら 読 み 込 み /書 き 込 み す る に は 、 フ ァ イ ル 名 の 代 わ り に "-" を 使 用 し ま す 。
drop-caches
drop-caches whattodrop
This instructs the guest kernel to drop its page cache, and/or dentries and inode caches. The parameter "whattodrop" tells the kernel what precisely to drop, see https://linux-mm.org/Drop_Caches
"whattodrop" を 3 に 設 定 す る こ と に よ り 、 す べ て の も の を 破 棄 し ま す 。
This automatically calls sync(2) before the operation, so that the maximum guest memory is freed.
du
du path こ の コ マ ン
ド は "path" の フ
ァ イ ル 空 間 使
用 量 を 見 積 も
る た め に "du -s"
コ マ ン ド を 実
行 し ま す 。
"path" can be a file or a directory. If "path" is a directory then the estimate includes the contents of the directory and all subdirectories (recursively). 結 果 は キ ロ バ イ ト (つ ま り 1024 バ イ ト の 単 位 ) の 見 積 も り 容 量 で す 。
e2fsck
e2fsck device [correct:true|false] [forceall:true|false]
This runs the
ext2/ext3 filesystem checker on "device". It can
take the following optional arguments:
"correct"
Automatically repair the file system. This option will cause e2fsck to automatically fix any filesystem problems that can be safely fixed without human intervention.
This option may not be specified at the same time as the "forceall" option.
"forceall"
Assume an answer of ’yes’ to all questions; allows e2fsck to be used non-interactively. こ の オ プ シ ョ ン は "correct" オ プ シ ョ ン と 同 時 に 指 定 で き ま せ ん 。 こ の コ マ ン ド は 1 つ ま た は そ れ 以 上 の オ プ シ ョ ン 引 数 を 持 つ 必 要 が あ り ま す 。 "オ プ シ ョ ン 引 数 " を 参 照 し て く だ さ い 。
e2fsck-f
e2fsck-f device
This runs "e2fsck -p -f device", ie. runs the ext2/ext3 filesystem checker on "device", noninteractively (-p), even if the filesystem appears to be clean (-f). こ の 関 数 は 推 奨 さ れ ま せ ん 。 新 し い コ ー ド で は 、 代 わ り に "e2fsck" を 使 用 し て く だ さ い 。
Deprecated functions will not be removed from the API, but the fact that they are deprecated indicates that there are problems with correct use of these functions.
echo-daemon
echo-daemon 'words ...'
This command concatenates the list of "words" passed with single spaces between them and returns the resulting string.
You can use this command to test the connection through to the daemon.
"ping-daemon" 参 照 。
egrep
egrep regex path
This calls the external egrep(1) program and returns the matching lines.
Because of the message protocol, there is a transfer limit of somewhere between 2MB and 4MB. See "PROTOCOL LIMITS" in guestfs(3). こ の 関 数 は 推 奨 さ れ ま せ ん 。 新 し い コ ー ド で は 、 代 わ り に "grep" を 使 用 し て く だ さ い 。
Deprecated functions will not be removed from the API, but the fact that they are deprecated indicates that there are problems with correct use of these functions.
egrepi
egrepi regex path こ れ は 外
部 の "egrep -i" プ ロ
グ ラ ム を 呼 び
出 し 、 一 致 し
た 行 を 返 し ま
す 。
Because of the message protocol, there is a transfer limit of somewhere between 2MB and 4MB. See "PROTOCOL LIMITS" in guestfs(3). こ の 関 数 は 推 奨 さ れ ま せ ん 。 新 し い コ ー ド で は 、 代 わ り に "grep" を 使 用 し て く だ さ い 。
Deprecated functions will not be removed from the API, but the fact that they are deprecated indicates that there are problems with correct use of these functions.
equal
equal file1 file2
This compares the two files file1 and file2 and returns true if their content is exactly equal, or false otherwise. 外 部 の cmp(1) プ ロ グ ラ ム が 比 較 の た め に 使 用 さ れ ま す 。
exists
exists path
This returns "true" if and only if there is a file, directory (or anything) with the given "path" name.
"is-file", "is-dir", "stat" 参 照 。
extlinux
extlinux directory
Install the SYSLINUX bootloader on the device mounted at directory. Unlike "syslinux" which requires a FAT filesystem, this can be used on an ext2/3/4 or btrfs filesystem.
The directory parameter can be either a mountpoint, or a directory within the mountpoint.
You also have to mark the partition as "active" ("part-set-bootable") and a Master Boot Record must be installed (eg. using "pwrite-device") on the first sector of the whole disk. The SYSLINUX package comes with some suitable Master Boot Records. See the extlinux(1) man page for further information.
Additional configuration can be supplied to SYSLINUX by placing a file called extlinux.conf on the filesystem under directory. For further information about the contents of this file, see extlinux(1).
See also "syslinux".
This command depends on the feature "extlinux". See also "feature-available".
f2fs-expand
f2fs-expand device
This expands a f2fs filesystem to match the size of the underlying device.
This command depends on the feature "f2fs". See also "feature-available".
fallocate
fallocate path len
This command preallocates a file (containing zero bytes) named "path" of size "len" bytes. If the file exists already, it is overwritten.
Do not confuse this with the guestfish-specific "alloc" command which allocates a file in the host and attaches it as a device. こ の 関 数 は 推 奨 さ れ ま せ ん 。 新 し い コ ー ド で は 、 代 わ り に "fallocate64" を 使 用 し て く だ さ い 。
Deprecated functions will not be removed from the API, but the fact that they are deprecated indicates that there are problems with correct use of these functions.
fallocate64
fallocate64 path len
This command preallocates a file (containing zero bytes) named "path" of size "len" bytes. If the file exists already, it is overwritten.
Note that this call allocates disk blocks for the file. To create a sparse file use "truncate-size" instead.
The deprecated call "fallocate" does the same, but owing to an oversight it only allowed 30 bit lengths to be specified, effectively limiting the maximum size of files created through that call to 1GB.
Do not confuse this with the guestfish-specific "alloc" and "sparse" commands which create a file in the host and attach it as a device.
feature-available
feature-available 'groups ...'
This is the same as "available", but unlike that call it returns a simple true/false boolean result, instead of throwing an exception if a feature is not found. For other documentation see "available".
fgrep
fgrep pattern path
This calls the external fgrep(1) program and returns the matching lines.
Because of the message protocol, there is a transfer limit of somewhere between 2MB and 4MB. See "PROTOCOL LIMITS" in guestfs(3). こ の 関 数 は 推 奨 さ れ ま せ ん 。 新 し い コ ー ド で は 、 代 わ り に "grep" を 使 用 し て く だ さ い 。
Deprecated functions will not be removed from the API, but the fact that they are deprecated indicates that there are problems with correct use of these functions.
fgrepi
fgrepi pattern path 外 部 の "fgrep
-i" プ ロ グ ラ ム
を 呼 び 出 し 、
一 致 し た 行 を
返 し ま す 。
Because of the message protocol, there is a transfer limit of somewhere between 2MB and 4MB. See "PROTOCOL LIMITS" in guestfs(3). こ の 関 数 は 推 奨 さ れ ま せ ん 。 新 し い コ ー ド で は 、 代 わ り に "grep" を 使 用 し て く だ さ い 。
Deprecated functions will not be removed from the API, but the fact that they are deprecated indicates that there are problems with correct use of these functions.
file
file path こ の 呼 び 出
し は 、 フ ァ イ
ル の 形 式 ま た
は 内 容 を 決 定
す る た め に 、
標 準 的 な file(1) コ
マ ン ド を 使 用
し ま す 。
This call will also transparently look inside various types of compressed file.
The filename is not prepended to the output (like the file command -b option).
The output depends on the output of the underlying file(1) command and it can change in future in ways beyond our control. In other words, the output is not guaranteed by the ABI. 関 連 項 目 : file(1), "vfs-type", "lstat", "is-file", "is-blockdev" (etc), "is-zero"
file-architecture
file-architecture filename
This detects
the architecture of the binary filename, and returns
it if known. 現 在 定 義 さ
れ て い る ア ー
キ テ ク チ ャ ー
は 次 の と お り
で す :
"aarch64"
64 bit ARM.
"arm"
32 bit ARM.
"i386" こ
の 文 字 列 は 、
バ イ ナ リ ー の
正 確 な プ ロ セ
ッ サ ー 要 求 に
か か わ り な く
、 す べ て の 32 ビ
ッ ト i386, i486, i586, i686 バ イ
ナ リ ー に 対 し
て 返 さ れ ま す
。
"ia64"
Intel Itanium.
"ppc"
32 ビ ッ ト Power PC.
"ppc64"
64 bit Power PC (big endian).
"ppc64le"
64 bit Power PC (little endian).
"riscv32"
"riscv64"
"riscv128"
RISC-V 32-, 64- or 128-bit variants.
"s390"
31 bit IBM S/390.
"s390x"
64 bit IBM S/390.
"sparc"
32 ビ ッ ト SPARC.
"sparc64"
64 ビ ッ ト SPARC V9 お よ び そ れ 以 降 .
"x86_64"
64 ビ ッ ト x86-64.
libguestfs は 将 来 他 の ア ー キ テ ク チ ャ ー 文 字 列 を 返 す か も し れ ま せ ん 。 こ の 関 数 は 少 な く と も 以 下 の 種 類 の フ ァ イ ル に お い て 機 能 し ま す :
• 多 く の 種 類 の |
Un*x お よ び Linux バ イ ナ リ ー |
|||
• 多 く の 種 類 の |
Un*x お よ び Linux 共 有 ラ イ ブ ラ リ ー |
|||
• |
Windows Win32 お よ び Win64 バ イ ナ リ ー
• |
Windows Win32 お よ び Win64 DLL |
Win32 バ イ ナ リ ー と DLL が "i386" を 返 し ま す 。
Win64 バ イ ナ リ ー と DLL が "x86_64" を 返 し ま す 。
• |
Linux カ ー ネ ル モ ジ ュ ー ル
新 形 式 の Linux initrd イ メ ー ジ 非 x86 Linux vmlinuz カ ー ネ ル 今 の と こ ろ 実 行 で き な い こ と :
3)
x86 vmlinuz images (bzImage format) consist of a mix of 16-, 32- and compressed code, and are horribly hard to unpack. If you want to find the architecture of a kernel, use the architecture of the associated initrd or kernel module(s) instead. filesize
This command returns the size of file in bytes. フ ァ イ ル に 関 す る 他 の 統 計 を 取 得 す る に は use "stat", "lstat", "is-dir", "is-file" な ど を 使 用 し ま す 。 ブ ロ ッ ク デ バ イ ス の 容 量 を 取 得 す る に は "blockdev-getsize64" を 使 用 し ま す 。 filesystem-available
Check whether libguestfs supports the named filesystem. The argument "filesystem" is a filesystem name, such as "ext3". こ の コ マ ン ド を 使 用 す る 前 に "launch" を 呼 び 出 す 必 要 が あ り ま す 。 This is mainly useful as a negative test. If this returns true, it doesn’t mean that a particular filesystem can be created or mounted, since filesystems can fail for other reasons such as it being a later version of the filesystem, or having incompatible features, or lacking the right mkfs.<fs> tool. See also "available", "feature-available", "AVAILABILITY" in guestfs(3). filesystem-walk
Walk through the internal structures of a disk partition (eg. /dev/sda1) in order to return a list of all the files and directories stored within. It is not necessary to mount the disk partition to run this command. All entries in the filesystem are returned. This function can list deleted or unaccessible files. The entries are not sorted. The
"tsk_dirent" structure contains the following
fields. Filesystem reference number of the node. It might be 0 if the node has been deleted. "tsk_type" Basic file type information. See below for a detailed list of values. "tsk_size" File size in bytes. It might be -1 if the node has been deleted. "tsk_name" The file path relative to its directory. "tsk_flags" Bitfield containing extra
information regarding the entry. It contains the logical OR
of the following values: If set to 1, the file is allocated and visible within the filesystem. Otherwise, the file has been deleted. Under certain circumstances, the function "download_inode" can be used to recover deleted files. 0x0002 Filesystem such as NTFS and Ext2 or greater, separate the file name from the metadata structure. The bit is set to 1 when the file name is in an unallocated state and the metadata structure is in an allocated one. This generally implies the metadata has been reallocated to a new file. Therefore, information such as file type, file size, timestamps, number of links and symlink target might not correspond with the ones of the original deleted entry. 0x0004 The bit is set to 1 when the file is compressed using filesystem native compression support (NTFS). The API is not able to detect application level compression. "tsk_atime_sec" Respectively, access, modification, last status change and creation time in Unix format in seconds and nanoseconds. "tsk_nlink" Number of file names pointing to this entry. "tsk_link" If the entry is a symbolic link, this field will contain the path to the target file. The "tsk_type" field will contain one of the following characters:
FIFO (名 前 付 き パ イ プ )
Shadow inode (Solaris)
未 知 の フ ァ イ ル 種 別
fill
To fill a file with zero bytes (sparsely), it is much more efficient to use "truncate-size". To create a file with a pattern of repeating bytes use "fill-pattern". fill-dir
This function, useful for testing filesystems, creates "nr" empty files in the directory "dir" with names 00000000 through "nr-1" (ie. each file name is 8 digits long padded with zeroes). fill-pattern
This function is like "fill" except that it creates a new file of length "len" containing the repeating pattern of bytes in "pattern". The pattern is truncated if necessary to ensure the length of the file is exactly "len" bytes. find
This command lists out all files and directories, recursively, starting at directory. It is essentially equivalent to running the shell command "find directory -print" but some post-processing happens on the output, described below. This returns a list of strings without any prefix. Thus if the directory structure was: /tmp/a then the returned list from "find" /tmp would be 4 elements: a If directory is not a directory, then this command returns an error. 返 さ れ た 一 覧 は 並 び 替 え ら れ て い ま す 。 find0
This command lists out all files and directories, recursively, starting at directory, placing the resulting list in the external file called files. This command works the same way as "find" with the following exceptions:
|