【问题标题】:unable to uninstall and reinstall R on centos无法在centos上卸载并重新安装R
【发布时间】:2014-07-07 22:12:10
【问题描述】:

我正在尝试在 centos 中卸载 R。我试过了

sudo rpm -e R.x86_64
>error: %preun(R-2.13.0-2.el6.rf.x86_64) scriptlet failed, exit status 1

sudo yum remove R
>Failed:
  R.x86_64 0:2.13.0-2.el6.rf 

R
>R version 3.1.0 (2014-04-10) -- "Spring Dance"
Copyright (C) 2014 The R Foundation for Statistical Computing
Platform: x86_64-redhat-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

当我尝试使用 yum 和 rpm 时,我无法卸载 R,它失败了,稍后当我再次尝试 R 时,它像上面一样运行 R。请帮助如何在centos中卸载R。

我已经删除了R目录,因为R执行不工作,但是重新安装R也不能工作。我必须重新安装R来安装一些之前不能工作的包,请找到步骤如下:

$sudo rm -rf /usr/lib64/R ** deleted the R directory


$sudo rpm -ivh http://mirror.chpc.utah.edu/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm


$sudo yum  -y  –enablerepo=epel  install  R  R-devel
>Loaded plugins: fastestmirror, refresh-packagekit, security

$sudo yum  install RLoaded plugins: fastestmirror, refresh-packagekit, security
>Loading mirror speeds from cached hostfile
epel/metalink                                            | 5.3 kB     00:00     
 * base: centos.aol.in
 * epel: mirror-fpt-telecom.fpt.net
 * extras: centos.aol.in
 * rpmforge: mirror-fpt-telecom.fpt.net
 * updates: centosmirror.go4hosting.in
Cloudera-cdh4                                            |  951 B     00:00     
base                                                     | 3.7 kB     00:00     
cloudera-impala                                          |  951 B     00:00     
extras                                                   | 3.4 kB     00:00     
rpmforge                                                 | 1.9 kB     00:00     
updates                                                  | 3.4 kB     00:00     
Setting up Install Process
Package R-3.1.0-5.el6.x86_64 already installed and latest version
Nothing to do

$R
>/usr/bin/R: line 236: /usr/lib64/R/etc/ldpaths: No such file or directory

$ rpm -q --scripts R
postinstall scriptlet (using /bin/sh):
/sbin/install-info /usr/share/info/R-FAQ.info.gz /usr/share/info/dir 2>/dev/null
/sbin/install-info /usr/share/info/R-admin.info.gz /usr/share/info/dir 2>/dev/null
/sbin/install-info /usr/share/info/R-exts.info.gz /usr/share/info/dir 2>/dev/null
/sbin/install-info /usr/share/info/R-intro.info.gz /usr/share/info/dir 2>/dev/null
/sbin/install-info /usr/share/info/R-lang.info.gz /usr/share/info/dir 2>/dev/null
/sbin/ldconfig
preuninstall scriptlet (using /bin/sh):
/sbin/install-info --delete R-FAQ /usr/share/info/dir 2>/dev/null
/sbin/install-info --delete R-admin /usr/share/info/dir 2>/dev/null
/sbin/install-info --delete R-exts /usr/share/info/dir 2>/dev/null
/sbin/install-info --delete R-intro /usr/share/info/dir 2>/dev/null
/sbin/install-info --delete R-lang /usr/share/info/dir 2>/dev/null
postuninstall program: /sbin/ldconfig

$ rpm --noscripts -e R
error: "R" specifies multiple packages:
  R-2.13.0-2.el6.rf.x86_64
  R-3.1.0-5.el6.x86_64
$ R
/usr/bin/R: line 236: /usr/lib64/R/etc/ldpaths: No such file or directory

使用新命令.. 不确定 sudo rpm --noscripts -e --allmatches R 做什么?

$ sudo rpm --noscripts -e --allmatches R
$ R
/usr/bin/R: line 236: /usr/lib64/R/etc/ldpaths: No such file or directory

$ sudo yum reinstall R
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Reinstall Process
Loading mirror speeds from cached hostfile
epel/metalink                                            | 4.7 kB     00:00     
 * base: centos.aol.in
 * epel: mirror-fpt-telecom.fpt.net
 * extras: centos.aol.in
 * rpmforge: mirror-fpt-telecom.fpt.net
 * updates: centosmirror.go4hosting.in
