tar/dd — Ошибка записи на ленточный накопитель — Устройство или ресурс заняты
Я попытался передать tar на dd и использовать dd для записи на ленту, чтобы добиться прогресса:
export TAPE=/dev/nst0
tar -b 128 -c *| dd of=$TAPE bs=65536 status=progress
Однако я получил ошибку
tar: /dev/nst0: Cannot open: Device or resource busy
tar: Error is not recoverable: exiting now
tar dd сами по себе прекрасно записывают на диск.
1 ответ
Ключ к этой проблеме кроется в сообщении об ошибке. Оно начинается с «tar». Tar должен, как всегда, писать на стандартный вывод, а не на диск. dd выполняет запись на диск. Оказывается, если установлена переменная TAPE, tar предпочитает записывать на ленточный накопитель, а не в канал. Поэтому я исправил это, передав '-f -':
tar -b 128 -c -f - *| dd of=$TAPE bs=65536 status=progress