我想写图像在两个SD卡在同一时间。我设想了至少两个并发的写作场景:
tee或类似的分岔机制写入图像?我可以预见一个问题,如果这两个目标可以以不同的速度写入,那么就有必要降低写入速度,以免使较慢的编写者过载。图像很大:燃烧多个目标的能力是一个显著的优势。
发布于 2019-06-05 02:53:33
是否可以用tee或类似的分叉机制写入图像?
sudo tee /dev/sdb /dev/mmcblk0 < sdcard.image > /dev/null发布于 2019-06-05 10:04:10
可以从两个不同的BASH执行cat命令吗?
哪个cat命令?
如果您只想实现与这里相同的结果:
sudo sh -c 'pv sdcard.image >/dev/sdb'sudo sh -c 'pv sdcard.image >/dev/mmcblk0'
但是,一次回车命中,为什么不简单地组合这样的命令呢?
sudo sh -c 'pv sdcard.image /dev/sdb && pv sdcard.image /dev/mmcblk0'
是因为你不想读两遍这个文件吗?
(对于&&,它执行的第二个命令只有在第一个命令成功的情况下才能执行;如果希望以任何方式执行第二个命令,则可以更改;的&& )
要从文件系统中读取文件一次,可以这样做:
cat sdcard.image | tee /dev/sdb > /dev/mmcblk0
在这里,您利用了tee默认行为:tee发送给文件的内容,将其发送到设备目标之一,将该设备作为tee命令的文件参数,以及tee发送给stdout的内容,将其重定向到其他设备目标。
或者,使用parallel读取两次图像,但同时并行地进行两次写入:
parallel 'cat sdcard.image >' ::: /dev/{sdb,mmcblk0}注意:记住这个parallel是GNU parallel,而不是moreutils parallel
https://unix.stackexchange.com/questions/522950
复制相似问题