首页 文章

无法在Bitbucket Pipelines docker实例中执行lsb-release

提问于
浏览
0

我有一个Bitbucket Pipelines yaml看起来像这样:

image:python:3.5.1

pipelines:
  branches:
    master:
      - step:
          script:
            - apt-get update
            - apt-get install lsb-release -y
            - curl --silent https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
            - VERSION=node_5.x
            - DISTRO="$(lsb-release -s -c)"
            - echo "deb https://deb.nodesource.com/$VERSION $DISTRO main" | tee /etc/apt/sources.list.d/nodesource.list
            - echo "deb-src https://deb.nodesource.com/$VERSION $DISTRO main" | tee -a /etc/apt/sources.list.d/nodesource.list
            - apt-get update
            - apt-get install nodejs -y
            - npm install
            - npm run build
            - python get-pip.py
            - pip install boto3==1.3.0
            - python s3_upload.py io-master.fromthiscomesthat.co.uk dist io-master

一切顺利,除了 DISTRO="$(lsb-release -s -c)" 失败了 . 找不到 lsb-release 可执行文件,即使它已在脚本中成功安装 . 我试过 find / -name lsb-release ,但这只会产生以下结果:

+ find / -name lsb-release
/usr/share/doc/lsb-release
/usr/share/bug/lsb-release

......这不是很有用 .

可执行文件在哪里?

1 回答

  • 0

    lsb-release 是包的名称, lsb_release 是二进制文件的名称 .

    我怎么知道这个:

    • 在主机上安装了docker

    • 获取docker镜像并运行容器,在其中测试 docker run -it --rm python:3.5.1 /bin/bash

    • 使用 apt-get update && apt-get install -y lsb-release 安装 lsb-release

    • 查看包 dpkg -L lsb-release 中的文件( **/bin 目录中的文件是可执行文件)

相关问题