Как установить пакеты на Linux без рут-доступа?

По каким-либо причинам администраторы с правами root в нашей организации ограничивают выбор пакетов официальным "базовым" репозиторием поставщика (RHEL).

Даже EPEL не возможен, тем более IUS.

Наши собственные - ручные - RPM допустимы, но все же требуют заполнения билетов и ожидания. Это не только делает их установку излишне болезненной, но и препятствует разработке пакетов - я не могу сразу протестировать свой новый RPM.

Тем не менее, нам разрешено создавать и устанавливать любое программное обеспечение, которое мы пожелаем, если оно находится в "нашем" каталоге. Мы собирали и устанавливали такие вещи некоторое время, и мне интересно, сможем ли мы лучше организовать такие вещи, чтобы, например, gcc-8.2 мог быть собран в одной системе (с prefix вроде /Data/local`) и устанавливается на несколько других.

Конечно, я могу сделать это с обычными tar-шарами, но было бы лучше иметь какую-то функциональность менеджера пакетов, такую ​​как, например, для отслеживания зависимостей...

Есть ли что-нибудь там, или мы придерживаемся домашних инструментов?

1 ответ

Можно попробовать и варианты. Не все RPM поддерживают, но если вы используете свои собственные RPM, это не будет проблемой, просто сделайте их перемещаемыми.

Мне удалось скопировать базу данных rpm системы.в свой каталог и указав это через. Тогда я смогу бежатьбез рута. Конечно, теперь у вас есть частная копия БД, и она устареет, поскольку ваш ИТ-специалист установит новые пакеты, и другие пользователи не узнают о ваших пакетах, установленных в частном порядке. Но эй, это, наверное, нормально, учитывая вопрос, который ты задал.

К сожалению, распространение ваших RPM-пакетов по-прежнему потребует от других пользователей пройти через ИТ-отдел или создать свою собственную БД, например.

      rpm -ivh --dpath ~/rpmdb --prefix ~/ mypkg-1.0-1.el8.x86_64.rpm

Вы также можете попросить своего ИТ-специалиста сделать системную базу данных RPM доступной для записи.

Другие вопросы по тегам