Bir dosyayı çıkarırken ekstra bayt hatası


28

Girdiğimde unzip ../founation-latest.zip, şunu çıktılar:

uyarı [../foundation-latest.zip]: Başında veya zipfile içinde 248 ekstra bayt (yine de işlemeye çalışılıyor)

Dosya 138KB. Düzgün açıyor, ama neden bu hatayı alıyorum?


2
Muhtemel sebeplerden biri, sisteminize olan yolculuğunun bir adımında ftpBINARY modundan ziyade ASCII modunda aktarılması ve bazı baytların eklenmesidir. Herhangi ftpbir aşamada kullandıysanız , herhangi ftpbir 'put' veya 'get' komutundan önce 'bin' komutunu kullanarak tekrar çalıştırın .
Mark Plotnick

Başlangıçta kötü niyetli bir yüke sahip olabilir. Bu düşmanca bir internet. Böyle bir zip açmak için hangi unzip yardımcı programını kullandığınıza dikkat edin.
jbrahy

Mevcut cevaplarda çok fazla varsayım var çünkü birçok olası neden var. Söz konusu dosyanın bir kopyasına veya kopyasına sahip olması yardımcı olacaktır.
duozmo

Muhtemel kötü amaçlı fazla yüke ilişkin olarak: Bu boyutta, kişisel bilgileri yoksa, dosyayı kontrol etmek için virüstotal.com'a yükleyebilirsiniz . Ancak, Linux'taki virüsler hakkında çok fazla endişe etmem, yalnızca orijinal dosyayı başka bir yere kopyalarsanız. (Verilerin tamam olduğunu düşünüyorsanız, dosyayı her zaman yeniden paketleyebilirsiniz.)
Ned64

Sadece bunu onaylamak için bir sorun var. İTunes dosya alanımın bir yedeğini hem hem de zipile birlikte oluşturmaya çalıştım ditto. unzip(10.11) tarafından sağlanan ile de olduğu gibi, her ikisi de başarısız oldu 7za. MacOS unzip sadece (büyük?) Zip dosyalarını sevmez.
Otheus

Yanıtlar:


37

Benim sorunum, PKZIP ile sıkıştırılmış şeyleri kaldıramayan MAC OSX'te "unzip" kullanmaya çalıştığımdı.

brew install p7zipKomutu kullanarak yapabildim ve sıkıştırmayı açtım 7za x some_file.zip.

İlk başta bu makalede çözümü buldum: need-pk-compat-v4-5-can-do-v2-1


4
Microsoft.com’dan bir Windows VM yazılımı indirdim ve bu, sıkıştırmayı açmak için kullanılan çözümdü.
sod

1
Bu aynı zamanda Linux'ta açmak için de geçerlidir (benim durumumda: 20 Nisan 2009 tarih ve 6.00, Debian tarafından.)
BradHards

2
Ayrıca biraz daha hızlı olduğunu ve ilerleme gösterdiğini belirtmeye değer.
previous_developer

Ayrıca p7z, daha büyük dosyaları ve daha yeni zip içeren dosyaları yönetir
Konrads

Bir AWS linux görüntüsünde bugün aynı sorun. P7zip RPM'yi timeoff.wsisiz.edu.pl/rpms.html adresinden indirdi ve arşiv test edilmedi ve yayınlanmadan çıkarıldı.
dişliler

23

Benzer bir problemi olan bu parçayı buldum. Hata raporu başlıklı: unzip 5.4GB ZIP’de “başında veya zipfile’de fazladan bayt” ile başarısız oluyor . Önerilen düzeltmelerden biri bu komutu .zipdosyada kullanmaktı.

$ zip -FFv foo.zip --out fixed.zip

Örnek Çalıştırma

$ zip -FFv foo.zip --out fixed.zip
Fix archive (-FF) - salvage what can
 Found end record (EOCDR) - says expect single disk archive
