Я загружаю много srpms, чтобы порыться, я обычно проходил долгий путь,
root@server$ curl rpm -o file.rpm
root@server$ rpm2cpio file.rpm | cpio -id
но это оставляет после уродливого file.rpm, поэтому я попробовал один конвейер
root@server$ curl rpm | rpm2cpio - | cpio -id
В соответствии с man-страницей curl curl по умолчанию выводит в stdout, а в man-странице rpm2cpio говорится, что если единственным аргументом является '-', то он будет читать из stdin.
Однако я продолжаю получать ошибки:
error: rpm2cpio: headerRead failed: hdr blob(23176): BAD, read returned 2696
error reading header from package
cpio: premature end of archive
0 5468k 0 13257 0 0 21912 0 0:04:15 --:--:-- 0:04:15 29791
curl: (23) Failed writing body (379 != 1348)
если я попытаюсь загрузить загруженный файл в конвейер, вместо использования curl, это сработает.
Теперь я знаю, что есть несколько способов обойти это, и когда я буду обеспокоен, я, вероятно, напишу это. Мне было просто любопытно, почему rpm не нравится rpm, выводимый curl.
Есть идеи?