气隙环境-安装 R 包源与二进制文件

Air-gapped env- Installing R package source vs binaries

我们办公室有一个 ubuntu linux 服务器,这是一个气隙环境。无法访问外网。

但是我想安装几个 R 包,比如 ggplot2, Database Connector, dplyr, Tidyverse 等。我有超过 10-15 个包要下载

虽然我无法编写常用命令 install.packages("DatabaseConnector"),但我必须从 CRAN 下载压缩文件夹,如图 here

我是 R 的新手。那么,你能帮我解决下面给出的问题吗?

a) 为什么 linux 系统没有文件?我只看到 windows binariesmacOS binaries。我应该下载哪一个?

b) 我应该下载 binaries 还是 package source?哪个容易安装?

c) 当我像 here 那样从 CRAN 下载像上面那样 zipped file 的包时,是否也会自动下载依赖项?还是我应该查看错误消息并继续一个一个地下载?

d) 由于我在气隙环境中工作,有效执行此过程的最佳方法是什么。

在 linux 下,包总是从源安装。 linux 没有官方二进制包。但是,您的发行版可能会在官方存储库中提供其中一些。 Ubuntu 确实如此。然而,这些往往是非常旧的版本,通常仅限于少数最重要的软件包。所以,对于 linux 你必须下载源码包。 zip 文件适用于 windows,无法使用。

您还需要下载包的所有依赖项。对于像 tidyverse 这样的东西,这将是一个巨大的数字。手动跟踪这些是很多工作。最简单的方法可能是在气隙系统之外使用像 miniCRAN 这样的包来构建 CRAN 的选择性副本。您可以指定所需的包,包将下载所有依赖项。然后您可以将下载的目录复制到您的服务器,将 install.packages 指向正确的方向并像往常一样使用 install.packages 安装。有关详细信息,请参阅 https://andrie.github.io/miniCRAN/articles/miniCRAN-introduction.html

您可能还会 运行 遇到以下问题:您的系统没有构建所有软件包所需的所有依赖项。例如,在 ubuntu 下,您需要安装 libxml2-dev 才能安装 xml 软件包。为此,您需要使用 ubuntu 的包管理器。如何在气隙系统上做到这一点是另一个问题