#!/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]