首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么"osinfo-query os“不能检测到Ubuntu18.04?

为什么"osinfo-query os“不能检测到Ubuntu18.04?
EN

Ask Ubuntu用户
提问于 2018-08-30 13:24:14
回答 4查看 12.9K关注 0票数 10

操作系统: Kubuntu 18.04.1 (虚拟机中的Ubuntu 18.04.1 )

在安装osinfo-query os后运行libosinfo-bin时,输出不包括Ubuntu18.04:

代码语言:javascript
运行
复制
$ osinfo-query os | grep -i ubuntu | cut -d ' ' -f -2
 ubuntu10.04
 ubuntu10.10
 ubuntu11.04
 ubuntu11.10
 ubuntu12.04
 ubuntu12.10
 ubuntu13.04
 ubuntu13.10
 ubuntu14.04
 ubuntu14.10
 ubuntu15.04
 ubuntu15.10
 ubuntu16.04
 ubuntu16.10
 ubuntu17.04
 ubuntu17.10
 ubuntu4.10
 ubuntu5.04
 ubuntu5.10
 ubuntu6.06
 ubuntu6.10
 ubuntu7.04
 ubuntu7.10
 ubuntu8.04
 ubuntu8.10
 ubuntu9.04
 ubuntu9.10
$

为什么会这样呢?我可以以某种方式更新一些东西来获得Ubuntu18.04吗?

我问的原因是:

接下来,我们传递了--os-variant选项。虽然这不是强制性的,但强烈建议使用它,因为它可以提高虚拟机的性能。该选项将尝试微调客户到特定的操作系统版本。如果该选项未被传递,该程序将尝试从安装媒体自动检测正确的值。

我在如何从CLI创建和管理KVM虚拟机上读到的。

作为对林茨风的回答的响应,运行sudo updatedblocate的输出是:

代码语言:javascript
运行
复制
$ locate libosinfo
/usr/lib/x86_64-linux-gnu/libosinfo-1.0.so.0
/usr/lib/x86_64-linux-gnu/libosinfo-1.0.so.0.1001.0
/usr/share/doc/gir1.2-libosinfo-1.0
/usr/share/doc/libosinfo-1.0-0
/usr/share/doc/libosinfo-bin
/usr/share/doc/gir1.2-libosinfo-1.0/changelog.Debian.gz
/usr/share/doc/gir1.2-libosinfo-1.0/copyright
/usr/share/doc/libosinfo-1.0-0/NEWS.gz
/usr/share/doc/libosinfo-1.0-0/README
/usr/share/doc/libosinfo-1.0-0/changelog.Debian.gz
/usr/share/doc/libosinfo-1.0-0/copyright
/usr/share/doc/libosinfo-bin/changelog.Debian.gz
/usr/share/doc/libosinfo-bin/copyright
/var/cache/apt/archives/libosinfo-bin_1.1.0-1_amd64.deb
/var/lib/dpkg/info/gir1.2-libosinfo-1.0:amd64.list
/var/lib/dpkg/info/gir1.2-libosinfo-1.0:amd64.md5sums
/var/lib/dpkg/info/libosinfo-1.0-0:amd64.list
/var/lib/dpkg/info/libosinfo-1.0-0:amd64.md5sums
/var/lib/dpkg/info/libosinfo-1.0-0:amd64.shlibs
/var/lib/dpkg/info/libosinfo-1.0-0:amd64.symbols
/var/lib/dpkg/info/libosinfo-1.0-0:amd64.triggers
/var/lib/dpkg/info/libosinfo-bin.list
/var/lib/dpkg/info/libosinfo-bin.md5sums

/usr/share/libosinfo/db/etc/libosinfo/db都不在场。

按照Rinzwind的建议,运行locate os-info完成了以下工作:

