lsb_release:在最新的 Ubuntu Docker 容器中找不到命令

kra*_*r65 50 linux ubuntu containers version docker

我只是想快速测试一下。所以我运行了一个 docker 容器,我想检查我正在运行的版本:

$ docker run -it ubuntu    
root@471bdb08b11a:/# lsb_release -a
bash: lsb_release: command not found
root@471bdb08b11a:/# 
Run Code Online (Sandbox Code Playgroud)

所以我尝试安装它(如建议here):

root@471bdb08b11a:/# apt install lsb_release
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package lsb_release
root@471bdb08b11a:/# 
Run Code Online (Sandbox Code Playgroud)

有人知道为什么这不起作用吗?

Cle*_*rer 98

似乎没有安装 lsb_release 。

你可以通过安装它

apt-get update && apt-get install -y lsb-release && apt-get clean all
Run Code Online (Sandbox Code Playgroud)

希望有帮助;)

  • 我想值得注意的是,该命令是“lsb_release”(带下划线),但要安装的包是“lsb-release”(带连字符) (11认同)
  • 这就是我喜欢 Linux 的原因 - 黑魔法导致输出几个屏幕只是为了查看操作系统版本! (8认同)
  • @AlexanderChristov,如果您不想按照推荐的方式执行操作,则可以运行 `uname --all` 来获取内核版本,或运行 `cat /etc/os-release` 来获取分发信息 (7认同)
  • 我只需要安装包“lsb-release”。`lsb-core` 也可以工作,但它带来了一大堆我不需要的依赖项。 (2认同)

小智 26

只需使用cat /etc/os-release即可显示操作系统详细信息。

截图来自 debian。

在此输入图像描述

截图来自ubuntu。

在此输入图像描述

软呢帽的屏幕截图。

在此输入图像描述


Mag*_*win 6

此错误可能是由于在 ubuntu 16.04 中卸载或升级默认的 python3 程序版本而发生的

纠正这个问题的方法是重新安装ubuntu自带的原始python3版本并再次重新链接。(在 ubuntu 16.04 中 - 默认 python3 版本是 python 3.5

sudo rm /usr/bin/python3
sudo ln -s /usr/bin/python3.5 /usr/bin/python3
Run Code Online (Sandbox Code Playgroud)

  • 建议小心更改“/usr/bin/python3”中的潜在符号链接。你真的应该使用 `sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 35 #or Everythingpriority.` 话虽这么说,我的就在那里,但 shebang 是为了 ** python**,而不是 **python3** (我解析了 @DeadlyChambers 的评论以获得更好的可读性。您甚至可以考虑将其发布为答案。) (2认同)
  • @Cadoiz,你可能是对的,我应该将这个作为答案发布,希望能将一个可怜的灵魂从等待着他们的地狱中拯救出来,当他们开始以错误的方式修补系统 python 配置时。这就是您最终追逐依赖幽灵并更新库以修复最初错误的方式。然后在你意识到之前,随机的事情就会停止工作。 (2认同)