如何将TAR文件转换为ISO文件

我有一个Linux TAR文件,我想直接转换ISO。 有没有办法做到这一点,最好,而不必先提取文件的内容?

这与以下问题类似: 然而,这是集中在简单或直接的tar文件,而不涉及bzip或bzipped焦油。

这也是我打算在脚本中使用的,也是我不想首先提取的原因。

使用AVFS访问tar归档文件的内容,就好像它是一个目录一样。 AVFS是build立在FUSE上的虚拟文件系统。 将你最喜欢的ISO构build器指向tar档案中的目录。

mountavfs cd ~/.avfs/path/to/archive.tar\# genisoimage -o /path/to/iso . 

如果你的主要目标是加快进程,并避免不必要的磁盘活动的性能的原因,你有足够的RAM相对于你的tarball的大小,你可以提取.tar到RAM使用tmpfs 。 这个选项很可能是最快的,除非你能够使@ bulleric的pipe道方法工作, 并且你正在从一个磁盘读取数据并写入另一个磁盘。

 archivemount /file.tar /media/ISO 

或未压缩的.tar

 genisoimage -o myfile.iso directory_src 

可以是文件夹 /media/ISO 或点装 /media/cdrom

你必须提取它,但你不必将其提取到你的硬盘上,你可以使用stdtout并将其pipe理到genisoimage或mkisofs

tar --to-stdout xf tareddata.tar | genisoimage -o image.iso tareddata

testing一下: mount -o loop image.iso /mnt

你可以写一个小脚本来自动化这个问题

格瑞兹公牛