微软如此喜欢Linux,以至于它的R Open安装脚本移除了'd / bin / sh

在开发人员发现开源软件包对某些Linux系统不太兼容之后,微软不得不为R开源分析工具发布一个紧急的更新。

本周早些时候,开发人员Norbert Preining 发现了这个问题,他发现Open R的Debian GNU / Linux版本- 即微软的R统计和数据科学工具的开源实现 - 当它安装在某些系统上时会出现令人头疼的系统错误。

特别是,Preining指出,微软用来安装软件的shell指令在安装了另一个版本的R的计算机上运行时会失败。更糟糕的是,脚本会删除任何/bin/sh中的内容并用Bash覆盖它,并更改系统的命令解释器。他指出了以下代码:

#!/bin/bash

#TODO: Avoid hard code VERSION number in all scripts
VERSION =`echo $ DPKG_MAINTSCRIPT_PACKAGE | sed's / [[:alpha:] |(| [:space:]] // g'| sed's / \  -  * //'| awk -F。'{print $ 1“。”$ 2“。” $ 3}'`
INSTALL_PREFIX = "/opt/microsoft/ropen/${VERSION}"

echo $ VERSION

ln -s“$ {INSTALL_PREFIX} / lib64 / R / bin / R”/ usr / bin / R
ln -s“$ {INSTALL_PREFIX} / lib64 / R / bin / Rscript”/ usr / bin / Rscript

rm / bin / sh
ln -s / bin / bash / bin / sh

另外,Preining发现,微软用来卸载R Open的脚本会导致更多的问题,其中一个问题是它会直接删除文件而不检查它们实际指向的位置:

#!/bin/bash

VERSION =`echo $ DPKG_MAINTSCRIPT_PACKAGE | sed's / [[:alpha:] |(| [:space:]] // g'| sed's / \  -  * //'| awk -F。'{print $ 1“。”$ 2“。” $ 3}'`
INSTALL_PREFIX = "/opt/microsoft/ropen/${VERSION}/"
rm / usr / bin / R
rm / usr / bin / Rscript
rm -rf“$ {INSTALL_PREFIX} / lib64 / R / backup”

“我想微软应该多了解一些有关的内容,特别是关于dpkg-divert和正确的包装的知识,”这位数学家说。“这里出现了这样一个令人无语的失败的展览,我只能假设他们是故意这样做的。”

对于最近发布了自己的Arm Linux内核的并且声称它很喜欢Linux和开源公司来说,这并不是一个好的选择。

幸运的是,它看起来好像微软正在倾听用户的建议,其开发团队很快就采取了行动。在Preining的博客帖子被po出的两天之内,他报告说R Open就已经被Windows团队修复了在Debian系统上正确安装和移除的问题。

“感谢微软的快速解决方案,这是一个好消息,那些使用Open R的玩家不会被留下一个受到大清洗的系统,”Preining指出。

毫无疑问,微软的团队将保持高度警惕,以避免其开源工作为用户带来更多令人尴尬的局面。

  • 发表于:
  • 原文链接http://www.theregister.co.uk/2018/06/14/microsoft_r_open_debian_dev

扫码关注云+社区

领取腾讯云代金券