virt-edit - 云端在线

这是 virt-edit 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


virt-edit - 在虚拟机中编辑文件

概要


virt-edit [--options] -d domname 文件 [文件 ...]

virt-edit [--options] -a disk.img [-a disk.img ...] 文件 [file ...]

virt-edit [-d domname|-a disk.img] 文件 -e 'expr'

老款式:

virt 编辑 domname 文件

virt-edit disk.img [disk.img ...] 文件

警告


在实时虚拟机上使用“virt-edit”,或与其他磁盘编辑工具同时使用,
可能很危险,可能会导致磁盘损坏。 必须关闭虚拟机
在使用此命令之前关闭,并且不能同时编辑磁盘映像。

商品描述


“virt-edit”是一个命令行工具,用于编辑“文件”,其中每个“文件”都存在于命名的
虚拟机(或磁盘映像)。

可以给出多个文件名,在这种情况下,每个文件名都会被依次编辑。 每个
filename 必须是完整路径,从根目录开始(以“/”开头)。

如果您只想查看文件,请使用 虚拟猫(1)。

对于更复杂的情况,您应该查看 客鱼(1) 工具(参见“使用 GUESTFISH”
下文)。

“virt-edit”不能用于创建新文件。 客鱼(1) 可以做到这一点以及更多。

示例


以交互方式编辑命名文件:

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

virt-edit -d mydomain / etc / passwd文件

对于 Windows 来宾,可以理解一些 Windows 路径:

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

