Формат файла ZIP включает в себя каталог (индекс) в конце архива.В этом каталоге указано, где в архиве находится каждый файл, и, таким образом, обеспечивается быстрый произвольный доступ без чтения всего архива.
Это может создать проблему при попытке чтения архива ZIP через каналв том, что к индексу не осуществляется доступ до самого конца, и поэтому отдельные элементы не могут быть правильно извлечены до тех пор, пока файл не будет полностью прочитан и больше не доступен.Таким образом, неудивительно, что большинство декомпрессоров ZIP просто терпят неудачу, когда архив подается по каналу.
Каталог в конце архива не является местоположением only , где метаинформация файлахранится в архиве.Кроме того, отдельные записи также включают эту информацию в локальный заголовок файла для целей резервирования.
Хотя не каждый распаковщик ZIP будет использовать локальные заголовки файлов, когда индекс недоступен, внешние интерфейсы tar и cpio для libarchive (он же bsdtar и bsdcpio) могут и будут делать это при чтениитруба, что означает следующее:
wget -qO- http://downloads.wordpress.org/plugin/akismet.2.5.3.zip | bsdtar -xvf- -C ~/Desktop