代码语言:javascript
运行
复制
$ locate osinfo | grep ubuntu
/usr/share/osinfo/install-script/ubuntu.com
/usr/share/osinfo/install-script/ubuntu.com/ubuntu-preseed-jeos.xml
/usr/share/osinfo/os/ubuntu.com
/usr/share/osinfo/os/ubuntu.com/ubuntu-10.04.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-10.10.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-11.04.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-11.10.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-12.04.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-12.10.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-13.04.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-13.10.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-14.04.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-14.10.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-15.04.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-15.10.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-16.04.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-16.10.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-17.04.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-17.10.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-4.10.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-5.04.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-5.10.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-6.06.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-6.10.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-7.04.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-7.10.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-8.04.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-8.10.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-9.04.xml
/usr/share/osinfo/os/ubuntu.com/ubuntu-9.10.xml
$ 

现在添加/usr/share/osinfo/os/ubuntu.com/ubuntu-18.04.xml应该很容易。虽然它仍然是一个悬而未决的问题,为什么它不包括在第一。

EN

回答 4

Ask Ubuntu用户

回答已采纳

发布于 2018-08-30 14:28:27

您可以从GitLab站点获取它,然后替换它。

可能需要首先安装gitosinfo-db-toolsintltoolmake

代码语言:javascript
运行
复制
sudo apt install osinfo-db-tools intltool make git

从GitLab页面克隆osinfo

代码语言:javascript
运行
复制
git clone https://gitlab.com/libosinfo/osinfo-db

转到osinfo-db文件夹

代码语言:javascript
运行
复制
cd osinfo-db/

准备os文件

代码语言:javascript
运行
复制
./prepare-release.sh

在准备过程中,它显示了以下一行:

代码语言:javascript
运行
复制
osinfo-db-import --root /home/terrance/builder --system osinfo-db-20180830.tar.xz

所以,我去了那个文件夹cd ~/builder,它包含一个usr文件夹。我所要做的就是把那个文件夹复制到根目录中,然后更新。

代码语言:javascript
运行
复制
cd ~/builder
sudo cp -Rv * /

现在它检测到Ubuntu 18.04

代码语言:javascript
运行
复制
terrance@terrance-ubuntu:~/builder$ osinfo-query os | grep -i ubuntu
 ubuntu10.04          | Ubuntu 10.04 LTS                                   | 10.04    | http://ubuntu.com/ubuntu/10.04          
 ubuntu10.10          | Ubuntu 10.10                                       | 10.10    | http://ubuntu.com/ubuntu/10.10          
 ubuntu11.04          | Ubuntu 11.04                                       | 11.04    | http://ubuntu.com/ubuntu/11.04          
 ubuntu11.10          | Ubuntu 11.10                                       | 11.10    | http://ubuntu.com/ubuntu/11.10          
 ubuntu12.04          | Ubuntu 12.04 LTS                                   | 12.04    | http://ubuntu.com/ubuntu/12.04          
 ubuntu12.10          | Ubuntu 12.10                                       | 12.10    | http://ubuntu.com/ubuntu/12.10          
 ubuntu13.04          | Ubuntu 13.04                                       | 13.04    | http://ubuntu.com/ubuntu/13.04          
 ubuntu13.10          | Ubuntu 13.10                                       | 13.10    | http://ubuntu.com/ubuntu/13.10          
 ubuntu14.04          | Ubuntu 14.04 LTS                                   | 14.04    | http://ubuntu.com/ubuntu/14.04          
 ubuntu14.10          | Ubuntu 14.10                                       | 14.10    | http://ubuntu.com/ubuntu/14.10          
 ubuntu15.04          | Ubuntu 15.04                                       | 15.04    | http://ubuntu.com/ubuntu/15.04          
 ubuntu15.10          | Ubuntu 15.10                                       | 15.10    | http://ubuntu.com/ubuntu/15.10          
 ubuntu16.04          | Ubuntu 16.04                                       | 16.04    | http://ubuntu.com/ubuntu/16.04          
 ubuntu16.10          | Ubuntu 16.10                                       | 16.10    | http://ubuntu.com/ubuntu/16.10          
 ubuntu17.04          | Ubuntu 17.04                                       | 17.04    | http://ubuntu.com/ubuntu/17.04          
 ubuntu17.10          | Ubuntu 17.10                                       | 17.10    | http://ubuntu.com/ubuntu/17.10          
 ubuntu18.04          | Ubuntu 18.04 LTS                                   | 18.04    | http://ubuntu.com/ubuntu/18.04          
 ubuntu4.10           | Ubuntu 4.10                                        | 4.10     | http://ubuntu.com/ubuntu/4.10           
 ubuntu5.04           | Ubuntu 5.04                                        | 5.04     | http://ubuntu.com/ubuntu/5.04           
 ubuntu5.10           | Ubuntu 5.10                                        | 5.10     | http://ubuntu.com/ubuntu/5.10           
 ubuntu6.06           | Ubuntu 6.06 LTS                                    | 6.06     | http://ubuntu.com/ubuntu/6.06           
 ubuntu6.10           | Ubuntu 6.10                                        | 6.10     | http://ubuntu.com/ubuntu/6.10           
 ubuntu7.04           | Ubuntu 7.04                                        | 7.04     | http://ubuntu.com/ubuntu/7.04           
 ubuntu7.10           | Ubuntu 7.10                                        | 7.10     | http://ubuntu.com/ubuntu/7.10           
 ubuntu8.04           | Ubuntu 8.04 LTS                                    | 8.04     | http://ubuntu.com/ubuntu/8.04           
 ubuntu8.10           | Ubuntu 8.10                                        | 8.10     | http://ubuntu.com/ubuntu/8.10           
 ubuntu9.04           | Ubuntu 9.04                                        | 9.04     | http://ubuntu.com/ubuntu/9.04           
 ubuntu9.10           | Ubuntu 9.10                                        | 9.10     | http://ubuntu.com/ubuntu/9.10
