Возможна-ли установка из RPM-пакетов без root и в другой каталог?

Модератор: Модераторы разделов

phprus
Сообщения: 42
ОС: OpenSuSE

Возможна-ли установка из RPM-пакетов без root и в другой каталог?

Сообщение phprus »

Здравствуйте!

Я разрабатываю приложение, для установки которого сейчас применяются RPM-пакеты. Приложение ставится в каталог /opt/appname и установка состоит из установки нескольких RPM с so-библиотеками, самой программой и -devel пакет для разработчиков. В пакетах прописаны зависимости друг от друга, приложения и библиотеки слинькованы динамически. Для установки требуются права root чтобы писать в /opt, создать пользователя и init.d скрипты.

Появилась необходимость создать установщик, которым можно будет поставить этот софт не имея прав root (соответственно без создания пользователя и установки init.d скриптов) в произвольный каталог, а не только в /opt/appname

Сильно менять формат дистрибутива мне бы не хотелось, по этому подскажите пожалуйста, возможно-ли сделать подобное средствами rpm, возможно с дополнительными скриптами?
Спасибо сказали:
sciko
Сообщения: 1744
Статус: Ъ-участник
ОС: Debian/Ubuntu/etc

Re: Возможна-ли установка из RPM-пакетов без root и в другой каталог?

Сообщение sciko »

RPM всегда ставят с рутовыми правами. Это требования безопасности.
Поставить этот софт не имея прав root можно только одним способом: распаковав тарбол. И опять же только в хомяк юзера.
Запускать без указания полного пути сможет только этот юзер. Ну и про выполнение зависимостей придётся заботиться самому.

После этого ещё хочется ставить без рутовых прав?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21521
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Возможна-ли установка из RPM-пакетов без root и в другой каталог?

Сообщение Bizdelnick »

man rpm | grep -A5 "\--root"

Но вообще какую-то странную штуку Вы затеяли.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
sciko
Сообщения: 1744
Статус: Ъ-участник
ОС: Debian/Ubuntu/etc

Re: Возможна-ли установка из RPM-пакетов без root и в другой каталог?

Сообщение sciko »

А в любом случае рутовые права нужны, т.к. rpm должен открыть свою БД. Опция --root только меняет корень ФС.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21521
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Возможна-ли установка из RPM-пакетов без root и в другой каталог?

Сообщение Bizdelnick »

sciko писал(а):
23.03.2011 12:17
А в любом случае рутовые права нужны, т.к. rpm должен открыть свою БД. Опция --root только меняет корень ФС.

При запуске от юзера он будет использовать базу в ~/.rpmdb. С опцией --root - в хомяке внутри указанного корневого каталога. Конечно, для данной задачи это малоподходящий вариант, но он работает.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
phprus
Сообщения: 42
ОС: OpenSuSE

Re: Возможна-ли установка из RPM-пакетов без root и в другой каталог?

Сообщение phprus »

sciko писал(а):
23.03.2011 12:06
Поставить этот софт не имея прав root можно только одним способом: распаковав тарбол. И опять же только в хомяк юзера.
Запускать без указания полного пути сможет только этот юзер. Ну и про выполнение зависимостей придётся заботиться самому.

То, что в ставить придется не в /opt, а в домашнюю директорию (или куда у пользователя есть права на запись) это понятно и не оспаривается, как и про запуск.
А вот полностью ручного отслеживания зависимостей хотелось бы избежать.

sciko писал(а):
23.03.2011 12:06
После этого ещё хочется ставить без рутовых прав?

Да, так как рутовых прав у некоторой группы пользователей нет, а удобный инсталятор нужен и этой группе пользователей.

Bizdelnick
В окрестностях опции --root нашел два параметра: --prefix NEWPATH и --relocate OLDPATH=NEWPATH, подскажите пожалуйста, я правильно понимаю, что они позволят поставить пакет в произвольную директорию?
А вопросы путей к библиотекам в исполняемых файлах они тоже решают или эту задачу надо будет решать каким-либо другим способом?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21521
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Возможна-ли установка из RPM-пакетов без root и в другой каталог?

Сообщение Bizdelnick »

phprus писал(а):
23.03.2011 13:23
В окрестностях опции --root нашел два параметра: --prefix NEWPATH и --relocate OLDPATH=NEWPATH, подскажите пожалуйста, я правильно понимаю, что они позволят поставить пакет в произвольную директорию?
В принципе да, но вообще я не вижу в Вашем случае особого смысла использовать rpm.

phprus писал(а):
23.03.2011 13:23
А вопросы путей к библиотекам в исполняемых файлах они тоже решают или эту задачу надо будет решать каким-либо другим способом?
Не решают.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Crazy
Сообщения: 862
Статус: Адепт Дзен.
ОС: Mint, Win7.

Re: Возможна-ли установка из RPM-пакетов без root и в другой каталог?

Сообщение Crazy »

sudo и вперед.

Desipere in loco
Спасибо сказали:
Аватара пользователя
agentprog
Сообщения: 362
Статус: Ad Astra per aspera
ОС: openSUSE 11.4, Arch

Re: Возможна-ли установка из RPM-пакетов без root и в другой каталог?

Сообщение agentprog »

phprus писал(а):
23.03.2011 13:23
они позволят поставить пакет в произвольную директорию?

http://www.rpm.org/max-rpm/s1-rpm-reloc-bu...elocatable.html
No problems - just solutions!
Спасибо сказали: