Установка RPM-пакетов на Debian 13, 12, 11: полное руководство

RPM (Red Hat Package Manager) — это формат пакетов, используемый в дистрибутивах семейства Red Hat (Fedora, CentOS, RHEL, openSUSE). Debian же использует собственный формат DEB. Обычно установить RPM-пакет на Debian напрямую нельзя — но это можно сделать через конвертацию.

В этом руководстве я покажу, как установить RPM-пакеты на Debian с помощью утилиты Alien. Alien конвертирует RPM-пакеты в DEB-формат, после чего их можно установить штатными средствами Debian.

⚠️ Важное предупреждение: Конвертация RPM в DEB — это крайняя мера, когда у программы нет нативного DEB-пакета, Flatpak, Snap или AppImage. Всегда сначала ищите программу в официальных репозиториях Debian:

apt search имя_программы
МетодБезопасностьАвтообновленияСложностьКогда использовать
Родной DEB-пакет✅ Высокая✅ Да (APT)НизкаяВсегда, когда
возможно
Flatpak / Snap✅ Высокая
(изоляция)
✅ ДаСредняяЕсли нет DEB-
пакета
Конвертация
RPM (Alien)
⚠️ Средняя❌ Нет (вручную)ВысокаяТолько когда нет
других вариантов

Предварительные требования

Перед установкой убедитесь, что:

  • У вас есть доступ к интернету
  • Вы имеете права sudo (администратора)

⚠️ ВАЖНО: Проверьте права sudo перед установкой

Если вы не уверены, есть ли у вашего пользователя права администратора, выполните в терминале:

sudo whoami

Что делает: sudo — выполняет команду от имени суперпользователя; whoami — показывает имя текущего пользователя.

Ожидаемый вывод в терминале:

root

❌ Если выводит is not in the sudoers file — сначала пройдите наше руководство по настройке sudo.


Установка Alien (конвертер RPM → DEB)

Шаг 1: Обновите систему

sudo apt update && sudo apt upgrade -y

Шаг 2: Установите пакет alien

sudo apt install -y alien

Что делает: Устанавливает alien и его зависимости (включая rpm для чтения RPM-файлов и debhelper для сборки DEB-пакетов).

Шаг 3: Проверьте установку

alien --version

Ожидаемый вывод (зависит от версии Debian):

  • Debian 13: alien version 8.95.8
  • Debian 12: alien version 8.95.6
  • Debian 11: alien version 8.95.4

Конвертация и установка RPM-пакета

Шаг 1: Скачайте RPM-пакет

Скачайте RPM-файл с официального сайта разработчика. Убедитесь, что архитектура соответствует вашей системе:

dpkg --print-architecture

Что делает: Показывает архитектуру системы (amd64 для 64-битных систем).

Примечание: В RPM-мире x86_64 соответствует amd64 в Debian.

Шаг 2: Перейдите в папку с RPM-файлом

cd ~/Downloads

Шаг 3: Конвертируйте RPM в DEB

sudo alien -d ваш-пакет.rpm

Что делает: Флаг -d явно указывает создание DEB-пакета (это поведение по умолчанию, но лучше указать явно).

Результат: Будет создан файл ваш-пакет_версия-2_amd64.deb (Alien увеличивает версию, чтобы отличать конвертированные пакеты от родных).

Дополнительные флаги Alien:

ФлагНазначение
-dСоздать DEB-пакет (по умолчанию)
-rСоздать RPM-пакет (обратная конвертация)
-tСоздать пакет для Slackware (.tgz)
-cВключить скрипты из оригинального RPM
(осторожно!)
-kНе увеличивать версию (сохранить
оригинальную)

Шаг 4: Установите полученный DEB-пакет

sudo apt install ./ваш-пакет_версия-2_amd64.deb

Что делает: Устанавливает сконвертированный пакет. Префикс ./ обязателен — без него APT будет искать пакет в репозиториях, а не в текущей папке.

Шаг 5: Проверьте установку

dpkg -l | grep имя-пакета

Что делает: Проверяет, установлен ли пакет (статус ii = installed ok).


Пример полного цикла конвертации

cd ~/Downloads
wget https://example.com/package-1.0.0-1.x86_64.rpm
sudo alien -d package-1.0.0-1.x86_64.rpm
sudo apt install ./package-1.0.0-2_amd64.deb
dpkg -l | grep package

Решение типичных проблем

8.1 Ошибка: Unknown file type

Симптом: alien сообщает, что не может определить тип файла.

Причина: RPM-файл повреждён или это не RPM (например, скачалась HTML-страница с ошибкой).

Пошаговое решение:

Шаг 1: Проверьте тип файла:

file ваш-пакет.rpm

Для нормального RPM: RPM v3.0 bin i386/x86_64 имя

Для повреждённого файла: HTML document, ASCII text

Шаг 2: Если файл повреждён — скачайте его заново.


8.2 Ошибка: Зависимости не удовлетворены

Симптом: При установке DEB-пакета apt сообщает о неудовлетворённых зависимостях.

Причина: RPM-пакет требует библиотеки, которые в Debian называются иначе или отсутствуют.

Пошаговое решение:

Шаг 1: Попробуйте исправить зависимости автоматически:

sudo apt --fix-broken install

