テープへの書き込みには dd またはリダイレクトを使用しますか?

テープへの書き込みには dd またはリダイレクトを使用しますか?

暗号化されたテープへの書き込みを Google で検索すると、さまざまな結果が見つかりました。

tar を openssl にパイプする方法のほとんどは次のようになります。

tar cf - /home | openssl des3 -salt -k "Your-Password-Here"

いくつかは dd にパイプしますが、他のいくつかはテープ デバイスにリダイレクトするだけです。

tar cf - /home | openssl des3 -salt -k "Your-Password-Here" | dd of=/dev/nst0
tar cf - /home | openssl des3 -salt -k "Your-Password-Here" > /dev/nst0

質問:このために dd を呼び出す特別な理由があるのでしょうか、それともリダイレクトを使用してテープに「直接」ストリーミングするだけで安全でしょうか?

答え1

一般的に、テープ デバイスはブロック単位で書き込まれるのが好みなので、dd出力をリダイレクトするよりも を使用する方がよいでしょう。ただし、記述したコマンドではブロック化は行われません。テープ デバイスによってはブロック サイズが大きく異なる可能性がありますが、ブロック サイズは 4k が一般的で(*)、コマンド リストで をdd使用することで指定されます。例:bs=4096dddd of=/dev/rst0 bs=4096

ただし、多くの LTO テープ ドライブの 1 つを Google で検索すると、256 KB を超えないブロック サイズが推奨されています。したがって、デバイスに最適なサイズを調べてください。引数には、bsまたはbs=4kなどのスケーリングの省略形を使用することもできますbs=1M

関連情報