Product SiteDocumentation Site

Глава 95. Установка сторонних приложений

95.1. Утилита alien
95.2. Установка локального RPM-пакета
95.3. Установка архивов .tbz, .tbz2, .pkg.gz, .tar.xz вручную
Альт Рабочая станция K предоставляет встроенные средства для установки прикладного программного обеспечения в формате RPM. Однако в отдельных случаях возможно использование пакетов других форматов.

Таблица 95.1. Форматы пакетов и их особенности

Расширение
Тип файла
Описание
Особенности
.deb
Пакет DEB
Бинарный пакет для систем на базе Debian/Ubuntu и производных
Содержит бинарные файлы, скрипты, метаданные и зависимости
.tgz / .tar.gz
Сжатый архив
Архив tar, сжатый с помощью gzip
Обычно содержит исходный код или бинарные файлы. Не является установочным пакетом — распаковывается вручную
.tbz / .tbz2
Сжатый архив
Архив tar, сжатый с помощью bzip2
Не содержит метаданных о зависимостях
.pkg.gz
Пакетный архив
Часто используется в Solaris, Slackware
Обычно является архивом .tar.gz с другим расширением. Не поддерживает зависимости
.tar.xz
Сжатый архив
Архив tar, сжатый с помощью xz
Часто используется для распространения исходников и бинарников

Важно

Использование непроверенных пакетов может нарушить целостность системы, привести к конфликтам зависимостей, нарушению безопасности или нестабильной работе.

Важно

Установка сторонних пакетов допустима только при отсутствии официальных RPM-пакетов и невозможности сборки из исходных текстов. Если доступны исходники, предпочтительна самостоятельная сборка с использованием стандартных инструментов ALT: gear, hasher.
Перед установкой рекомендуется убедиться в надёжности источника пакета и ознакомиться с его содержимым. Например, проверка DEB-пакета до преобразования:
$ ar x имя_пакета.deb
$ tar -xf data.tar.xz

95.1. Утилита alien

Для расширения совместимости с другими дистрибутивами Linux используется утилита alien, позволяющая преобразовывать сторонние пакеты в формат RPM.
Поддерживаемые форматы:
  • deb — пакеты Debian/Ubuntu;
  • tgz — акеты Slackware;
  • tbz, tbz2 — вариации архивации пакетов Slackware (поддерживаются аналогично .tgz).
Ограничения alien:
  • не учитывает специфику ALT (каталоги, зависимости, systemd);
  • не гарантирует корректной работы преобразованных пакетов;
  • установочные скрипты из DEB-пакетов могут работать некорректно;
  • полученные RPM-пакеты не будут обновляться через систему управления пакетами;
  •  не гарантирует успешную конвертацию всех пакетов;
  • не гарантирует корректной работы преобразованных пакетов;
  • нельзя использовать для установки системных библиотек и компонентов.

Примечание

Утилиту alien следует использовать исключительно для преобразования пакета с последующей ручной установкой и обязательной проверкой содержимого.
Установка alien и зависимостей:
# apt-get install alien rpm-build
Синтаксис:
alien [опции] file [...]
Основные опции:
  • -d, --to-deb — преобразовать в DEB-пакет (по умолчанию);
  • -r, --to-rpm — преобразовать в RPM-пакет;
  • -g, --generate — сгенерировать структуру сборки, без создания пакета;
  • -c, --scripts — включить установочные скрипты (preinst, postinst, и т.д.) в пакет;
  • -k, --keep-version — сохранить версию исходного пакета;
  • --target=<arch> — указать архитектуру сгенерированного пакета;
  • -v, --verbose — подробный вывод;
  • --veryverbose — вывести подробный отчет, а также отображать вывод команд запуска;
  • -h, --help — справка;
  • -V, --version — версия утилиты.
Команда преобразования пакета в RPM:
$ alien -r -c имя_пакета
Примеры:
  • преобразование DEB-пакета в RPM-пакет:
    $ alien -r -c min-1.35.1-amd64.deb
    min-1.35.1-2.x86_64.rpm generated
    
  • преобразование tar.gz в RPM-пакет:
    $ alien -r -c btop-1.4.4.tar.gz
    btop-1.4.4-2.noarch.rpm generated
    

    Примечание

    Данная команда работает аналогично для .tbz, tbz2.
  • преобразование нескольких пакетов:
    $ alien -r -c min-1.35.1-amd64.deb google-chrome-stable_current_amd64.deb
    
  • преобразование .tar.xz в RPM-пакет:
    $ tar -xf package.tar.xz
    $ tar -czf package.tar.gz package/
    $ alien -r package.tar.gz
    
  • преобразование .pkg.gz в RPM-пакет (должен быть установлен пакет patool):
    $ patool --verbose repack my-test-9.4.0.pkg.gz my-test-9.4.0.tar
    $ alien -r my-test-9.4.0.tar
    my-test-9.4.0.rpm generated
    
Иногда для установки стороннего RPM-пакета его тоже требуется перепаковать (при перепаковке пакета создаётся пакет, учитывающий, что нужно для работы исходного пакета). Это можно сделать, выполнив команды:
$ fakeroot alien -d package.rpm
$ alien -r package.deb