RHEL/Rocky LINUX KVM启用虚拟化的命令比较复杂,可能不是每个工程师都能够看懂。
要将给定的命令拆解为原子的Linux命令,我们需要展开循环和花括号扩展。原命令如下:
bash
for drv in qemu network nodedev nwfilter secret storage interface; do
systemctl start virt${drv}d{,-ro,-admin}.socket
done
拆解步骤:
-
循环变量
drv的取值有 7 个:
qemu,network,nodedev,nwfilter,secret,storage,interface。 -
花括号扩展
{,-ro,-admin}会生成 3 个后缀:
空后缀(即无额外字符)、-ro、-admin。 -
每个
drv值会生成 3 个独立的服务名,格式为:
virt<drv>d.socket、virt<drv>d-ro.socket、virt<drv>d-admin.socket。
原子命令列表:
依次执行以下命令,每个命令启动一个独立的 socket 服务:
bash
# qemu 相关服务 systemctl start virtqemud.socket systemctl start virtqemud-ro.socket systemctl start virtqemud-admin.socket # network 相关服务 systemctl start virtnetworkd.socket systemctl start virtnetworkd-ro.socket systemctl start virtnetworkd-admin.socket # nodedev 相关服务 systemctl start virtnodedevd.socket systemctl start virtnodedevd-ro.socket systemctl start virtnodedevd-admin.socket # nwfilter 相关服务 systemctl start virtnwfilterd.socket systemctl start virtnwfilterd-ro.socket systemctl start virtnwfilterd-admin.socket # secret 相关服务 systemctl start virtsecretd.socket systemctl start virtsecretd-ro.socket systemctl start virtsecretd-admin.socket # storage 相关服务 systemctl start virtstoraged.socket systemctl start virtstoraged-ro.socket systemctl start virtstoraged-admin.socket # interface 相关服务 systemctl start virtinterfaced.socket systemctl start virtinterfaced-ro.socket systemctl start virtinterfaced-admin.socket
说明:
-
共拆解为 21 条独立命令(7 个模块 × 每个模块 3 个服务)。
-
每条命令仅操作一个
.socket单元,符合原子性要求。 -
这些命令覆盖了虚拟化所需的全部 socket 服务(QEMU、网络、节点设备、网络过滤、密钥管理、存储和接口)。
1811

被折叠的 条评论
为什么被折叠?