Шаг 2: Если не помогло, установите недостающие библиотеки вручную:

apt search имя-библиотеки
sudo apt install найденный-пакет

Шаг 3: Повторите установку DEB-пакета.


8.3 Ошибка: Пакет установлен, но программа не запускается

Симптом: Установка прошла успешно, но при запуске программа выдаёт ошибку или не запускается.

Причина: Не хватает разделяемых библиотек (shared libraries), которые не были установлены как зависимости.

Пошаговое решение:

Шаг 1: Найдите путь к исполняемому файлу программы:

which имя-программы

Шаг 2: Проверьте, каких библиотек не хватает:

ldd /путь/к/бинарному/файлу | grep "not found"

Пример вывода:

libexample.so.3 => not found
libcrypto.so.1.1 => not found

Шаг 3: Найдите и установите соответствующие Debian-пакеты:

apt search libexample
sudo apt install libexample3

Шаг 4: После установки библиотек проверьте снова:

ldd /путь/к/бинарному/файлу | grep "not found"

(отсутствие вывода = все библиотеки найдены)


8.4 Ошибка: APT не может найти файл .deb

Симптом: При попытке установки sudo apt install package.deb появляется ошибка Unable to locate package.

Причина: Вы не указали ./ перед именем файла.

Пошаговое решение:

Используйте правильный синтаксис:

sudo apt install ./package.deb

Что делает: ./ указывает APT, что пакет находится в текущей директории, а не в репозиториях.


8.5 Проблема: Нет автообновлений для конвертированных пакетов

Симптом: Вы установили программу через Alien, но она не обновляется через apt upgrade.

Причина: APT не отслеживает пакеты, установленные из локальных DEB-файлов, как пакеты из репозиториев.

Пошаговое решение:

Шаг 1: Периодически проверяйте сайт разработчика на наличие новых версий RPM.

Шаг 2: Повторите процесс конвертации и установки для новой версии.

Шаг 3: Если программа важна и обновляется часто — рассмотрите альтернативы:

  • Поищите нативный DEB-пакет
  • Установите через Flatpak (если есть)
  • Установите через Snap (если есть)

Ограничения Alien

ОграничениеВлияниеЧто делать
Нет автоматических
обновлений
APT не отслеживает
обновления
Вручную проверять новые
версии
Несовместимость
зависимостей
RPM требует библиотек с
другими именами
Искать Debian-аналоги через
apt search
Проблемы со скриптамиСкрипты из RPM могут не
работать на Debian
Использовать -c осторожно
или отказаться от него
Архитектурные проблемыЖёстко закодированные путиПроверять через dpkg -L

Удаление Alien и конвертированных пакетов

Удаление сконвертированного пакета

sudo apt remove имя-пакета

Чтобы удалить вместе с конфигурационными файлами:

sudo apt purge имя-пакета

Удаление самого Alien

sudo apt remove alien
sudo apt autoremove

Проверка удаления Alien

alien --version

Ожидаемый вывод: bash: alien: command not found


Чек-лист: что проверить после установки

  • [ ] Alien установлен: alien --version показывает версию
  • [ ] RPM-файл не повреждён: file package.rpm показывает RPM
  • [ ] Конвертация прошла успешно: создался .deb-файл
  • [ ] DEB-пакет установлен: dpkg -l | grep package-name показывает ii
  • [ ] Программа запускается: тестовый запуск не выдаёт ошибок
  • [ ] Библиотеки не отсутствуют: ldd /path/to/binary | grep "not found" ничего не выводит
  • [ ] APT не в сломанном состоянии: sudo apt --fix-broken install не выводит ошибок

Часто задаваемые вопросы (FAQ)

Вопрос: Можно ли конвертировать любой RPM-пакет?
Ответ: Большинство — да. Но сложные пакеты (с интеграцией в систему, сервисами) могут работать некорректно даже после успешной конвертации.

Вопрос: Почему Alien увеличивает версию (1.0.0-1 → 1.0.0-2)?
Ответ: Чтобы отличать конвертированные пакеты от родных Debian-пакетов с тем же именем и версией. Отключить можно флагом -k.

Вопрос: Безопасно ли использовать -c (скрипты из RPM)?
Ответ: Не всегда. Скрипты могут содержать команды, специфичные для Red Hat-систем (службы, пути), что может повредить Debian. Используйте только если точно знаете, что делаете.

Вопрос: Как обновлять программу, установленную через Alien?
Ответ: Только вручную: скачать новый RPM, сконвертировать и установить поверх.

Вопрос: Есть ли альтернативы Alien для запуска RPM-программ?
Ответ: Да: dnf из Toolbox или Distrobox (запуск контейнера с Fedora), но это более сложные методы. Проще найти Flatpak/Snap/DEB-версию.


Заключение

Теперь вы умеете устанавливать RPM-пакеты на Debian через Alien. Помните:

  • Native DEB + репозитории Debian — лучший вариант
  • Flatpak / Snap — хорошая альтернатива
  • Alien — крайний случай, когда ничего другого нет

Что дальше?

  • Изучите установку Flatpak на Debian как альтернативу сторонним пакетам
  • Узнайте о Snap-пакетах на Debian
  • Настройте автоматические обновления для родных пакетов