票数 6
EN

Ask Ubuntu用户

发布于 2020-04-11 10:43:23

要更新实际上只是XML文件集合的osinfo数据库,请执行以下操作:

1:安装包osinfo-db-tools以获得osinfo-db-import程序(至少在Debian的‘ish发行版上):

代码语言:javascript
运行
复制
apt update;apt install osinfo-db-tools

2:releases.pagure.org示例下载最新的osinfo-db文件:

代码语言:javascript
运行
复制
wget -O "/tmp/osinfo-db.tar.xz" "https://releases.pagure.org/libosinfo/osinfo-db-20200325.tar.xz" 

3:导入下载的osinfo-db文件:

代码语言:javascript
运行
复制
osinfo-db-import --local "/tmp/osinfo-db.tar.xz"

新的osinfo-db XML文件将位于/etc/osinfo/..中。

原始发行版包提供的osinfo-db XML文件仍然位于/usr/share/osinfo中。

osinfo-db-import创建的新路径位于原始路径的前面。

如果要覆盖原始osinfo-db XMLs,请使用选项--system而不是--local

(来源)

票数 10
EN

Ask Ubuntu用户

发布于 2018-08-30 13:42:24

因为它在提供此信息的XML中不可用。它是从其中一个地点摘取的:

代码语言:javascript
运行
复制
/usr/share/libosinfo/db
/etc/libosinfo/db
${HOME}/.config/libosinfo/db

(我猜到的第一个;)

您可以在.xml中添加一个以“${HOME}/.config/libosinfo/db”结尾的文件,它将被包括在内。它的内容可以从当前可用的操作系统中复制。

这些年来,文件的位置似乎发生了变化。这也是可能的:

这是由env变量决定的用户位置。

代码语言:javascript
运行
复制
$OSINFO_USER_DIR

如果未设置,则默认为$XDG_CONFIG_HOME/osinfo,如果未设置,则默认为$HOME/.config/osinfo,此位置供希望安装本地数据供其应用程序使用的非特权用户使用。

票数 4
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1070500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档