Извлечь RPM в каталог, отличный от текущего каталога

Мне нужно бежать:

rpm2cpio mypackage.rpm | cpio -idmv

Однако мне нужно, чтобы вывод находился в другом каталоге. Есть ли более элегантное решение, чем делать

mv <output> <to/other/directory>

после выполнения извлечения?

2 ответа

Решение

Поскольку cpio просто читает из стандартного ввода, вы можете перейти в другой каталог перед его запуском:

rpm2cpio mypackage.rpm | (cd /to/other/directory; cpio -idmv)

Это общее решение, которое будет работать с различными инструментами. cpio команда имеет --directory (-D) вариант, который будет выполнять то же самое:

rpm2cpio mypackage.rpm | cpio -D /to/other/directory -idmv

Или даже проще:

rpmdev-extract -C DIR mypackage.rpm

Другие вопросы по тегам