Soru Untar sonrası orijinal katranı silinsin mi? Untar için yeterli alan yok


Unutmak / depolamak için ihtiyacım olan 130GB katran bir dosyam var.

Sorun şu ki, her ikisinin de aynı anda var olması için yeterli disk alanım yok. Tar dosyasını nasıl açabilirim ve yeterli disk alanı olduğundan emin olun ve untardan hemen sonra dosyayı silin.

Teşekkürler.


5
2017-12-04 15:11


Menşei


Ciddi anlamda?! Eğer sen sahip olsaydın Chopper3'ün önerdiği gibi rysnc kullanın (ve 10x tarafından kabul edilen cevabınızı reddetti) herhangi bu da dahil olmak üzere karşılaştığınız problemlerin - Mark Henderson♦
Andrew'un son sorularını kontrol ettiyseniz, bunu keşfedebilirsiniz. rsync'i işe almakla ilgili bir problemi vardı. Öyleyse onu biraz rahatlat. - Steven Monday
çocuklar, zaten bir 130GB tar arşivine sahip, bu sefer için bir çözüme ihtiyacı var, bir dahaki sefere rsync veya scp kullanacak. Cevabım, bu sorun için, 130 gb dosyaları ağ üzerinden nasıl kopyalayabileceğiyle ilgili değildi. - Paul
Silmek istediniz. süre  untaring, değil sonraçünkü açıkça yapmanın hiçbir yolu yoktur sonra Hem öncesi hem de sonrasındaki kopyalar için iki kat alan tüketmeden. - underscore_d


Cevaplar:


Bu zor. Gerçekten ne kadar boş alan olduğuna bağlı.

Diğerleri Dosyaların bir kısmını ayıklamak ve onları katrandan silmek için söyledi. Şu an görebildiğim tek seçenek bu.

Katranın güncellenmesi, katranın aynı sürücüdeki silinmiş dosyalar olmadan yeniden yapılandırılmasını gerektirir. Bu yüzden dosyaların çıkartılmasına izin vermek için 2 x tar boyutu + bir şey daha var.

HTH


2
2017-12-04 15:39





Yalnızca bir tar dosyası (yani sıkıştırılmamışsa) ve tarponun sıkıştırılmış bir sürümünü saklamak için diskte yeterli alan varsa, bunu sıkıştırmayı deneyebilir ve ardından unzip | tar boru. Gerçi bunu önceden test ederim.

Daha kolay çözüm: Daha büyük bir disk alın.


1
2017-12-05 00:31





Tar dosyasını başka bir sunucuya koyabilir misiniz? Çünkü o zaman, orijinal dosya tarafından alınan alan hakkında endişelenmeden ssh yoluyla açabilirsiniz.


1
2017-12-05 01:25



Ya da kabul ettiğin çözümü takip edebilirsin serverfault.com/questions/208300 ve uzak sunucuda alan kullanılmaz! - mattdm


Tek kelimeyle: Acı ve ıstırap ...

Anlamak tar tarafından kullanılan dosya formatıYaptıklarınızla ilgili yardım etmek için bazı araçlar geliştirebilirsiniz, ancak belirli dosyanızla ilgili olabilecek ya da olmayabilecek komplikasyonlar vardır. Tar dosyası, diğer şeylerin yanı sıra dosyanın dosya adını ve uzunluğunu belirten 512 baytlık üstbilgileri kullanır. Her dosya girişinin tar dosyası içinde bir dizi ofset oluşturmak için bu bilgileri kullanabilirsiniz. Ardından, tar dosyasını geriye doğru hareket ettirmek gibi bir şey yapabilir ve dosyaları ayıklarken dosyayı kırpabilirsiniz.

Bununla birlikte, uğraşmanız gereken bazı konular vardır. Örneğin, GNU katranı, 512 bayt üstbilgisine sığmayan ek bilgileri depolamak için uzun dosya adlarıyla dosya için bazı "sahte" girdiler oluşturabilir. Ayrıca dizin girişleri hakkında dikkatli olmanız gerekebilir; bu, dizin girişini içerikten önce çıkarırsanız, dosyaları dizine eklemenize izin vermeyecek izinleri belirtebilir.

Diğerlerinin yanı sıra, Python programlama dili katran dosyalarını işlemek için güzel bir kütüphane içerir.

Bununla birlikte, başka bir seçenek, katran formatı ne olursa olsun, büyük tar dosyasını daha küçük dosyalara bölmek olabilir. Sonunu ayırın ve sonra kaynak dosyayı kırpın. Tek bir 130GB dosyası yerine 130 1GB dosyaya sahip olana kadar tekrarlayın. Açıkçası, bu bölünmüş / kesiklerin doğru bir şekilde alınması biraz zor olabilir. "Dd" ve "truncate" komutlarını kullanarak yapılabilir

Sonra, ilk dosyayı "cat" edecek, ilk dosyayı silecek, ikinci dosyayı silecek, ikinci dosyayı silecek bir betik yapmak kolay olurdu. " tar dosyası çıkarır kaynak dosyaları silinir.

Elbette, bunlar yıkıcı operasyonlar, bu yüzden temelde onları doğru yapmak için tek bir atış yapıyorsunuz.

En kolay, 130GB dosyasını kopyalayıp oradan çıkarmak için bir yer varsa olurdu. Harici bir USB sabit sürücü veya başka bir makine söyleyin ve bir SSH tüneli üzerinden ayıklayın.


1
2017-12-05 04:02