Окружение с воздушным зазором — установка исходного кода пакета R и двоичных файлов

У нас в офисе есть сервер Ubuntu Linux, который представляет собой изолированную среду. Доступа к внешней сети нет.

Однако я хотел бы установить несколько пакетов R, таких как ggplot2, Database Connector, dplyr, Tidyverse и т. д. Мне нужно загрузить более 10-15 пакетов.

Хотя я не могу написать обычную команду install.packages("DatabaseConnector"), мне нужно загрузить заархивированные папки из CRAN, как показано здесь.

Я новичок в R. Итак, не могли бы вы помочь мне с моими вопросами, приведенными ниже?

а) Почему нет файлов для linux систем? Я вижу только windows binaries и macOS binaries. Какой из них мне скачать?

б) Должен ли я скачать binaries или package source? какой из них легко установить?

c) Когда я загружаю пакеты, как указано выше, как zipped file из CRAN, как показано здесь, будут ли автоматически загружаться и зависимости? Или я должен смотреть на сообщения об ошибках и продолжать загружать их одно за другим?

d) Поскольку я работаю в среде с воздушным зазором, как лучше всего выполнить этот процесс эффективно?


person The Great    schedule 11.06.2021    source источник
comment
Это определенно не лучшее решение, но может подойти, если вы хотите иметь доступ к нескольким пакетам (точнее, ВСЕМ из них) локально: stackoverflow.com/questions/39051381/   -  person mhovd    schedule 11.06.2021
comment
Если вы хотите установить огромный мета-пакет, такой как tidyverse, вам нужно загрузить гораздо больше пакетов, чем 10-15. Помните, вам нужно установить все дерево зависимостей для каждого пакета.   -  person Roland    schedule 11.06.2021
comment
@Roland - Вы знаете, какой двоичный файл мне следует скачать? Или я должен загрузить исходные файлы?   -  person The Great    schedule 11.06.2021


Ответы (1)


Под Linux пакеты всегда устанавливаются из исходников. Официальных бинарных пакетов для Linux нет. Однако ваш дистрибутив может предлагать некоторые из них в официальных репозиториях. Убунту делает. Однако это, как правило, довольно старые версии и обычно ограничиваются несколькими наиболее важными пакетами. Итак, для Linux вам нужно загрузить исходные пакеты. ZIP-файлы предназначены для Windows и не будут работать.

Вам также потребуется загрузить все зависимости пакетов. Для чего-то вроде tidyverse это будет огромное число. Отследить их вручную — большая работа. Вероятно, проще всего использовать такой пакет, как miniCRAN, за пределами вашей изолированной системы для создания выборочной копии CRAN. Вы можете указать нужные пакеты, и пакет загрузит все зависимости. Затем вы можете скопировать загруженные каталоги на свой сервер, указать install.packages в правильном направлении и установить, как обычно, используя install.packages. Подробнее см. https://andrie.github.io/miniCRAN/articles/miniCRAN-introduction.html.

Вы также можете столкнуться с проблемой, что в вашей системе нет всех зависимостей, необходимых для сборки всех пакетов. В Ubuntu вам нужно, например, установить libxml2-dev, чтобы иметь возможность установить пакет xml. Для этого вам нужно использовать менеджер пакетов Ubuntu. Как это сделать в системе с воздушным зазором — другой вопрос.

person Jan van der Laan    schedule 11.06.2021