Конвертация пакета с помощью alien из формата deb в rpm на Fedora 27

Вопрос или проблема

Я не могу преобразовать пакет .deb в .rpm, чтобы установить его на Fedora. Я не могу скачать эквивалентный rpm-файл, поэтому конвертация — мой единственный выход. Я получаю эту ошибку после использования команды alien -r package.deb от имени суперпользователя.

Не удалось создать пакет. Вот журнал команды (cd shadow-beta-0.8.62; rpmbuild --buildroot="/home/user/shadow/shadow-alpha-artful(1)/shadow-beta-0.8.62" -bb --target x86_64 'shadow-beta-0.8.62-2.spec'):
Ошибка: Строка 5: Пустой тег: Summary:
Сборка для целевой платформы(ов): x86_64

Редактировать: Я не могу следовать предложениям в ответах. Как я могу отредактировать файл, который даже не был создан, потому что конвертация провалилась?

Тег под названием Summary в RPM-файле спецификации пуст, но он не может быть пустым.

alien получает эту информацию из оригинального deb, что означает, что она должна отсутствовать там.

Вы всегда можете отредактировать сгенерированный файл спецификации и самостоятельно создать RPM.

Ответ или решение

Проблема с конверсией .deb пакета в .rpm на Fedora 27 может вызвать затруднения, особенно когда исходные .rpm файлы недоступны для загрузки. На основании предоставленного текста и ошибки, которую вы получили, проблема заключается в пустом теге Summary в спецификационном файле RPM. Вот как можно решить эту проблему.

Пошаговая инструкция по решению проблемы

  1. Понимание проблемы: Как уже упомянуто, ошибка связана с пустым тегом Summary в спецификационном файле. Alien пытается конвертировать .deb пакет в .rpm, но столкнулся с тем, что информация в .deb файле неполная, в частности, отсутствует описание (Summary).

  2. Генерация и редактирование файла спецификации:

    • Когда alien производит конвертацию, он создает временную директорию, в которой находятся все необходимые для сборки файлы, включая файл спецификации.
    • Запустите alien с флагом -k (краткое от англ. keep) для сохранения этой рабочей директории:
      alien -r -k package.deb
    • Это сохранит рабочие файлы, и вы сможете найти спецификационный файл в созданной директории.
  3. Редактирование файла:

    • Найдите и откройте файл с расширением .spec в текстовом редакторе. Обычно он находится в каталоге с названием пакета.
    • Найдите строку с тегом Summary и добавьте краткое и точное описание пакета. Например:
      Summary: Программное обеспечение для управления тенями
  4. Сборка RPM вручную:

    • После редактирования спецификационного файла выполните команду rpmbuild для сборки пакета:
      rpmbuild -bb --target x86_64 path/to/your/specfile.spec
    • Убедитесь, что все зависимости установлены перед сборкой.

Оптимизация процесса

  • Устранение зависимостей: Перед сборкой убедитесь, что все зависимости пакета .deb установлены в вашей системе. Это может сократить количество ошибок во время сборки.
  • Проверка формата файла: Используйте команду lintian на .deb файле, чтобы выявить недостающие или неправильные теги, которые могут вызвать подобные ошибки.

Заключение

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


Эта информация должна помочь вам преодолеть текущую проблему с конверсией пакетов на Fedora 27. Удачи в разрешении этого вызова!

Оцените материал
Добавить комментарий

Капча загружается...