На моем рабочем месте у меня есть обычная учетная запись на машинах RedHat и Suse. У меня нет привилегий root.
Как я могу установить программное обеспечение, которое я загружаю из Интернета (из исходников или двоичных файлов)?
Например, теперь я хочу установить Geany IDE для собственного использования. Я попытался загрузить исходники и скомпилировать, и я попытался установить RPM, но ничего из этого не работает, потому что для этого требуется рут.
Вы жестяная банка установить программное обеспечение в свой домашний каталог. Если вам удобно компилировать из исходного кода, и в пакете используется automake, вы можете использовать следующую опцию в configure:
--prefix=$HOME/install
или что угодно. Точно так же у rpm есть опция префикса. Однако это работает, только если число оборотов в минуту было построен быть перемещаемым.
я использую Джуджу что в основном позволяет иметь действительно крошечный дистрибутив Linux (содержащий только менеджер пакетов) внутри вашего каталога $ HOME / .juju.
Это позволяет иметь вашу собственную систему внутри домашнего каталога, доступную через proot, и, следовательно, вы можете устанавливать любые пакеты без прав root. Он будет правильно работать со всеми основными дистрибутивами Linux, единственным ограничением является то, что JuJu может работать на ядре Linux с минимальной рекомендуемой версией 2.6.32.
Например, после установки JuJu для установки pip просто введите следующее:
$>juju -f
(juju)$> pacman -S python-pip
(juju)> pip
В большинстве случаев вы можете передать PREFIX для настройки, чтобы установить его в свой домашний каталог:
./configure --prefix=/home/ioks/bin
Это может обойти проблемы с разрешениями.
Вот очень хороший документ, объясняющий использование RPM без полномочий root:
«Вам сказали, что для работы с RPM необходимы права системного администратора? Вас обманули».
Если вы хотите установить его в стандартное место (/ usr / bin и т. Д.), Краткий ответ будет заключаться в том, что вы не будете этого делать, если системный администратор не установит что-то особенное, позволяющее вам это сделать.
Если вы компилируете из исходного кода, у большинства пакетов есть опция --prefix, которая позволит вам установить нестандартную цель установки. Это позволяет вам устанавливать что-то в свой домашний каталог, включая библиотеки, которые вы можете использовать для других программных пакетов.
Хммм. Не то чтобы это могло быть что-то, что мог бы сделать пользователь, но мне интересно, имеет ли смысл иметь для каждого пользователя "наложенные" файловые системы (union-fs и т. Д.), Которые перекрывают "стандартные" каталоги установки системы и, таким образом, позволяют непривилегированным пользователям устанавливать программное обеспечение в «нормальные» места.
Вы также можете использовать глобальную файловую систему union-fs, чтобы отделить установленное администратором нестандартное ПО (которое часто входит в / usr / local / * во многих системах) от пакетов распространения. (Возможно, также, чтобы разделить обновления, и даже разрешить "откат" ala XP System Restore).
Хммм
У меня такая же проблема, как и у вас. Я еще не пробовал, но кажется, что Linuxbrew может пригодиться в этом вопросе.