Eu baixo um monte de srpms para vasculhar, eu costumava passar por uma abordagem longa,
root@server$ curl rpm -o file.rpm
root@server$ rpm2cpio file.rpm | cpio -id
mas isso deixa para trás um file.rpm feio, então eu tentei um único pipeline
root@server$ curl rpm | rpm2cpio - | cpio -id
De acordo com as saídas curl manpage curl para stdout por padrão e a página man rpm2cpio diz que, se o único argumento for '-', ele lerá de stdin.
No entanto, continuo recebendo erros:
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)
se eu tentar colocar o arquivo baixado no pipeline, em vez de usar o curl, ele funciona.
Agora eu sei que há várias maneiras de contornar isso, e quando eu posso ser incomodado, eu provavelmente escreverei isso. Eu estava curioso para saber por que o rpm não gosta do rpm produzido pela curvatura.
Alguma idéia?