Re: Where'd lsb-compat go?
NOT REQUIRED READING; this is just a follow-up for documentation
purposes in case anyone else needs this info from the list archives.
(TL;DR at bottom)
On 7/11/19 1:48 PM, Kent West wrote:
1) I have several Debian boxes running as kiosks, and reporting to a
centralized Quest-branded "Systems Management Appliance" (SMA). With a
recent update to the SMA, the Debian boxes stopped reporting in. After
several weeks, I finally discovered that the installation of
"lsb-compat" on several of them restored their functionality.
"lsb_compat" installs "/usr/bin/lsb_release", which I believe is
probably what the SMA relies on for Debian versioning information. Prior
to installing "lsb_compat" the SMA log files complained about about not
finding a major and a minor number for Debian. After installing
"lsb_compat", the complaint went away, and the machines were restored to
their functionality.
However, now with the machines upgraded to Debian 10 (Buster),
"/usr/bin/lsb_release -a" reports the Debian version as 10 rather than
as 10.0, and apparently the SMA expects that minor number as well as the
major number.
I would hit the vendor up for a fix, but they don't support Debian (they
do support Ubuntu 18.04; once they support the next release of Ubuntu,
that'll probably fix it for Buster, also). In the meantime, I'm trying
to chase down a fix.
Looking at "/usr/bin/lsb_release", I see that the function call that
returns the data I need comes from the Python 3 module
"/usr/share/pyshared/lsb_release.py". That function call is
"get_distro_information()", which in turn relies on "get_os_release()",
or if that doesn't have the release info, then "guess_debian_release()"
(both of which are in this same module file).
The "get_os_release()" function has a comment that says, "# Whatever is
guessed above can be overridden in /usr/lib/os-release by derivatives",
which leads me to believe that this file, "/usr/lib/os-release", is the
canonical location for specifying the version of Debian installed.
So I changed this line in that file:
VERSION_ID="10"
to
VERSION_ID="10.0"
and now "lsb_release -a" reports Debian to be at version 10.0.
However, that didn't solve the issue; apparently the SMA release on the
"Description:" line of output from "lsb_release -a" instead of the
"Release:" line. And changing the second VERSION_ID line in
"/usr/lib/os-release" doesn't change that "Description:" line.
However, I'm getting closer.
Looking again at "/usr/lib/os-release", I change this line:
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
to
PRETTY_NAME="Debian GNU/Linux 10.0 (buster)"
and voila! My SMA once again can see my Debian box. I'm not sure what
side effects will occur from changing this file (I changed the two
VERSION_ID lines back to what they were originally), but I'm guessing
that changing the "pretty name" is cosmetic only (unless other apps rely
on it like the SMA relies on it, pfft).
TL;DR
Change the "PRETTY_NAME" line in "/usr/lib/os-release" from "10" to "10.0".
--
Kent
Reply to: