tar
é razoavelmente inteligente. Quando solicitado a arquivar nós especiais como /dev/{zero,urandom,...}
, ele armazena os números de dispositivos Major e Minor (como usado no comando mknod
) necessários para criar esses arquivos:
$ tar cf foo.tar /dev/zero
tar: Removing leading '/' from member names
$ tar tvf foo.tar
crw-rw-rw- root/root 1,5 2016-12-25 13:06 dev/zero
$ tar xf foo.tar
tar: dev/zero: Cannot mknod: Operation not permitted
tar: Exiting with failure status due to previous errors
Também não arquiva dispositivos de bloco diretamente. Veja Como convencer o tar (etc.) a arquivar o conteúdo do dispositivo de bloco?