#!/bin/bash
# Проверка аргументов
if [ $# -ne 1 ]; then
echo "Использование: $0 <package.rpm>"
exit 1
fi
RPM_FILE="$1"
# Проверка существования файла
if [ ! -f "$RPM_FILE" ]; then
echo "Ошибка: файл '$RPM_FILE' не найден."
exit 1
fi
# Получаем имя пакета без пути и расширения
BASENAME=$(basename "$RPM_FILE" .rpm)
# Создаём директорию
mkdir -p "$BASENAME"
# Извлекаем содержимое rpm в эту директорию
rpm2cpio "$RPM_FILE" | cpio -idmv -D "$BASENAME"
# Проверяем успешность
if [ $? -eq 0 ]; then
echo "Пакет '$RPM_FILE' успешно разархивирован в директорию '$BASENAME/'"
else
echo "Ошибка при разархивировании."
exit 1
fi
---
Как использовать:
1. Сохрани скрипт, например, как extract_rpm.sh
2. Сделай его исполняемым:
chmod +x extract_rpm.sh
3. Запусти:
./extract_rpm.sh package.rpm
> Результат: всё содержимое .rpm будет в папке package/
---
Зависимости
Убедись, что установлены:
rpm2cpio # обычно есть в rpm
cpio # обычно установлен
На большинстве систем они есть по умолчанию.
---
Пример:
./extract_rpm.sh vim-enhanced-8.2.1234.el9.x86_64.rpm
→ Создастся папка vim-enhanced-8.2.1234.el9.x86_64 с содержимым пакета.
[file-name 000275_2025-10-29_07-21-14.txt]