Как конвертировать файлы DEB в RPM

Дистрибутивы на основе RPM великолепны. Они предлагают другой способ работы по сравнению с методами на основе Debian. Тем не менее, если вы его используете, вы, несомненно, будете знать о его самой большой слабости - доступности пакетов. RPM не так многочисленны, как файлы DEB. Это факт.

Некоторые пользователи боролись с этим несколькими способами: с помощью службы сборки OpenSUSE или с помощью репозиториев, таких как RPMFusion. По большей части это помогает сократить разрыв. Однако иногда это просто не помогает. Иногда вам все равно нужна посылка, а ее нигде не найти.

Конечно, вы всегда можете найти исходный код программы, которую хотите установить, и скомпилировать ее самостоятельно, но иногда этого просто не происходит, особенно для проприетарных программ. В большинстве случаев такие программы выпускаются только с двоичными пакетами, поэтому о их компиляции не может быть и речи.

Как решить эту проблему? Простой. Просто преобразуйте файлы пакета в нужный формат с помощью Alien. Это позволяет вам взять один пакет одного формата и преобразовать его в другой формат. По большей части это работает. В большинстве случаев пакеты конвертируются и могут быть установлены без проблем. В других случаях это ошибки. Попробуйте это на свой страх и риск.

Как конвертировать файлы DEB в RPM

Прежде чем мы начнем, вам понадобится Чужой. Проверьте репозиторий вашего дистрибутива. Это может быть там. Если нет, возьми здесь. Вам нужно будет найти пакет, соответствующий вашей операционной системе.

конвертировать-deb-в-rpm-чужой-скачать

После того, как вы его загрузите, установите его, а затем откройте окно терминала.

Найдите пакет Deb, который вы хотите преобразовать, и загрузите его на свой компьютер. После того, как вы его загрузите, вернитесь к ранее открытому терминалу. Затем просто введите команду ниже.

преобразовать-деб-в-rpm-чужой-команда

Вы заметите, что в приведенной выше команде есть несколько переключателей. Большинство людей, используя alien для преобразования DEB в RPM, используют только переключатель -r. Этого не достаточно. Этот переключатель только указывает программе преобразовать пакет. Если вы добавите к команде переключатели -c и -v, все пойдет намного более гладко (большую часть времени).

Переключатель -c включает все сценарии, которые могут или не могут быть внутри пакета. В большинстве случаев вы захотите использовать этот переключатель. Это поможет лучше конвертировать пакеты. Иногда в пакеты не входят скрипты или они просто не работают с переключателем -c. В этом случае просто не используйте его. Поэкспериментируйте.

конвертировать-deb-в-rpm-чужой-варианты

Есть еще один переключатель, которым большинство людей тоже не будет пользоваться. Это -v. Что оно делает? На нем будут отображаться все команды, выполняемые Alien во время преобразования. Это позволит вам устранить неполадки в процессе преобразования.

После запуска команды, в случае успеха, будет создан ваш новый файл RPM, после чего вы сможете взять его и установить в своей системе. Он будет расположен в том же месте, что и файл DEB. У файла RPM тоже будет такое же имя.

Заключение

Alien - очень полезная программа. Это помогает закрыть огромный пробел, который очень долго преследовал дистрибутивы на основе Redhat. Возможно, однажды придет время, когда разработчики узнают RPM в такой же степени, как и DEB. До тех пор эта программа всегда будет служить определенной цели.

3 комментария

  1. Будет ли Alien конвертировать RPM в DEB?


    Да.

  2. Поскольку формат DEB отличается и, возможно, богаче, чем RPM, чужие преобразования больших пакетов со многими зависимостями часто терпят неудачу. Хотя вы можете получить что-то, что вы можете принудительно установить в системе на основе rpm или yum, оно, вероятно, не будет работать должным образом и почти наверняка не удастся удалить или обновить должным образом. Наилучший подход для людей, которые привержены дистрибутиву, в котором есть система обработки пакетов (например, yum, zypper, dpkg, ports), - это придерживаться пакетов, которые созданы и подписаны gpg для этого дистрибутива. Все, что вы конвертируете из чужого формата, в лучшем случае будет обходить обработку пакетов системой. Так что, если вам необходимо использовать alien (да, я виновен в установке пакетов UDEB в моей системе CentOS посредством alien), убедитесь, что вы понимаете, что делаете, и сначала сделайте резервную копию или снимок вашей системы.

Комментарии закрыты.