Извлечение нескольких файлов об/мин и перезаписывает существующие файлы

У меня есть набор файлов об/мин в каталоге, где все файлы об/мин извлечены как/usr/.. Я хотел бы извлечь все файлы об/мин и перезаписать существующие файлы.

Я обычно делаю это с роликом файла-f *.rpm, который поднимает GUI, чтобы попросить, чтобы местоположение извлекло и затем выполнение его работы. Поскольку ролик файла отказывает на 14,04 (в прошлый раз, когда я сделал это было на 12,04), я ищу другой способ сделать эту работу

Если я использую ролик файла GUI (выбирающий все файлы об/мин в наутилусе) и говорю, что извлечение здесь это приведет к наличию нескольких папок usr, usr (1), usr (2)... usr (102).

Есть ли какое-либо приложение, или иначе я могу использовать?

0
задан 4 June 2014 в 20:22

1 ответ

Самый легкий способ извлечь содержание RPM-пакетов состоит в том, чтобы объединить команды cpio и rpm2cpio. Это уступает командной строке дорогу для распаковки об/мин в текущем каталоге для достигания содержания пакета, игнорируя метаданные и зависимости пакета.

Например, для распаковки всего RPMs в текущем каталоге использовать

for rpm in *.rpm; do rpm2cpio $rpm | cpio -idm; done

Это извлечет содержание к текущему каталогу также, и все файлы будут принадлежать текущему пользователю, во многом как извлечение tarball как обычный пользователь.

Команда cpio может только извлечь файлы к текущему каталогу, таким образом, файлы будут всегда извлекаться в каталоге, куда cpio выполняется. Для помещения содержания в другой каталог Вы могли использовать также

for rpm in *.rpm; do rpm2cpio $rpm | ( cd /path/to/dir && cpio -idm ); done

или

for rpm in /path/to/packages/*.rpm; do rpm2cpio $rpm | cpio -idm; done
1
ответ дан 24 December 2019 в 04:50

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

Похожие вопросы: