Как я могу установить RPM на машине, где у меня нет прав root? Я хочу установить пакет для моего использования только в личной рабочей директории. Я бегу SuSe SLES10.
Пожалуйста, не ругайте меня: «Эта идея настолько глупа, вы не должны делать это, потому что все запросы должны проходить через корпоративного корня, пусть он будет жить вечно».
Я знаю, что могу просить об этом корня бога, но меня застрелят (я уверен, что по безупречным, безупречным причинам ...). Кроме того, он никогда не сможет его установить, даже если скажет, что сделает это.
Ответы:
См. Как извлечь пакет RPM без его установки (команда rpm extract) .
источник
Как извлечь содержимое пакетов rpm
Как извлечь
tar.gz
архивКак извлечь
tar.gz
пакеты в текущий каталогКак собрать бинарные файлы без полномочий root
источник
Другой вариант - установить из источника, где вы обычно можете изменить каталог установки с помощью
--prefix
переключателя.источник
Я думаю, что «реальный» ответ на «установку» rpm без прав root, вы не можете . Но при условии, что вы действительно можете начать процесс установки ...
RPM устанавливаются с использованием списка инструкций, представленных в файле спецификации (.spec), которые обычно следуют иерархии файловой системы. Большинство путей в этой иерархии почти всегда являются путями операционной системы, а не путями пользователей. Таким образом, если ваше имя пользователя не имеет доступа ко всем путям, на которые устанавливается RPM, то оно, безусловно, завершится ошибкой. Если вы создадите RPM с префиксами всех своих путей
/home/me
(или каким-либо другим вашим путем), он будет работать. Это потребует получения src.rpm и его извлечения, как объяснено в других ответах, а затем его перестроения. К тому времени, когда вы это сделаете, вы можете просто рассмотреть возможность получения root-прав или создания программного обеспечения с нуля (обычно это происходит, если вы не планируете распространять программное обеспечение на множество компьютеров).Есть умные приемы, которые помогут вам в процессе сборки вручную. Например, вы можете использовать зависимости, уже перечисленные в RPM, чтобы получить все ваши зависимости: https://stackoverflow.com/a/13877738/1236128 .
источник