TAR dosyasını ISO dosyasına dönüştürme


9

Doğrudan ISO'ya dönüştürmek istediğim bir Linux TAR dosyam var. Öncelikle dosyanın içeriğini çıkarmak zorunda kalmadan bunu yapmanın bir yolu var mı?

Bu şu soruya benzer ; ancak bu düz veya düz zift dosyalarına odaklanır ve bzip veya bzip zift ile ilgili değildir.

Bu aynı zamanda bir betikte kullanmayı amaçladığım bir şey ve önce onu ayıklamak istemememin nedeni.


Teorik olarak, dosyaların her birini diske çıkarmak zorunda kalmadan yapılabilir (yeni görüntüye koymak için arşivden çıkarılması gerekir), ancak bunu yapan hiçbir şey bilmiyorum.
Ignacio Vazquez-Abrams

Bunu neden katran çıkarmadan yapmak istiyorsun?
Nils

Stdin gibi bir şeye boru ve sonra iso dosyasına üzerine boru için bir yol olup olmadığını merak ediyorum ???
John

Komutun ne yaptığından emin olmadığım için, bunun işe yarayıp yaramayacağından emin değilim. - tar -jxf / dev / stdin dosya.tar | mkisofs -o file.iso-akış-ortam-boyutu 512
John

-Stream-media-size seçeneği aslında bunun için yapıldı! :-) Bilgi için genisoimage man sayfasına bakınız - şu anda bu seçenek için dokümanlardaki ziftten bahsediyor (ve bunun için örneklerde kullanıyor).
Abbafei

Yanıtlar:


6

Katran arşivinin içeriğine bir dizinmiş gibi erişmek için AVFS'yi kullanın . AVFS, FUSE üzerine kurulmuş bir sanal dosya sistemidir . Favori ISO oluşturucunuzu katran arşivinin içindeki dizine yönlendirin.

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

@ Gilles - fikir için teşekkürler. Bu mükemmel bir fikir olabilir gibi görünüyor; ancak ben CentOS 6 kullanıyorum ve AVFS kurmaya çalışırken sorunla karşılaşıyorum.
John

1

Birincil hedefleriniz süreci hızlandırmak ve performans nedeniyle gereksiz disk faaliyetlerinden kaçınmaksa ve tarball'ınızın boyutuna göre yedeklemek için bol miktarda RAM'iniz varsa, .tar'ı tmpfs kullanarak RAM'e çıkarabilirsiniz . @ Bulleric'in boru yaklaşımını işe yaramıyorsanız ve bir diskten diğerine yazıyorsanız, bu seçenek büyük olasılıkla mevcut olan en hızlı yöntemdir .


0
archivemount /file.tar /media/ISO

veya sıkıştırılmamış .tar ve

genisoimage -o myfile.iso directory_src

( klasör /media/ISO veya noktaya monte edilebilir /media/cdrom )


-2

Çıkarmanız gerekir, ancak sabit sürücünüze çıkarmamalısınız, stdtout'u kullanabilir ve genisoimage veya mkisofs için borulayabilirsiniz.

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

Dene: mount -o loop image.iso /mnt

bu sorunu otomatikleştirmek için küçük bir komut dosyası yazabilirsiniz

greez boğa


Ve bir dosyayı diğerinden nasıl söylerdi?
Ignacio Vazquez-Abrams

Bunu çalıştırdığımda bir dizi hata alıyorum, birincisi: tar: -Acdtrux' or --test-label 'seçeneklerinden birini belirtmelisiniz . Bir sonraki hata: I: -input-charset, utf-8 (yerel ayarlarda tespit edildi) kullanılarak belirtilmedi. Son hata: genisoimage: Böyle bir dosya veya dizin yok. Geçersiz düğüm - 'tareddata'.
John

ilk sorun i solvet ben katran yanlış bir seçenek var; Bence 2 tek hmm ilk dizin olsun extractet aynı adı olarak tardata.tar tardata gibi çıkarılmamış dizin olarak
bulleric

Maalesef, bunun işe yarayacağının hiçbir yolu olmadığından eminim; -1.
MadHatter
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.