如果安装了 Perl,您还可以以非交互方式编辑文件(请参阅“非交互式
EDITING" 下面)。要将初始默认级别更改为 5:

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

配置


- 帮帮我
显示简要帮助。

-a 文件
- 添加 文件
添加 文件 这应该是来自虚拟机的磁盘映像。 如果虚拟机
有多个块设备,你必须为它们提供单独的 -a 选项​​。

磁盘映像的格式是自动检测的。 要覆盖它并强制执行
特定格式使用 --格式=.. 选项。

-a 的URI
- 添加 的URI
添加远程磁盘。 请参阅“添加远程存储” 客鱼(1)。

-b 延期
--备份 延期
创建原始文件的备份 in 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 客人 磁盘 图片. 备份有
添加了“扩展名”的原始文件名。

通常“扩展名”的第一个字符是一个点“。” 所以你会写:

virt-edit -b .orig [等]

默认情况下,不制作备份文件。

-c 的URI
- 连接 的URI
如果使用 libvirt,请连接到给定的 的URI. 如果省略,那么我们连接到
默认的 libvirt 管理程序。

如果直接指定来宾块设备,则根本不使用 libvirt。

-d 客人
- 领域 客人
添加来自命名的 libvirt 来宾的所有磁盘。 可以使用域 UUID 代替
名称。

--回声键
当提示输入密钥和密码时,virt-edit 通常会关闭回显,因此您
看不到您正在输入的内容。 如果您不担心 Tempest 攻击并且
房间里没有其他人,您可以指定此标志以查看您正在键入的内容。

-e EXPR
- 编辑 EXPR
--表达式 EXPR
以非交互方式应用 Perl 表达式,而不是启动外部编辑器
“EXPR”到文件中的每一行。 请参阅下面的“非交互式编辑”。

小心正确地引用表达式以防止它被
贝壳。

请注意,此选项仅在安装了 Perl 5 时可用。

--格式=原始|qcow2|..
- 格式
默认为 -a 选项是自动检测磁盘映像的格式。 使用
这会强制磁盘格式为 -a 命令行后面的选项。 使用
- 格式 没有参数切换回自动检测以供后续 -a 选项​​。

例如:

virt-edit --format=raw -a disk.img 文件

强制原始格式(无自动检测) 磁盘文件.

virt-edit --format=raw -a disk.img --format -a another.img 文件

强制原始格式(无自动检测) 磁盘文件 并恢复到自动检测
另一个.img.

如果您有不受信任的原始格式来宾磁盘映像,则应使用此选项来
指定磁盘格式。 这避免了恶意软件可能带来的安全问题
来宾 (CVE-2010-3851)。

--来自标准输入的键
从标准输入读取密钥或密码参数。 默认是尝试读取
通过打开来自用户的密码 /开发/ tty.

-m 开发[:mountpoint[:options[:fstype]]]
- 山 开发[:mountpoint[:options[:fstype]]]
在给定的挂载点上挂载命名分区或逻辑卷。

如果省略挂载点,则默认为 /.

指定任何挂载点都会禁用对来宾及其挂载的检查
root 及其所有挂载点,因此请确保挂载所有需要的挂载点
使用作为参数给出的文件名。

如果您不知道磁盘映像包含哪些文件系统,您可以运行 guestfish
如果没有此选项,则列出可用的分区、文件系统和 LV(请参阅
“list-partitions”、“list-filesystems”和“lvs”命令),或者您可以使用
虚拟文件系统(1) 程序。

mount 参数的第三部分(很少使用)是挂载选项列表
用于挂载底层文件系统。 如果没有给出,则挂载选项
是空字符串或“ro”(如果 --罗 使用标志)。 经过
指定挂载选项,您将覆盖此默认选择。 大概是唯一
如果文件系统
可以支持他们:

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

使用此标志等效于使用“mount-options”命令。

参数的第四部分是要使用的文件系统驱动程序,例如“ext3”或
“ntfs”。 这很少需要,但如果多个驱动程序对一个有效
文件系统(例如:“ext2”和“ext3”),或者如果 libguestfs 错误地识别了文件系统。

-v
--详细
启用用于调试的详细消息。

-V
- 版
显示版本号并退出。

-x 启用对 libguestfs API 调用的跟踪。

老款式 指挥 LINE 争论


以前版本的 virt-edit 允许您编写:

virt-edit disk.img [disk.img ...] 文件

or

virt-edit 来宾名称文件

而在这个版本中你应该使用 -a or -d 分别避免混淆的情况
其中磁盘映像可能与来宾具有相同的名称。

为了兼容性,仍然支持旧样式。

非交互式 编辑


“virt-edit”通常调用 $EDITOR(或 vi),以便系统管理员可以
交互式编辑文件。

还有两种方法可以从脚本中使用“virt-edit”来进行自动编辑
到文件。 (请注意,虽然你 能够 像这样使用“virt-edit”,它不太容易出错
直接使用 libguestfs API 和 Augeas 编写脚本作为配置文件
编辑)。

第一种方法是将 $EDITOR 临时设置为您要运行的任何脚本或程序。
该脚本被调用为“$EDITOR tmpfile”,但它应该更新“tmpfile”
它喜欢。

第二种方法是使用 -e “virt-edit”的参数来运行一个简短的 Perl 片段
的风格 口渴(1). 例如,要将文件中的所有“foo”实例替换为“bar”:

virt-edit -d domname 文件名 -e 's/foo/bar/'

可以使用 Perl 正则表达式的全部功能(请参阅 珍珠(1))。 例如到
删除root的密码,你可以这样做:

virt-edit -d 域名 / etc / passwd文件 -e 's/^root:.*?:/根::/'

真正发生的是,代码段被评估为每一行的 Perl 表达式
文件。 该行,包括最后的“\n”,在 $_ 中传递,表达式应该
更新 $_ 或保持不变。

要删除一行,请将 $_ 设置为空字符串。 例如删除“apache”用户
您可以执行以下操作的密码文件中的帐户:

virt-edit -d mydomain / etc / passwd文件 -e '$_ = "" if /^apache:/'

要插入一行,请将其前置或附加到 $_。 但是在末尾添加行
文件以这种方式相当困难,因为没有“文件的最后一行”的概念 -
你的表情不会再次被调用。 您可能想使用第一种方法
(设置 $EDITOR)如果你想这样做。

变量 $lineno 包含当前行号。 和传统一样,第一行
在文件中是数字 1。

表达式的返回值被忽略,但表达式可能会在
为了中止整个程序,保持原始文件不变。

请记住,在匹配行尾时,$_ 可能包含最后的“\n”,或者(对于 DOS
files) "\r\n",或者如果文件不以换行符结尾,那么这两个都不行。 从而
匹配或替换行尾的一些文本,使用以下正则表达式:

/一些文字(\r?\n)?$/

或者,使用 perl "chomp" 函数,注意不要 chomp $_ 本身(因为
这将从文件中删除所有换行符):

我的 $m = $_; 咀嚼 $m; $m =~ /一些文字$/

视窗 路径


“virt-edit”理解 Windows 驱动器号和路径的能力有限(例如。
E:\foo\bar.txt).

当且仅当来宾运行 Windows 时:

· 驱动器号前缀如“C:”​​根据 Windows 注册表解析为
正确的文件系统。

· 路径中的任何反斜杠 ("\") 字符都将替换为正斜杠,以便
libguestfs 可以处理它。

· 不区分大小写解析路径以定位应编辑的文件。

有一些已知的缺点:

· 某些 NTFS 符号链接可能无法正确遵循。

· 不遵循跨文件系统的 NTFS 连接点。

使用 客鱼


客鱼(1) 是一个更强大的低级工具,您可以在“virt-edit”时使用它
不起作用。

使用“virt-edit”大致相当于:

guestfish --rw -i -d domname 编辑/文件

其中“domname”是 libvirt 来宾的名称,以及 /文件 是文件的完整路径。

上面的命令使用 libguestfs 的访客检查功能,因此不适用于
libguestfs 无法检查的来宾,或诸如不检查的任意磁盘映像之类的东西
包含客人。 要直接编辑磁盘映像上的文件,请使用:

guestfish --rw -a disk.img -m /dev/sda1 编辑 /file

哪里 磁盘文件 是磁盘映像, / dev / sda1 是磁盘映像中的文件系统
编辑,和 /文件 是文件的完整路径。

“virt-edit”无法创建新文件。 使用 guestfish 命令“touch”、“write”或
“上传”代替:

guestfish --rw -i -d 域名 touch /newfile

guestfish --rw -i -d domname write /newfile "新内容"

guestfish --rw -i -d domname 上传本地文件/新文件

环境 变数


“编辑”
如果设置,则此字符串用作编辑器。 它可能包含参数,例如。 “emacs -nw”

如果未设置,则使用“vi”。

退出 状态


如果成功,该程序返回 0,如果有错误,则返回非零。

使用 onworks.net 服务在线使用 virt-edit



最新的 Linux 和 Windows 在线程序