libguestfs手册(2):guestfish command
添加一个drive:guestfs_add_drive_opts
add-drive filename [readonly:true|false] [format:..] [iface:..] [name:..] [label:..] [protocol:..] [server:..]
This function adds a disk image called filename to the handle.
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.
# guestfish -a ubuntutest.img
Welcome to guestfish, the guest filesystem shell for
editing virtual machine filesystems and disk images.
Type: 'help' for help on commands
'man' to read the manual
'quit' to quit the shell
><fs> add-drive ./ubuntutest1.img format:qcow2
><fs> run
><fs> list-devices
/dev/sda
/dev/sdb
><fs> list-partitions
/dev/sda1
/dev/sda2
/dev/sda5
/dev/sdb1
><fs> list-filesystems
/dev/sda1: ext4
/dev/sda2: unknown
/dev/sda5: swap
/dev/sdb1: ext3
# ps aux | grep guest
root 16128 0.1 0.0 96212 4588 pts/0 S+ 20:29 0:00 guestfish -a ubuntutest.img
root 16139 36.1 0.1 1342196 90220 pts/0 Sl 20:29 0:02 /usr/bin/qemu-system-x86_64 -global virtio-blk-pci.scsi=off -nodefconfig -enable-fips -nodefaults -nographic -machine accel=kvm:tcg -m 500 -no-reboot -rtc driftfix=slew -no-hpet -no-kvm-pit-reinjection -kernel /var/tmp/.guestfs-0/kernel.16128 -initrd /var/tmp/.guestfs-0/initrd.16128 -device virtio-scsi-pci,id=scsi -drive file=ubuntutest.img,cache=writeback,id=hd0,if=none -device scsi-hd,drive=hd0 -drive file=./ubuntutest1.img,cache=writeback,format=qcow2,id=hd1,if=none -device scsi-hd,drive=hd1 -drive file=/var/tmp/.guestfs-0/root.16128,snapshot=on,id=appliance,cache=unsafe,if=none -device scsi-hd,drive=appliance -device virtio-serial-pci -serial stdio -device sga -chardev socket,path=/tmp/libguestfscoAfPi/guestfsd.sock,id=channel0 -device virtserialport,chardev=channel0,name=org.libguestfs.channel.0 -append panic=1 console=ttyS0 udevtimeout=600 no_timer_check acpi=off printk.time=1 cgroup_disable=memory root=/dev/sdc selinux=0 TERM=linux
root 16140 0.0 0.0 96212 1300 pts/0 S 20:29 0:00 guestfish -a ubuntutest.img
MOUNTING:guestfs_mount
><fs> mount /dev/sda1 /
><fs> ls
ls should have 1 parameter
type 'help ls' for help on ls
><fs> ls /
bin
boot
dev
etc
home
initrd.img
lib
lib64
lost+found
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
vmlinuz
><fs> ls /home
openstack
><fs> ls /home/openstack
.bash_history
.bash_logout
.bashrc
.cache
.profile
sdb
><fs> ls /home/openstack/sdb
><fs> mount /dev/sdb1 /home/openstack/sdb
><fs> ls /home/openstack/sdb
a
b
c
d
hello
lost+found
world
><fs>
FILESYSTEM ACCESS AND MODIFICATION
><fs> cat /home/openstack/.bash_history
sudo su
><fs> cat /home/openstack/.bash_logout
# ~/.bash_logout: executed by bash(1) when login shell exits.
# when leaving the console clear the screen to increase privacy
if [ "$SHLVL" = 1 ]; then
[ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
fi
chown
chmod
cp
……
PARTITIONING
><fs> part-list /dev/sdb
[0] = {
part_num: 1
part_start: 1048576
part_end: 4294967295
part_size: 4293918720
}
><fs> part-list /dev/sda
[0] = {
part_num: 1
part_start: 1048576
part_end: 3221225471
part_size: 3220176896
}
[1] = {
part_num: 2
part_start: 3222273024
part_end: 5367660543
part_size: 2145387520
}
[2] = {
part_num: 5
part_start: 3222274048
part_end: 5367660543
part_size: 2145386496
}
part-add
part-del
part-disk
part-get-bootable
part-get-gpt-type
part-get-mbr-id
part-get-name
part-get-parttype
part-init
part-list
part-set-bootable
part-set-gpt-type
part-set-mbr-id
part-set-name
part-to-dev
part-to-partnum
LVM2
lvcreate
lvcreate-free
lvm-canonical-lv-name
lvm-clear-filter
lvm-remove-all
lvm-set-filter
lvremove
lvrename
lvresize
lvresize-free
lvs
lvs-full
lvuuid
pvcreate
pvremove
pvresize
pvresize-size
pvs
pvs-full
pvuuid
vg-activate
vg-activate-all
vgchange-uuid
vgchange-uuid-all
vgcreate
vglvuuids
vgmeta
vgpvuuids
vgremove
vgrename
vgs
vgs-full
vgscan
vguuid
><fs> add-drive ./centos-5.8.new.qcow2 format:qcow2
><fs> pvs
/dev/sdb2
><fs> vgs
VolGroup00
><fs> vgscan
><fs> vgs-full
[0] = {
vg_name: VolGroup00
vg_uuid: mSeGoqicAVmrFmpe8gVnQUpjlNIRFHlJ
vg_fmt: lvm2
vg_attr: wzx-n-
vg_size: 10603200512
vg_free: 0
vg_sysid:
vg_extent_size: 33554432
vg_extent_count: 316
vg_free_count: 0
max_lv: 0
max_pv: 0
pv_count: 1
lv_count: 2
snap_count: 0
vg_seqno: 4
vg_tags:
vg_mda_count: 1
vg_mda_free: 94208
}
><fs> vgmeta VolGroup00
# Generated by LVM2 version 2.02.98(2) (2012-10-15): Wed Jul 9 13:07:50 2014
contents = "Text Format Volume Group"
version = 1
description = "vgcfgbackup -f /tmp/vgmetaSV9JB9 VolGroup00"
creation_host = "(none)" # Linux (none) 3.13.0-27-generic #50-Ubuntu SMP Thu May 15 18:06:16 UTC 2014 x86_64
creation_time = 1404911270 # Wed Jul 9 13:07:50 2014
VolGroup00 {
id = "mSeGoq-icAV-mrFm-pe8g-VnQU-pjlN-IRFHlJ"
seqno = 4
format = "lvm2" # informational
status = ["EXPORTED", "RESIZEABLE", "READ", "WRITE"]
flags = []
extent_size = 65536 # 32 Megabytes
max_lv = 0
max_pv = 0
metadata_copies = 0
physical_volumes {
pv0 {
id = "K0B8Rq-HB21-lvo7-Eg3D-b0d9-Ya1I-w7C7AS"
device = "/dev/sdb2" # Hint only
status = ["ALLOCATABLE", "EXPORTED"]
flags = []
dev_size = 20755980 # 9.89722 Gigabytes
pe_start = 384
pe_count = 316 # 9.875 Gigabytes
}
}
logical_volumes {
LogVol00 {
id = "92iHZD-bWrY-LN5I-vgwB-3JQm-jOjN-vOLYuv"
status = ["READ", "WRITE", "VISIBLE"]
flags = []
segment_count = 1
segment1 {
start_extent = 0
extent_count = 191 # 5.96875 Gigabytes
type = "striped"
stripe_count = 1 # linear
stripes = [
"pv0", 0
]
}
}
LogVol01 {
id = "xsOBkU-Y1WU-HG8S-wZij-vT7W-152G-IbnnfY"
status = ["READ", "WRITE", "VISIBLE"]
flags = []
segment_count = 1
segment1 {
start_extent = 0
extent_count = 125 # 3.90625 Gigabytes
type = "striped"
stripe_count = 1 # linear
stripes = [
"pv0", 191
]
}
}
}
}
><fs> pvs-full
[0] = {
pv_name: /dev/sdb2
pv_uuid: K0B8RqHB21lvo7Eg3Db0d9Ya1Iw7C7AS
pv_fmt: lvm2
pv_size: 10603200512
dev_size: 10627061760
pv_free: 0
pv_used: 10603200512
pv_attr: ax-
pv_pe_count: 316
pv_pe_alloc_count: 316
pv_tags:
pe_start: 196608
pv_mda_count: 1
pv_mda_free: 94208
}
http://www.tldp.org/HOWTO/LVM-HOWTO/
DOWNLOADING
><fs> download /home/openstack/.bash_history testdownload
><fs> upload instance01.xml /home/openstack/testupload
><fs> ls /home/openstack
.bash_history
.bash_logout
.bashrc
.cache
.profile
sdb
testupload
命令集合
COMMANDS
acl-delete-def-file
acl-get-file
acl-set-file
add-cdrom
add-domain
domain
add-drive
add
add-drive-opts
add-drive-ro
add-ro
add-drive-ro-with-if
add-drive-scratch
scratch
add-drive-with-if
aug-clear
aug-close
aug-defnode
aug-defvar
aug-get
aug-init
aug-insert
aug-label
aug-load
aug-ls
aug-match
aug-mv
aug-rm
aug-save
aug-set
aug-setm
available
available-all-groups
base64-in
base64-out
blkdiscard
blkdiscardzeroes
blkid
blockdev-flushbufs
blockdev-getbsz
blockdev-getro
blockdev-getsize64
blockdev-getss
blockdev-getsz
blockdev-rereadpt
blockdev-setbsz
blockdev-setro
blockdev-setrw
btrfs-device-add
btrfs-device-delete
btrfs-filesystem-balance
btrfs-filesystem-resize
btrfs-filesystem-sync
btrfs-fsck
btrfs-set-seeding
btrfs-subvolume-create
btrfs-subvolume-delete
btrfs-subvolume-list
btrfs-subvolume-set-default
btrfs-subvolume-snapshot
canonical-device-name
cap-get-file
cap-set-file
case-sensitive-path
cat
checksum
checksum-device
checksums-out
chmod
chown
clear-backend-setting
command
command-lines
compress-device-out
compress-out
config
copy-attributes
copy-device-to-device
copy-device-to-file
copy-file-to-device
copy-file-to-file
copy-size
cp
cp-a
cp-r
cpio-out
dd
device-index
df
df-h
disk-create
disk-format
disk-has-backing-file
disk-virtual-size
dmesg
download
download-offset
drop-caches
du
e2fsck
e2fsck-f
echo-daemon
egrep
egrepi
equal
exists
extlinux
fallocate
fallocate64
feature-available
fgrep
fgrepi
file
file-architecture
filesize
filesystem-available
fill
fill-dir
fill-pattern
find
find0
findfs-label
findfs-uuid
fsck
fstrim
get-append
get-attach-method
get-autosync
get-backend
get-backend-setting
get-backend-settings
get-cachedir
get-direct
get-e2attrs
get-e2generation
get-e2label
get-e2uuid
get-hv
get-libvirt-requested-credential-challenge
get-libvirt-requested-credential-defresult
get-libvirt-requested-credential-prompt
get-libvirt-requested-credentials
get-memsize
get-network
get-path
get-pgroup
get-pid
pid
get-program
get-qemu
get-recovery-proc
get-selinux
get-smp
get-tmpdir
get-trace
get-umask
get-verbose
getcon
getxattr
getxattrs
glob-expand
grep
grep-opts
grepi
grub-install
head
head-n
hexdump
hivex-close
hivex-commit
hivex-node-add-child
hivex-node-children
hivex-node-delete-child
hivex-node-get-child
hivex-node-get-value
hivex-node-name
hivex-node-parent
hivex-node-set-value
hivex-node-values
hivex-open
hivex-root
hivex-value-key
hivex-value-type
hivex-value-utf8
hivex-value-value
initrd-cat
initrd-list
inotify-add-watch
inotify-close
inotify-files
inotify-init
inotify-read
inotify-rm-watch
inspect-get-arch
inspect-get-distro
inspect-get-drive-mappings
inspect-get-filesystems
inspect-get-format
inspect-get-hostname
inspect-get-icon
inspect-get-major-version
inspect-get-minor-version
inspect-get-mountpoints
inspect-get-package-format
inspect-get-package-management
inspect-get-product-name
inspect-get-product-variant
inspect-get-roots
inspect-get-type
inspect-get-windows-current-control-set
inspect-get-windows-systemroot
inspect-is-live
inspect-is-multipart
inspect-is-netinst
inspect-list-applications
inspect-list-applications2
inspect-os
is-blockdev
is-blockdev-opts
is-chardev
is-chardev-opts
is-config
is-dir
is-dir-opts
is-fifo
is-fifo-opts
is-file
is-file-opts
is-lv
is-socket
is-socket-opts
is-symlink
is-whole-device
is-zero
is-zero-device
isoinfo
isoinfo-device
journal-close
journal-get
journal-get-data-threshold
journal-get-realtime-usec
journal-next
journal-open
journal-set-data-threshold
journal-skip
kill-subprocess
launch
run
lchown
ldmtool-create-all
ldmtool-diskgroup-disks
ldmtool-diskgroup-name
ldmtool-diskgroup-volumes
ldmtool-remove-all
ldmtool-scan
ldmtool-scan-devices
ldmtool-volume-hint
ldmtool-volume-partitions
ldmtool-volume-type
lgetxattr
lgetxattrs
list-9p
list-devices
list-disk-labels
list-dm-devices
list-filesystems
list-ldm-partitions
list-ldm-volumes
list-md-devices
list-partitions
ll
llz
ln
ln-f
ln-s
ln-sf
lremovexattr
ls
ls0
lsetxattr
lstat
lstatlist
luks-add-key
luks-close
luks-format
luks-format-cipher
luks-kill-slot
luks-open
luks-open-ro
lvcreate
lvcreate-free
lvm-canonical-lv-name
lvm-clear-filter
lvm-remove-all
lvm-set-filter
lvremove
lvrename
lvresize
lvresize-free
lvs
lvs-full
lvuuid
lxattrlist
max-disks
md-create
md-detail
md-stat
md-stop
mkdir
mkdir-mode
mkdir-p
mkdtemp
mke2fs
mke2fs-J
mke2fs-JL
mke2fs-JU
mke2journal
mke2journal-L
mke2journal-U
mkfifo
mkfs
mkfs-opts
mkfs-b
mkfs-btrfs
mklost-and-found
mkmountpoint
mknod
mknod-b
mknod-c
mkswap
mkswap-opts
mkswap-L
mkswap-U
mkswap-file
mktemp
modprobe
mount
mount-9p
mount-local
mount-local-run
mount-loop
mount-options
mount-ro
mount-vfs
mountpoints
mounts
mv
nr-devices
ntfs-3g-probe
ntfsclone-in
ntfsclone-out
ntfsfix
ntfsresize
ntfsresize-opts
ntfsresize-size
parse-environment
parse-environment-list
part-add
part-del
part-disk
part-get-bootable
part-get-gpt-type
part-get-mbr-id
part-get-name
part-get-parttype
part-init
part-list
part-set-bootable
part-set-gpt-type
part-set-mbr-id
part-set-name
part-to-dev
part-to-partnum
ping-daemon
pread
pread-device
pvchange-uuid
pvchange-uuid-all
pvcreate
pvremove
pvresize
pvresize-size
pvs
pvs-full
pvuuid
pwrite
pwrite-device
read-file
read-lines
readdir
readlink
readlinklist
realpath
remount
remove-drive
removexattr
rename
resize2fs
resize2fs-M
resize2fs-size
rm
rm-f
rm-rf
rmdir
rmmountpoint
rsync
rsync-in
rsync-out
scrub-device
scrub-file
scrub-freespace
set-append
append
set-attach-method
attach-method
set-autosync
autosync
set-backend
backend
set-backend-setting
set-backend-settings
set-cachedir
cachedir
set-direct
direct
set-e2attrs
set-e2generation
set-e2label
set-e2uuid
set-hv
hv
set-label
set-libvirt-requested-credential
set-libvirt-supported-credentials
set-memsize
memsize
set-network
network
set-path
path
set-pgroup
pgroup
set-program
program
set-qemu
qemu
set-recovery-proc
recovery-proc
set-selinux
selinux
set-smp
smp
set-tmpdir
tmpdir
set-trace
trace
set-uuid
set-verbose
verbose
setcon
setxattr
sfdisk
sfdiskM
sfdisk-N
sfdisk-disk-geometry
sfdisk-kernel-geometry
sfdisk-l
sh
sh-lines
shutdown
sleep
stat
statvfs
strings
strings-e
swapoff-device
swapoff-file
swapoff-label
swapoff-uuid
swapon-device
swapon-file
swapon-label
swapon-uuid
sync
syslinux
tail
tail-n
tar-in
tar-in-opts
tar-out
tar-out-opts
tgz-in
tgz-out
touch
truncate
truncate-size
tune2fs
tune2fs-l
txz-in
txz-out
umask
umount
unmount
umount-opts
umount-all
unmount-all
umount-local
upload
upload-offset
user-cancel
utimens
utsname
version
vfs-label
vfs-type
vfs-uuid
vg-activate
vg-activate-all
vgchange-uuid
vgchange-uuid-all
vgcreate
vglvuuids
vgmeta
vgpvuuids
vgremove
vgrename
vgs
vgs-full
vgscan
vguuid
wc-c
wc-l
wc-w
wipefs
write
write-append
write-file
xfs-admin
xfs-growfs
xfs-info
xfs-repair
zegrep
zegrepi
zero
zero-device
zero-free-space
zerofree
zfgrep
zfgrepi
zfile
zgrep
zgrepi
libguestfs手册(2):guestfish command的更多相关文章
- libguestfs手册(1): 架构
要编辑一个image,则运行下面的命令 guestfish -a ubuntutest.img ><fs> 会弹出一个命令行工具 运行run ><fs> run 我 ...
- libguestfs手册(3): virt命令
guestmount root# guestmount -a ubuntutest1.img -m /dev/sda1 ubuntutestp1 root# cd ubuntutestp1/root: ...
- guestfish 修改 image file
Example guestfish sessionSometimes, you must modify a virtual machine image to remove any traces of ...
- 别以为真懂Openstack: 虚拟机创建的50个步骤和100个知识点(3)
四.Nova-compute 步骤17:nova-compute接收到请求后,通过Resource Tracker将创建虚拟机所需要的资源声明占用 步骤18:调用Neutron API配置Networ ...
- nova file injection的原理和调试过程
file injection代码 file injection原理来讲是比较简单的,在nova boot命令中,有参数--file,是将文件inject到image中 nova boot --flav ...
- [原创]Linux-day1
原创:转发务必注明出处http://www.cnblogs.com/0zcl/p/6077298.html 一.Linux的基本原则 由目的单一的小程序组成:组合小程序完成复杂任务 一切皆文件 尽量避 ...
- 常用命令[Linux]
Linux文件类型 -:普通文件(f) d:目录文件 b:块设备文件(block) c:字符设备文件(character) l:符号链接文件(symbolic link file) p:命名管道文件( ...
- linux man使用方法 和centos安装中文man包 --转
http://blog.chinaunix.net/uid-25100840-id-302308.html 这两天学习<linux设备驱动程序开发详解>中的异步通知,其中有一个fcntl( ...
- 10 分钟学会Linux常用 bash命令
目录 基本操作 1.1. 文件操作 1.2. 文本操作 1.3. 目录操作 1.4. SSH, 系统信息 & 网络操作 基本 Shell 编程 2.1. 变量 2.2. 字符串替换 2.3. ...
随机推荐
- oracle查询某张表的外键,并用 truncate 命令有外键的表中的数据
注:本文来源于<oracle查询某张表的外键(最终解决办法)> 一:几个查询表外键的脚本 select b.table_name, b.column_name from user_cons ...
- iOS 仿抖音 视频裁剪
1.最近做短视频拍摄.其中的裁剪界面要做得和抖音的视频裁剪效果一样 需求: 裁剪有一个最大裁剪时间.最小裁剪时间.左右拖动可以实时查看对应的视频画面.拖动进度条也能查看对应的画面 .拖动底部视图也能 ...
- pip的安装问题
1. pip install 要不要加 sudo 不加sudo经常会遇到权限问题,如: $ pip install robotframeworklexer Collecting robotframew ...
- kmp算法:
自学kmp算法: first time:wa #include<cstdio> #include<algorithm> #include<iostream> #in ...
- Scrapy 扩展中间件: 针对特定响应状态码,使用代理重新请求
0.参考 https://doc.scrapy.org/en/latest/topics/downloader-middleware.html#module-scrapy.downloadermidd ...
- C#实现视频监控客户端onvif协议一
前言 最近做的项目是监控方面的,需要对接各种摄像头,之前的方案是把各个厂家的SDK都集成到系统中,然后让用户进行切换,后来知道了Onvif (自行百度具体概念)这个东西.原来早就有人一统江湖了. on ...
- day22.面向对象初识
1.面向对象引入 先来创建一个小游戏:人狗大战 # 定义一个狗 def Gog(name,blood,aggr,kind): dog = { 'name':name, 'blood':blood, ' ...
- kafka 客户端 producer 配置参数
属性 描述 类型 默认值 bootstrap.servers 用于建立与kafka集群的连接,这个list仅仅影响用于初始化的hosts,来发现全部的servers.格式:host1:port1,ho ...
- Docker 学习6 Docker存储卷
一.什么是存储卷 二.为什么要用到数据卷 三.数据卷是怎么被管理的 四.存储卷种类 五.在容器中使用存储卷 1.只声明容器路径 [root@localhost docker]# docker run ...
- Docker 学习5 Docker容器网络
一.内核网络名称空间 1.可通过ip netns进行操作 [root@localhost /]# ip netns help Usage: ip netns list ip netns add NAM ...