Вопрос или проблема
Я не могу преобразовать пакет .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. Вот как можно решить эту проблему.
Пошаговая инструкция по решению проблемы
-
Понимание проблемы: Как уже упомянуто, ошибка связана с пустым тегом
Summary
в спецификационном файле. Alien пытается конвертировать .deb пакет в .rpm, но столкнулся с тем, что информация в .deb файле неполная, в частности, отсутствует описание (Summary
). -
Генерация и редактирование файла спецификации:
- Когда alien производит конвертацию, он создает временную директорию, в которой находятся все необходимые для сборки файлы, включая файл спецификации.
- Запустите alien с флагом
-k
(краткое от англ. keep) для сохранения этой рабочей директории:alien -r -k package.deb
- Это сохранит рабочие файлы, и вы сможете найти спецификационный файл в созданной директории.
-
Редактирование файла:
- Найдите и откройте файл с расширением
.spec
в текстовом редакторе. Обычно он находится в каталоге с названием пакета. - Найдите строку с тегом
Summary
и добавьте краткое и точное описание пакета. Например:Summary: Программное обеспечение для управления тенями
- Найдите и откройте файл с расширением
-
Сборка RPM вручную:
- После редактирования спецификационного файла выполните команду
rpmbuild
для сборки пакета:rpmbuild -bb --target x86_64 path/to/your/specfile.spec
- Убедитесь, что все зависимости установлены перед сборкой.
- После редактирования спецификационного файла выполните команду
Оптимизация процесса
- Устранение зависимостей: Перед сборкой убедитесь, что все зависимости пакета .deb установлены в вашей системе. Это может сократить количество ошибок во время сборки.
- Проверка формата файла: Используйте команду
lintian
на.deb
файле, чтобы выявить недостающие или неправильные теги, которые могут вызвать подобные ошибки.
Заключение
Преобразование пакетов из .deb в .rpm может быть сложной задачей, особенно когда исходный файл содержит недостатки в описании. Однако, следуя вышеуказанным шагам и проявив внимательность к деталям, вы сможете успешно конвертировать и установить нужный пакет на вашу Fedora 27 систему.
Эта информация должна помочь вам преодолеть текущую проблему с конверсией пакетов на Fedora 27. Удачи в разрешении этого вызова!