![]() |
Работа с rpm пакетами (Ликбез)
Здравствуйте.
Работа с rpm пакетами доставляет боль. С одной стороны - от них можно уйти заменив человеческими bash скрпитами, с другой наследие дистрибутива и требования заказчика. Короче не отвертеться, как бы не были они мне противны. Тк. зло нельзя победить, надо сделать так, чтобы оно не доставляло столько проблем. Следовательно, придется учить, как с ним работать. И вот тут мне нужна помощь сообщества. Какой "букварь", "курс" прочитать / изучить, чтобы от букв rpm не хотелось кого-нибудь придушить? Какие задачи он решает, как его можно правильно настроить, чтобы проводилась "человеческая" (зачем то его придумали) установка пакетов ПО, согласно архитектур, и пр. Короче - как с этой ... работать? Причем задача стоит не только производить установку ПО в полу/автоматическом режиме, но начать со сборки из исходников. Т.е. есть ПО, оно компилируется, пакуется в rpm, rpm копируется на целевую машину, и устанавливается. Поэтому начиная от rpmbuild Будете отправлять в google, делайте пожалуйста это с ссылкой на конкретный ресурс. |
Цитата:
|
Цитата:
Цитата:
Цитата:
ключи - в помощи Код:
rpm --help https://losst.ru/ustanovka-rpm-paketov-v-linux Цитата:
Т.е. есть ПО, оно компилируется, пакуется в rpm, rpm копируется в собственный репозиторий и оттуда устанавливается на целевые машины, которые этот репозиторий подключили. Да вам нужен rpmbuild. Софт самописный? |
Начну в обратном порядке.
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Мне доставляет боль криво написанные скрипты установки, которые трут все что ни попадя ничего при этом ни спрося. (т.е. может дело и не в rpm) Мне НЕ доставляет боль положить скомпилированное ПО (пусть скриптами) в нужные папки по нужным путям (фактически исключив команды rpmbuild, rpm --install) Т.к. разнообразием плафторм конечная система не отличается (строго один дистрибутив), то все танцы вокруг rpm мне не ясны. Возможно есть в мире некоторая "человеческая практика" использования этого менеджера (что-то вроде best practics и подобных) или методические рекомендации. Потому что сейчас это похоже на наследственную вакханалию, когда система выстраивалась методом "научного тыка", без документации и пр. Опять же - может есть какая-нибудь наглядная ситуация, пример, в котором использование rpm дает ощутимый бонус. А я этой ситуации не знаю, и поэтому воспринимаю rpm в штыки. |
Цитата:
Написано давно. Кое-что поменялось, но основы сохранились. |
Собственно, сам 'rpm[8]' как менеджер пакетов, — это одно, а формат пакета "rpm" — это другое.
Если прочитали по ссылкам выше, то видите, что rpm-пакет это не просто набор файлов, а целая программа для установки (иногда удаления). Вся "мощь" заложена в "*.spec", который определяет создание пакета. Возможности там почти безграничны. Используется и скриптовый язык иногда. Реальный пример из дистрибутива openSUSE: librcc.spec . Другой пример, сложнее: bash.spec А вот что показывает команда Код:
rpm -q --scripts -p "crossover-14.0.3-1.rpm" Скрытый текст
Код:
preinstall scriptlet (using /bin/sh): Сторонний rpm-пакет. Не приветствуются такие скриптовые манипуляции. Спрашивайте. По возможности, отвечу. 10 лет для openSUSE rpm-пакеты собираю. |
Время: 16:37. |
Время: 16:37.
© OSzone.net 2001-