ОС: Kubuntu 18.04.1 (и Ubuntu 18.04.1 в виртуальной машине)
Когда я работаю osinfo-query os
после установки libosinfo-bin
, вывод не включает Ubuntu 18.04:
$ 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
$
Почему это? И я могу так или иначе обновить что-то для включения Ubuntu 18.04?
Причина, которую я спрашиваю, из-за:
Затем мы передали
--os-variant
опция. В то время как это не обязательно, настоятельно рекомендован для использования его, так как это может улучшить производительность виртуальной машины. Опция попытается точно настроить гостя к определенной версии ОС. Если опция не будет передана, то программа попытается автоматически обнаружить правильное значение с установочного носителя.
который я считал в том, Как создать и управлять виртуальными машинами KVM от CLI.
В ответ на ответ Rinzwind, вывод locate
после выполнения sudo updatedb
:
$ 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
присутствуют.
Выполнение locate os-info
как предложено Rinzwind сделал задание:
$ 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
. Хотя это все еще оставляет открытым вопрос того, почему это не было включено во-первых.
Вы могли всегда брать его от сайта GitLab, затем заменяют его.
Возможно, должен был бы установить git
, osinfo-db-tools
, intltool
и make
сначала
sudo apt install osinfo-db-tools intltool make git
Клонируйте osinfo от страницы GitLab
git clone https://gitlab.com/libosinfo/osinfo-db
Перейдите в osinfo-db
папка
cd osinfo-db/
Подготовленный файлы OS
./prepare-release.sh
Во время того, чтобы готовить его показал следующую строку:
osinfo-db-import --root /home/terrance/builder --system osinfo-db-20180830.tar.xz
Так, я перешел к той папке cd ~/builder
и это содержало a usr
папка. Все, что я должен был сделать, было скопировать ту папку в корень, и это обновило
cd ~/builder
sudo cp -Rv * /
И теперь это обнаруживает Ubuntu 18.04
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
Поскольку это не доступно в XML, который предоставляет эту информацию. Это взято от 1 из этих местоположений:
/usr/share/libosinfo/db
/etc/libosinfo/db
${HOME}/.config/libosinfo/db
(1-й я предположил ;))
Можно добавить файл, заканчивающийся на ".xml" в ${HOME}/.config/libosinfo/db
и это будет включено. Содержание его уже могло быть скопировано с тока доступная ОС.
Местоположение файла, кажется, изменилось в течение лет. Это также возможно: |
Пользовательское местоположение
Это определяется огибающей переменной
$OSINFO_USER_DIR
Если не набор, то значения по умолчанию к $XDG_CONFIG_HOME/osinfo, Если это не установлено, то значения по умолчанию к $HOME/.config/osinfo Это местоположение предназначаются для использования непривилегированными пользователями, желающими устанавливать локальные данные для использования их приложениями
Чтобы обновить базу данных osinfo, которая на самом деле представляет собой просто набор XML-файлов, выполните следующие действия:
1: Установите пакет osinfo-db-tools
, чтобы получить Программа osinfo-db-import
(по крайней мере, в дистрибутивах Debian):
apt update;apt install osinfo-db-tools
2: Загрузите новейший файл osinfo-db с releases.pagure.org пример:
wget -O "/tmp/osinfo-db.tar.xz" "https://releases.pagure.org/libosinfo/osinfo-db-20200325.tar.xz"
3: Импортируйте загруженный файл osinfo-db:
osinfo-db-import --local "/tmp/osinfo-db.tar.xz"
Новые XML-файлы osinfo-db будут расположены в /etc/osinfo/..
XML-файлы osinfo-db, предоставленные исходный пакет дистрибутива по-прежнему находится в /usr/share/osinfo
.
Новый путь, созданный osinfo-db-import
, имеет приоритет над исходным путем.
Если вы хотите перезаписать исходные XML-файлы osinfo-db, используйте параметр --system
вместо --local
(source)
.