微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何在脱机Debian机器上安装R软件包?

我有一个没有连接到互联网的Debian虚拟机。 然而,我仍然可以scp从我的本地机器上有互联网连接的任何文件。 为了提供一点点上下文,我试图在VM上托pipe一个shiny的应用程序。

我仍然可以使用“apt-get”命令安装旧版本的R 3.1.1:

sudo apt-get update sudo apt-get install r-base sudo apt-get install r-base-dev

但是,在查看清单时还是找不到“shiny”的包装:

sudo apt-cache search "^r-.*" | sort

所以,我想我是否可以scp“shiny.tar.gz”到VM并在本地安装软件包? 我怎么能离线安装任何R包?

为什么我的脚本启动UWsgi不能在启动时运行?

在Linux上的Gtk +版本错误

在Debian上更新到PHP 5.4

了解Ryu OpenFlow控制器,mininet,WireShark和tcpdump

如何调整根文件系统分区Debian Jessie BeagleBone Black

我曾尝试过这样的事情:

install.packages('/home/mli/R/dir_pkg/shiny/shiny_0.13.2.tar.gz',repos = NULL,type = "source")

然而,它没有通过,错误信息如下:

Installing package into '/usr/local/lib/R/site-library' (as 'lib' is unspecified) Error in type == "both" : comparison (1) is possible only for atomic and list types Calls: install.packages Execution halted

然后,我尝试了另一个“R CMD”:

R CMD INSTALL /home/mli/R/dir_pkg/shiny/shiny_0.13.2.tar.gz

我收到错误消息,告诉我缺less依赖关系:

* installing to library '/home/mli/R/x86_64-pc-linux-gnu-library/3.1' ERROR: dependencies 'httpuv','mime','jsonlite','xtable','digest','htmltools','R6' are not available for package 'shiny' * removing '/home/mli/R/x86_64-pc-linux-gnu-library/3.1/shiny'

我怎样才能从源代码安装shiny的包? 我应该继续安装依赖项的所有依赖项和依赖项吗?

在Linux Debian中使用PHP合并MP3文件

Linux将我的url转换为符号?

Shell抓取参数

是否有一个与.rpm首次安装参数相当的.deb安装文件

Debian No Module named numpy

Shiny有一些软件包的依赖关系,“R CMD INSTALL”不会为你找到它们,所以你需要手动获取它们。 根据闪亮的描述,它的依赖是:'Rcpp','httpuv','mime','jsonlite','xtable','digest','htmltools','R6'。 所以首先从cran文件获取软件包(下面是最新的版本,但是它们会随着时间的推移而改变,下面的注释是针对连接到互联网的计算机,在继续之前需要将这些文件scp到离线计算机):

wget https://cran.r-project.org/src/contrib/Rcpp_0.12.4.tar.gz wget https://cran.r-project.org/src/contrib/httpuv_1.3.3.tar.gz wget https://cran.r-project.org/src/contrib/mime_0.4.tar.gz wget https://cran.r-project.org/src/contrib/jsonlite_0.9.19.tar.gz wget https://cran.r-project.org/src/contrib/digest_0.6.9.tar.gz wget https://cran.r-project.org/src/contrib/htmltools_0.3.5.tar.gz wget https://cran.r-project.org/src/contrib/R6_2.1.2.tar.gz wget https://cran.r-project.org/src/contrib/shiny_0.13.2.tar.gz

然后按照与R CMD INSTALL相同的顺序通过它们。 例如:

R CMD INSTALL Rcpp_0.12.4.tar.gz

一旦所有的依赖关系在那里,R CMD INSTALL应该让你安装闪亮。

要在Debian上安装一些软件包,可以使用apt-offline :

apt-offline可以在不连接网络的情况下完全更新和升级基于APT的分发,所有这些都对APT透明。

apt-offline可以用来在一台机器上生成一个签名(没有网络)。 此签名包含APT数据库系统所需的所有下载信息。 这个签名文件可以在连接到互联网的另一台机器上使用(不需要是Debian盒,甚至可以运行Windows)来下载更新。 下载的数据将包含APT可以理解的格式的所有更新,并且该数据可以由apt-offline用于更新非联网机器。

在脱机操作系统(Debian)上安装apt-offline ,然后键入以下命令(导入缺少的密钥):

sudo apt-key exportall | sudo gpg --no-default-keyring --import --keyring /etc/apt/trusted.gpg

那么你需要得到your_package_name的签名:

apt-offline set debian-install.sig --install-packages your_package_name

下一步,上传debian-install.sig到在线系统并下载需要的文件

apt-offline get debian-install.sig --bundle debian-install.zip

上传debian-install.zip文件到离线系统,使用apt-offline实用程序安装它来更新APT数据库

sudo apt-offline install debian-install.zip

安装指定的软件包your_package_name :

sudo apt-get install your_package_name

你可以使用Windows机器tuto下载你的软件包

你在泡菜。 R包机制期望您连接到获取依赖关系。 这就是说,你可以得到一些帮助:

R> AP <- available.packages(contrib.url(options("repos")$repos[1])) R> revs <- tools::package_dependencies("shiny",AP,recursive=TRUE)[[1]] R> revs [1] "methods" "utils" "httpuv" "mime" [5] "jsonlite" "xtable" "digest" "htmltools" [9] "R6" "Rcpp" "tools" "stats" R>

您现在可以再次查看AP并将其输入到download.packages() 。

另外,其中的几个(所有?)都在一个较新的 Debian发行版中,因此您可以在下载模式下使用apt-get (也许使用apt-offline如其他问题所建议的那样)。

最后,我们提供了一个闪亮的Docker容器,所以如果你在虚拟机上使用它,你不需要任何东西。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