Scanning for entries...
 Local ( 1      0): copying: d1/f1   (651734 bytes)
 Local ( 1 651817): copying: d1/d2/  (0 bytes)
 Local ( 1 651905): copying: d1/d2/f3   (80 bytes)
 Local ( 1 652083): copying: d1/f23   (891 bytes)
 Local ( 1 653021): copying: d1/f27   (8764 bytes)
 Local ( 1 661837): copying: d1/f24   (14818 bytes)
 Local ( 1 676709): copying: d1/f25   (17295 bytes)
...
 Cen   ( 1 5488799949): updating: d1/f13
 Cen   ( 1 5488800052): updating: d1/f14
Zip64 EOCDR found ( 1 5488800155)...
Zip64 EOCDL found ( 1 5488800211)...
EOCDR found ( 1 5488800231)...
$ echo $?
0

zip -FF anahtarı

zip sayfası sayfasından alıntı

       -FF
       --fixfix
              Fix the zip archive. The -F option can be used if some 
              portions of the archive are missing, but requires a reasonably 
              intact central directory.   The  input  archive is scanned as 
              usual, but zip will ignore some problems.  The resulting 
              archive should be valid, but any inconsistent entries will be 
              left out.

              When doubled as in -FF, the archive is scanned from the 
              beginning and zip scans  for  special  signatures  to  
              identify  the  limits between the archive members. The single 
              -F is more reliable if the archive is not too much damaged, so 
              try this option first.

              If  the archive is too damaged or the end has been truncated, 
              you must use -FF.  This is a change from zip 2.32, where the 
              -F option is able to read a truncated archive.  The -F option 
              now more reliably fixes archives with minor damage and the -FF 
              option is  needed to fix archives where -F might have been 
              sufficient before.
              ...

3

Bu tür bir hatayı zip arşivi sorunlu bir web servisi üzerinden transfer edilmeden önce görmüştüm. Zip dosyasının doğrudan incelenmesi üzerine, web dosyasının zip dosyasının önüne gönderildiğini belirten bir hata mesajı buldum.

Zip dosyasını metin olarak incelemeyi deneyebilir ve önde ilginç bir şey olup olmadığını görebilirsiniz.


3

Sadece bu uyarıda bulundum. Benim durumumda bu http-headers zip dosyası başında görünmesine neden olan 'curl -i' ile indirerek neden oldu. aptal ben. Elbette bu her durumda sebep / çözüm olmayacak, ama belki birisinin yardımına ...


2

Kendiliğinden açılan bir arşiv (windows .exe) olabilir veya bazı nedenlerden dolayı doldurulmuş olabilir.


1
"Yastıklı" derken ne demek istiyorsun?
yağmur

Dosyayı belirli bir uzunlukta yapmak için fazladan bayt (genellikle boş (sıfır)). Bu, dosya aktarım bloğu boyutunun (örn. Xmodem) bir eseriydi, ancak modern dünyada bu gerçekleşmedi. Aynı zamanda bir şifreleme imzası olabilir. (Dosyam yok, bu yüzden bu 248 baytın ne olduğunu bilmiyorum.)
Ricky Beam

0

Bende de aynı sorun vardı. Dosyaları Windows modundan Unix sunucusuna bin modunu kullanmadan kopyalarken bu sorunu gözlemledim. Sorunu çözmenin en iyi yolu, dosyaları bin modunda aktarmaktı.


(1) Bu bilgi zaten bir yorumda sunuldu . Sorun değil, ancak… (2) yorumda bu cevaptan daha detaylı bilgi var. (3) Ne hakkında konuştuğunuzu açıklayarak bu cevabı geliştirmelisiniz. Lütfen yorumlara cevap vermeyin; cevabınızı daha net ve daha eksiksiz hale getirmek için düzenleyin .
Scott,

0

Aynı sorunu, Linux'ta .zip4GB'tan büyük bir dosyayla, bir only DEFLATED entries can have EXT descriptorhatayla birleştirdim.

Komut 7z xtüm sorunlarımı çözdü.

Yine de dikkatli olun, komut 7z xgeçerli dizinde köklü bir dosya içeren tüm dosyaları ayıklayacaktır. Seçenek -obir çıkış dizini belirtmenize izin verir.

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.