什么是 gcp 以及我在哪里可以找到它?

什么是 gcp 以及我在哪里可以找到它?

我目前正在尝试安装一个软件包(遗憾的是,由于各种原因,支持非常无用)。该软件有一个安装脚本,运行良好,但是该脚本在开始在集群节点上部署之前会检查某些工具是否存在。

该脚本使用 gcp(它看起来像一个组副本) - 我无法通过 google 或 rpmfind 找到它。有谁知道这个程序吗?

编辑(第一次尝试时标题不好,抱歉,发帖前我似乎应该多喝点咖啡):操作系统:Red Hat Enterprise Linux 5.3 我正在尝试安装的软件是“FLX 测序仪的仪器外软件”

安装脚本的相关部分如下:

             cluster)
                    echo "INSTALLING TO A CLUSTER"

                    #
                    #       Install to system RPM location
                    #
                    RPMSRC=`find ./ -name gsRunProcessor-openmpi-*.rpm`
                    if [ "$RPMSRC" != "" ]
                    then
                            # Copy to all nodes
                            gcp $RPMSRC /tmp
                            if [ $? -ne 0 ]
                            then
                                    echo "Call to 'gcp' failed"
                                    return 1
                            fi
                            # Install to all nodes
                            gsh rpm -Uvh --force --nocontexts /tmp/$RPMSRC 2>/dev/null
                            status=$?
                            if [ $status -ne 0 ]
                            then
                                    echo "Call to gsh failed"
                                    return 1
                            fi

                            # Remove file from every node
                            gsh rm -f /tmp/$RPMSRC

                            # Install to head node
                            rpm -Uvh --force --nocontexts $RPMSRC 2>/dev/null
                            status=$?
                            if [ $status -ne 0 ]
                            then
                                    echo "Call to 'rpm' command for $RPMSRC failed"
                                    return 1
                            fi

                    else
                            echo "Could not find gsRunProcessor-openmpi rpm file"
                            return 1
                    fi

                    rpm -Uvh --force --nocontexts gsRunProcessorManager-*.rpm 2>/dev/null
                    status=$?
                    if [ $status -ne 0 ]
                    then
                            echo "Call to 'rpm' command for gsRunProcessorManager failed"
                            return 1
                    fi

                    rpm -Uvh --force --nocontexts gsReporter-*.rpm 2>/dev/null
                    status=$?
                    if [ $status -ne 0 ]
                    then
                            echo "Call to 'rpm' command for gsReporter failed"
                            return 1
                    fi

                    rpm -Uvh --force --nocontexts gsSupportTool-*.rpm 2>/dev/null
                    status=$?
                    if [ $status -ne 0 ]
                    then
                            echo "Call to 'rpm' command for gsSupportTool failed"
                            return 1
                    fi
                    ;;

答案1

该代码片段来自网格FTP.gcp只需可用且位于您的 PATH 中,但这些特定于您的站点。大多数集群/网格系统都有一个用于网格实用程序的特殊位置。请联系您的集群管理员或您当地的 GridFTP 管理员了解详细信息。

答案2

gcp是 的 GNU 版本cp。您可以使用以下方式找到它:

where gcp

您应该能够使用,除非您的脚本使用了中没有的cp少数功能之一。我不知道有任何这样的功能......gcpcp

针对你的情况特别说明:

RPMSRC=`find ./ -name gsRunProcessor-openmpi-*.rpm`
if [ "$RPMSRC" != "" ]
    then
        # Copy to all nodes
        gcp $RPMSRC /tmp

$RPMSRC您正在使用命令设置变量。然后您将复制找到并存储的find所有文件,使用:find$RPMSRC/tmp

gcp $RPMSRC /tmp

rpm调用的命令使用gsh这些文件:

gsh rpm -Uvh --force --nocontexts /tmp/$RPMSRC 2>/dev/null
                                  ^^^^^^^^^^^^

当处理完毕后,它会将其删除:

# Remove file from every node
gsh rm -f /tmp/$RPMSRC

所有节点的实际安装都是通过rpm命令完成的。

答案3

您可以在网上找到几个不同的软件包,它们都叫 gsh。例如,有些只是 ssh 的包装器,用于在多个主机上执行命令。您的脚本可能使用了类似的东西(脚本中的注释看起来像是这样);如果是这样,gsh 和 gcp 应该与您的软件一起打包。所以我的猜测是,您在调用脚本时缺少 PATH 中的某些内容,或者从错误的位置调用,或类似情况。- 仅凭脚本的一部分并且不了解您要安装的软件,很难判断。

答案4

“gcp 是 cp 的 GNU 版本”

不它不是。

gcp 中的 g 代表戈菲,全名是Goffi 的复印机

gcp 的当前英文主页位于Gcp/en源代码可以从Goffi FTP 服务器

复制非常大的文件时,gcp 的一个有用功能是“传输进度指示”。

相关内容