Os-release Debian 11

I just cloned the install er, and I am running it on Debian bookworm/sid
lsb_release -a gives:

No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux bookworm/sid
Release:        11
Codename:       bookworm

/etc/os-release does not have VERSION_ID in it:

PRETTY_NAME="Debian GNU/Linux bookworm/sid"
NAME="Debian GNU/Linux"

I could define PIHOLE_SKIP_OS_CHECK and the installer proceeds.
also, adding VERSION_ID="11" into os-release allows the installer to proceed.

However both ways, the installer locks-up or freezes at the first whiptail (This install er will transform...")

I am having a look, but perhaps someone else has been here before me?

My ssh was too small perhaps?
I see


Thanks for the report. We have heard of this before, but did not investigate further:

I created a github issue to track the bug.

@MichaIng This may be of interest to you since the terminal size was part of your investigations earlier.

1 Like

Thanks for the info. Interesting, I have quite some Bookworm systems, even 2 production servers here, and haven't faced any issues with whiptail yet.

I'll just try it in general and then with the Pi-hole installer in particular, after lastest apt full-upgrade: Interesting, the regular message box works:

whiptail --msgbox test 20 70

The DietPi wrapper works:


Running the DietPi installer however does not work:

curl -sSL https://install.pi-hole.net | PIHOLE_SKIP_OS_CHECK=true sudo -E bash

I have such a guess that it is due to STDIN being overwritten by the pipe (just verified this being the issue, indeed), similar how stty size cannot work when being called from a bash shell with a pipe, and why the idea came up to switch to static 70x20 whiptail dimensions in the Pi-hole installer, as with the pipe, terminal dimensions cannot be obtained anyway: Hardcode whiptail dimensions to 20 rows and 70 chars width by MichaIng · Pull Request #4229 · pi-hole/pi-hole · GitHub

Now whiptail seems to suffer from a similar issue. Probably there is a workaround possible to bind STDIN of the whiptail calls again to the actual input console, but otherwise the installer instead can be called like this, avoiding the pipe:

bash -c "$(curl -sSL https://install.pi-hole.net)"

respectively including sudo and skipping the OS check on Bookworm:

sudo PIHOLE_SKIP_OS_CHECK=true bash -c "$(curl -sSL https://install.pi-hole.net)"

EDIT: I'm actually wondering what caused this change. There was no upstream release but only a Debian build update since Bullseye: https://metadata.ftp-master.debian.org/changelogs//main/n/newt/newt_0.52.21-5_changelog

newt (0.52.21-5) unstable; urgency=medium

  * Standards-Version: 4.6.0
  * Use debhelper-compat 13
  * Use dh-sequence-python3 instead of --with python3, dh-python
  * Point Vcs-Git to debian/latest branch for DEP-14
  * Add d/gbp.conf to point to DEP-14 branches
  * Drop custom 'xz' compression d/source/options
  * Change stage1 build profile to nopython. Closes: #949721
  * B-D on python3-all-dbg
  * python.patch: Drop refs to obsolete pyversions

 -- Alastair McKinstry <mckinstry@debian.org>  Tue, 07 Sep 2021 10:59:05 +0100

Interesting, this is only an issue when using sudo:

# works
echo 'whiptail --msgbox test 20 80' | bash
# does not work
echo 'whiptail --msgbox test 20 80' | sudo bash

So probably something changed in sudo. On the other hand dialog still works:

echo 'dialog --msgbox test 20 80' | sudo bash

EDIT: Reported to Debian bug tracker, along with further tests and findings: #1010059 - whiptail doesn't react to input in sudo shell pipe since Bookworm - Debian Bug report logs

1 Like

Happy to change whiptail to dialog and get back to ncurses. We used whip as it was something that 'worked' and didn't need a lot of configuration. Dialog would allow some better features (maybe freeform entry of custom DNS since you can do multiple entries in one dialog screen).

Might have to add dialog as an installer dependency? Not sure if dialog is included in the base images of the distros that replaced it with whiptail.

Since the CLI is compatible, it should be easy to switch. But it doesn't solve all potential issues, since e.g. debconf prefers whiptail over dialog, so package installs can cause the hang, out of your control, unless debconf is actively suppressed via DEBIAN_FRONTEND=noninteractive, or by forcing pure shell text questions via DEBIAN_FRONTEND=readline.
DEBIAN_FRONTEND=dialog sadly means "whiptail or dialog" :confused:.

When switching to dialog, it should definitely be added as installer dependency. It isn't an "essential" package in any distro.

However, let's see what the Debian maintainer comes up with. I hope there will be some reaction soon, reports from the last two years remained unanswered :frowning_face:.

There is the "Custom" option currently, which allows entering multiple custom comma-separated DNS providers. Or do I misunderstand?

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.