У меня был поиск, но я не могу найти решение или объяснение этой темы. Я был бы признателен за ваши мысли и предложения, и я заранее признателен, что это может охватывать несколько тем.
Недавно я начал управлять высокопроизводительной машиной Ubuntu (x2 графических процессора, x2-сокет Intel Xeon, 128 ГБ ОЗУ и т. д.). Пользователи могут подключаться к терминалу по SSH и отправлять постоянные процессы через tmux (я пока не очень разбираюсь в технологиях, чтобы разбираться с SLURM). Это моя система Ubuntu:
Идентификатор дистрибьютора: Ubuntu
Описание: Ubuntu 20.04.3 LTS
Релиз: 20.04
Кодовое название: фокальный
В настоящее время у меня есть два пользователя плюс один администратор:
/дом/пользователь1
/дом/пользователь2
/дом/админ
Пользователи не имеют root-прав.
Я хотел бы, чтобы пользователи могли настраивать свои собственные среды R и Python. Это потребует загрузки библиотек R и модулей Python по мере необходимости. Как ежедневный пользователь R и Python, я знаю, что извлечение библиотек и модулей может быть частым и часто незапланированным, поэтому нехорошо, если для этого часто требуются привилегии root-доступа.
Я хотел бы, чтобы пользователь мог:
- иметь доступ к Conda для создания собственных сред Conda, чтобы настройка одного пользователя не влияла на настройку другого пользователя.
- иметь возможность загружать и устанавливать пакеты R и Python в эту среду - некоторые пакеты по самой своей природе будут компилироваться с использованием компилятора C++.
-запретить установку чего-либо еще, что не связано ни с R, ни с Python.
Изменить №1
Я подумал, что приведу пример того, чего я пытаюсь достичь, поскольку я сталкиваюсь с множеством новых технологий и программного обеспечения, и я рискую потерять фокус.
Пользователь подключается к машине с помощью SSH и по умолчанию попадает в свой каталог /home/user. Они начинают работать и обнаруживают, что им нужен Deseq2. Хост-дистрибьюторы, Bioconductor, Deseq2 делают пакет доступным через следующий код R:
BiocManager::install("DESeq2")
Пользователь должен находиться в среде, где он может загрузить и установить DESeq2, а затем сделать его доступным при выполнении сценария R из терминала Ubuntu.