Você pode forçar o GNU e o BSD a criar um arquivo vazio com:
tar -cf tarfilename.tar -T /dev/null
Estou fazendo um RPM no qual tudo está contido no arquivo .spec (não pergunte :-). O rpmbuild requer um arquivo "Source", então eu estava tentando criar um arquivo tar vazio. No entanto, se eu não der nenhum nome de arquivo, o tar reclama:
tar: Cowardly refusing to create an empty archive
Try 'tar --help' or 'tar --usage' for more information.
Como faço para criar um arquivo tar verdadeiramente vazio?
BSD: tar cvf empty.tar --from-file /dev/null
GNU (Linux): tar cvf empty.tar --files-from /dev/null
Solaris: tar cvf empty.tar -I /dev/null
Consegui criar um arquivo vazio arquivando um único arquivo e excluindo o arquivo do arquivo.
tar cf empty.tar somefile # creates archive
tar --delete -f empty.tar somefile # remove the file
tar tf empty.tar # list contents of archive
Isso funciona para mim.
Tags tar