[英]`lsb_release -a` inside an `opensuse/tumbleweed` docker
嘗試使用安裝 python3 包時
python3 -m pip install absl-py
如果安裝了lsb-release
包,它會失敗(這是我的情況並且是強制性的)。
挖掘后我發現,pip 將在內部調用lsb_release -a
這將導致此錯誤...我可以使用以下 Dockerfile 輕松重現它
創建這個Dockerfile
:
# ref: https://hub.docker.com/r/opensuse/tumbleweed
FROM opensuse/tumbleweed
RUN zypper update -y \
&& zypper install -y lsb-release \
&& zypper clean -a
RUN lsb_release -a
docker build --tag=so .
...
---> 8330cfe918d5
Step 3/3 : RUN lsb_release -a
---> Running in 488762fb27a3
/usr/bin/lsb_release: line 122: getopt: command not found
The command '/bin/sh -c lsb_release -a' returned a non-zero code: 2
我嘗試安裝“gengetopt”、“gnu-getopt”或“perl-Getopt-Long-Descriptive”但沒有成功(仍然出現同樣的錯誤)。
一種解決方法是安裝元包lsb
不幸的是它需要時間(184 個包)。
我正在尋找一個“更小”的包來修復它(即減少依賴)。
FROM opensuse/tumbleweed
RUN zypper update -y \
&& zypper install -y lsb-release \
&& zypper clean -a
RUN zypper update -y \
&& zypper install -y lsb \
&& zypper clean -a
RUN lsb_release -a
docker build --tag=workaround .
...
Step 4/4 : RUN lsb_release -a
---> Running in 6d93c78f7a47
LSB Version: core-2.0-noarch:core-3.2-noarch:core-4.0-noarch:core-2.0-x86_64:core-3.2-x86_64:core-4.0-x86_64:desktop-4.0.fake-amd64:desktop-4.0.fake-noarch:graphics-2.0-amd64:graphics-2.0-noarch:graphics-3.2-amd64:graphics-3.2-noarch:graphics-4.0.fake-amd64:graphics-4.0.fake-noarch
Distributor ID: openSUSE
Description: openSUSE Tumbleweed
Release: 20201121
Codename: n/a
Removing intermediate container 6d93c78f7a47
---> c11779133426
Successfully built c11779133426
Successfully tagged os:latest
您可以使用zypper search -f <file>
檢索getopt
的包所有者:
15b83d17ed60:/ # command -v getopt
/usr/bin/getopt
15b83d17ed60:/ # command -v getopt | xargs zypper search -f
Loading repository data...
Reading installed packages...
S | Name | Summary | Type
--+--------------------+----------------------------------------+--------
| busybox-util-linux | Busybox applets replacing util-linux | package
i | util-linux | A collection of basic system utilities | package
所以到這里,安裝util-linux
應該就夠了....
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.