Cloudera-cdh4                                            |  951 B     00:00     
base                                                     | 3.7 kB     00:00     
cloudera-impala                                          |  951 B     00:00     
extras                                                   | 3.4 kB     00:00     
rpmforge                                                 | 1.9 kB     00:00     
updates                                                  | 3.4 kB     00:00     
No Match for argument: R
Package(s) R available, but not installed.
Nothing to do

$ sudo rpm --noscripts -e --allmatches R
error: package R is not installed

$ R
/usr/bin/R: line 236: /usr/lib64/R/etc/ldpaths: No such file or directory

当前输出:-

$ type -p R
/usr/bin/R

$ sudo yum install R
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: centos.aol.in
 * epel: epel.mirror.net.in
 * extras: centos.aol.in
 * rpmforge: mirror-fpt-telecom.fpt.net
 * updates: centosmirror.go4hosting.in
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package R.x86_64 0:3.1.0-5.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package      Arch              Version                   Repository       Size
================================================================================
Installing:
 R            x86_64            3.1.0-5.el6               epel             21 k

Transaction Summary
================================================================================
Install       1 Package(s)

Total download size: 21 k
Installed size: 0  
Is this ok [y/N]: y
Downloading Packages:
R-3.1.0-5.el6.x86_64.rpm                                 |  21 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
** Found 2 pre-existing rpmdb problem(s), 'yum check' output follows:
R-devel-3.1.0-5.el6.x86_64 has missing requires of R-core-devel = ('0', '3.1.0', '5.el6')
R-java-devel-3.1.0-5.el6.x86_64 has missing requires of R-core-devel = ('0', '3.1.0', '5.el6')
  Installing : R-3.1.0-5.el6.x86_64                                         1/1 
Unable to send message to PackageKit
  Verifying  : R-3.1.0-5.el6.x86_64                                         1/1 

Installed:
  R.x86_64 0:3.1.0-5.el6                                                        

Complete!

$ R
/usr/bin/R: line 236: /usr/lib64/R/etc/ldpaths: No such file or directory

我们如何构建被删除的二进制文件,它已安装但不构建文件以执行 R

【问题讨论】:

    标签: linux r centos


    【解决方案1】:

    rpm -q --scripts R 说 preun scriptlet 在做什么?

    您可以尝试使该脚本不会失败。

    或者,如果失败或 scriptlet 没有做任何重要的事情,您可以运行 rpm --noscripts -e R 告诉 rpm 不要运行 package scriptlets。

    使用 'yum reinstall R` 重新安装 R,即使它已安装,如果这是您想要做的。 (无论如何,您都不应该像那样删除随机打包的文件。这没有任何帮助)。

    要解决error: "R" specifies multiple packages 问题,您可以(可能)使用rpm --noscripts -e --allmatches R

    编辑:包括来自 cmets 的建议,最终解决方案似乎涉及安装(和重新安装)所有各种 R 包(R、R-devel、R-core、R-core-devel)。

    【讨论】:

    • thanks..我已经删除了lib64中的R目录,不是R iam无法执行。我想重新安装它,但那不起作用。
    • 我只是这样做了,我已经编辑了上面的帖子,请查看它..你能解释一下 rpm --noscripts -e --allmatches R 做什么..
    • reinstall 是为了解决来自yumPackage R-3.1.0-5.el6.x86_64 already installed and latest version 消息。由于您现在实际上已经删除了该软件包(尽管目前我不确定 type -p R 会告诉您 R “二进制”来自哪里),您现在需要 yum install R 来安装该软件包。跨度>
    • 我们如何构建被删除的二进制文件,它已安装但没有构建执行 R 的文件。请查看您上面给出的命令的当前输出..
    • 安装 R-coreR-core-devel 包来解决这些依赖问题。我不知道这是否足以解决您的 R 问题,因为您的系统目前处于相当混乱的状态,但这可能就足够了。您可能想运行rpm -Va 以了解软件包 rpm 告诉您的其他问题(但并非所有列出的问题都是需要修复的问题)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-08
    • 2010-11-11
    • 2017-11-30
    • 2015-01-16
    相关资源
    最近更新 更多