【问题标题】:Unable to install most Bluemix CF plugins无法安装大多数 Bluemix CF 插件
【发布时间】:2016-03-11 12:52:56
【问题描述】:

尝试使用最新的 cf 客户端从 Bluemix Plugin Repository 安装插件:

cf version 6.14.0+2654a47-2015-11-18

在 Mac OSX 和 Centos 7 上,尝试从 repo 安装时出现以下错误(以下来自 Centos 机器):

[michael@oracle ~]$ cf install-plugin -r bluemix vpn

Attention: Plugins are binaries written by potentially untrusted authors. Install and use plugins at your own risk.

Do you want to install the plugin vpn? (y or n)> y
Looking up 'vpn' from repository 'bluemix'
9741777 bytes downloaded...
FAILED
Downloaded plugin binary's checksum does not match repo metadata

下载二进制插件并尝试本地安装,给了我:

cf install-plugin bluemix-admin-linux_x64

Attention: Plugins are binaries written by potentially untrusted authors. Install and use plugins at your own risk.

Do you want to install the plugin bluemix-admin-linux_x64? (y or n)> y

Installing plugin ./bluemix-admin-linux_x64...
FAILED
exit status 127

进一步的检查结果:

ldd bluemix-admin-linux_x64
./bluemix-admin-linux_x64: error while loading shared libraries: ./bluemix-admin-linux_x64: unsupported version 6773 of Verneed record

虽然此示例适用于 vpn 插件,但除 IBM-Containers 之外的所有插件在远程安装尝试(校验和错误)时产生相同的结果,并且在检查二进制文件本身时会出现一些变化,例如使用 active_deploy:

ldd active-deploy-linux-amd64-0.1.67
    linux-vdso.so.1 =>  (0x00007ffc649d4000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00000036a0a00000)
    libc.so.6 => /lib64/libc.so.6 (0x000000369fe00000)
    /lib64/ld-linux-x86-64.so.2 (0x000000369fa00000)

我没有在其他社区 Cloud Foundry 插件中看到这种情况,因此这种现象似乎是 IBM 生成这些插件的独特方式。关于我如何自己解决这个问题的任何建议或想法(我可以自己编译这些的源代码库,虽然很不幸,但此时就足够了)。

Tks,

【问题讨论】:

    标签: ibm-cloud cloud-foundry ibm-cloud-plugin


    【解决方案1】:

    使用这个容器,它已经安装了 cf 和容器插件: https://hub.docker.com/r/reachlin/bluemix/

    【讨论】:

    • 您能详细说明一下吗?
    • 好吧,我一直在尝试让 vpn 插件工作,而这个插件是容器插件。好消息是我可以进入容器并添加 vpn 插件工作得很好,所以至少这是一个解决方法,直到插件可以本地安装。 Docker 再次拯救了这一天。
    • 将 docker 用于 vpn 或 active-deploy 等插件是可以的,但您将无法从 docker cf.除非您安装另一个本机 cf-client 来为您执行此操作(公平地说,这是一个丑陋的解决方法),否则当您想要编写部署脚本时它将成为一个问题......
    • @Sebastien,实际上您可以使用此容器进行 docker 镜像推送或拉取,并使用 hack 将主机上的 docker 套接字安装到容器
    • 我找到了另一种解决方法,使用 docker -v 选项挂载所需的文件夹。像这样创建你的容器:docker run --name bluemix -v /home/user:/home/user -d --privileged reachlin/bluemix。然后,您可以在 /usr/bin/cf 中创建一个脚本,该脚本基本上是 args="$@",然后是 docker exec bluemix "cd $PWD && cf $args"。然后,您可以推送位于您的主目录中的所有内容并将其用作常规 cf 客户端。
    【解决方案2】:

    实际上,Bluemix 的官方 CLI 是 Cloud Foundry CLI,如 Bluemix 文档页面中所述

    https://www.ng.bluemix.net/docs/cli/downloads.html

    我认为您的错误取决于您在引用插件时的错误。

    检查文档页面以获取 Bluemix 的 cf vpn 插件 https://www.ng.bluemix.net/docs/cli/plugins/vpn/index.html

    您必须指定您下载的插件版本(并且适合您自己的环境),而不仅仅是“vpn”

    对于 MS Windows 操作系统:

    cf install-plugin vpn_windows64.exe

    对于 Apple MAC 操作系统:

    cf install-plugin vpn_mac_os_amd64

    对于 Linux 操作系统:

    cf install-plugin vpn_linuxamd64

    您还可以将 bluemix 插件存储库配置为 cf 存储库,然后安装插件选择它作为源存储库。

    【讨论】:

    • 我想我在第一句话中就解决了这个问题:使用最新的 cf 客户端
    • 抱歉,被后面的链接引用弄糊涂了,我编辑了我的答案
    • 再次,我的问题中直接提到了这一点。安装插件的一种方法是从 repo 中使用规范名称。作为一个测试,我确实尝试了:cf install-plugin -r bluemix-repo vpn_linuxamd64 这当然没有按预期工作。重复我最初的问题,我还为我的平台下载了二进制文件并尝试进行本地安装(这是整个问题的 2/3)。请放心,我已经用细齿梳阅读了说明,我已经启动了一个新 VM,我已经在 docker 容器、Windows、OSX 中进行了尝试。
    猜你喜欢
    • 1970-01-01
    • 2016-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-18
    • 2017-06-07
    • 2011-10-12
    • 2015-04-27
    相关资源
    最近更新 更多