Existe um novo alvo de dm chamado "snapshot-merge".
Se você formatar sua memória flash USB como um volume físico LVM e, em seguida, localizar o sistema de arquivos desejado sobre um volume lógico, poderá
- Ative um grupo de volumes contendo sua memória flash USB e outro volume físico LVM em um disco local.
- Crie um instantâneo do volume lógico no disco local.
- Monte o instantâneo, faça o que quiser com ele e, em seguida, desmonte-o.
- Mesclar o instantâneo de volta à origem.
Isso deve ficar próximo ao que você pediu, embora exija um dispositivo de bloco de rascunho em vez de um diretório temporário.
Substitua as partes entre {chaves} conforme apropriado.
# Initial setup of the USB drive. pvcreate /dev/{USB} vgcreate {removable} /dev/{USB} lvcreate -n {base} -l 100%PVS {removable} /dev/{USB} mkfs -t {fs} {...} /dev/mapper/{removable}-{base}
# Initial setup of the scratch device. pvcreate /dev/{SCRATCH}
# Mounting the device. vgextend {removable} /dev/{SCRATCH} lvcreate -s -n {snap} -l 100%ORIGIN /dev/mapper/{removable}-{base} /dev/{SCRATCH} mount -t {fs} -o {...} /dev/mapper/{removable}-{snap} {MOUNTPOINT}
# Unmounting the device. umount {MOUNTPOINT} lvconvert --merge /dev/mapper/{removable}-{snap} vgreduce {removable} /dev/{SCRATCH} vgchange -a n {removable}
Não testado, mas todos os comandos do LVM têm manpages, então você deve ser capaz de descobrir as coisas daqui. Você pode precisar de uma invocação de vgscan
em algum lugar, se o grupo de volumes não for detectado automaticamente quando você conectar a unidade USB.