I'm seeing the same problem on my Ubuntu 18.04 LTS installation. Curiously, I have two pretty much identical installations running, and one (at home) updated without any fuss, whereas the other (not at home) fails when checking for dnsutils.
I tried removing dnsutils and running the script again. The updated picked up the missing package, downloaded and installed it, then promptly failed again.
Here's my bash -x pihole -up output:
# bash -x pihole -up
+ readonly PI_HOLE_SCRIPT_DIR=/opt/pihole
+ PI_HOLE_SCRIPT_DIR=/opt/pihole
+ setupVars=/etc/pihole/setupVars.conf
+ PI_HOLE_BIN_DIR=/usr/local/bin
+ readonly colfile=/opt/pihole/COL_TABLE
+ colfile=/opt/pihole/COL_TABLE
+ source /opt/pihole/COL_TABLE
++ [[ -t 1 ]]
+++ tput colors
++ [[ 8 -ge 8 ]]
++ COL_BOLD=''
++ COL_ULINE=''
++ COL_NC=''
++ COL_GRAY=''
++ COL_RED=''
++ COL_GREEN=''
++ COL_YELLOW=''
++ COL_BLUE=''
++ COL_PURPLE=''
++ COL_CYAN=''
++ COL_WHITE=''
++ COL_BLACK=''
++ COL_LIGHT_BLUE=''
++ COL_LIGHT_GREEN=''
++ COL_LIGHT_CYAN=''
++ COL_LIGHT_RED=''
++ COL_URG_RED=''
++ COL_LIGHT_PURPLE=''
++ COL_BROWN=''
++ COL_LIGHT_GRAY=''
++ COL_DARK_GRAY=''
++ TICK='[✓]'
++ CROSS='[✗]'
++ INFO='[i]'
++ QST='[?]'
++ DONE=' done!'
++ OVER='\r'
+ resolver=pihole-FTL
+ [[ 1 = 0 ]]
+ case "${1}" in
+ [[ ! 1000 -eq 0 ]]
++ command -v sudo
+ [[ -x /usr/bin/sudo ]]
+ exec sudo bash pihole -up
[i] Checking for updates...
[i] Pi-hole Core: up to date
[i] Web Interface: up to date
[i] FTL: update available
[i] FTL out of date, it will be updated by the installer.
[✓] Root user check
.;;,.
.ccccc:,.
:cccclll:. ..,,
:ccccclll. ;ooodc
'ccll:;ll .oooodc
.;cll.;;looo:.
.. ','.
.',,,,,,'.
.',,,,,,,,,,.
.',,,,,,,,,,,,....
....''',,,,,,,'.......
......... .... .........
.......... ..........
.......... ..........
......... .... .........
........,,,,,,,'......
....',,,,,,,,,,,,.
.',,,,,,,,,'.
.',,,,,,'.
..'''.
[✓] Update local cache of available packages
[i] Existing PHP installation detected : PHP version 7.2.24-0ubuntu0.18.04.6
[i] Performing unattended setup, no whiptail dialogs will be displayed
[✓] Disk space check
[✓] Checking apt-get for upgraded packages... up to date!
[i] Installer Dependency checks...
[✓] Checking for dhcpcd5
[✓] Checking for git
[✓] Checking for iproute2
[✓] Checking for whiptail
[✓] Checking for dnsutils
Unable to complete update, please contact Pi-hole Support
Editing /etc/.pihole/automated install/basic-install.sh and setting "set -x" instead of "set -e" provides the following:
% pihole -up
+++ cat
++ DNS_SERVERS='Google (ECS);8.8.8.8;8.8.4.4;2001:4860:4860:0:0:0:0:8888;2001:4860:4860:0:0:0:0:8844
OpenDNS (ECS);208.67.222.222;208.67.220.220;2620:119:35::35;2620:119:53::53
Level3;4.2.2.1;4.2.2.2;;
Comodo;8.26.56.26;8.20.247.20;;
DNS.WATCH;84.200.69.80;84.200.70.40;2001:1608:10:25:0:0:1c04:b12f;2001:1608:10:25:0:0:9249:d69b
Quad9 (filtered, DNSSEC);9.9.9.9;149.112.112.112;2620:fe::fe;2620:fe::9
Quad9 (unfiltered, no DNSSEC);9.9.9.10;149.112.112.10;2620:fe::10;2620:fe::fe:10
Quad9 (filtered + ECS);9.9.9.11;149.112.112.11;2620:fe::11;
Cloudflare;1.1.1.1;1.0.0.1;2606:4700:4700::1111;2606:4700:4700::1001'
++ installLogLoc=/etc/pihole/install.log
++ setupVars=/etc/pihole/setupVars.conf
++ lighttpdConfig=/etc/lighttpd/lighttpd.conf
++ coltable=/opt/pihole/COL_TABLE
++ webroot=/var/www/html
++ webInterfaceGitUrl=https://github.com/pi-hole/AdminLTE.git
++ webInterfaceDir=/var/www/html/admin
++ piholeGitUrl=https://github.com/pi-hole/pi-hole.git
++ PI_HOLE_LOCAL_REPO=/etc/.pihole
++ PI_HOLE_FILES=(chronometer list piholeDebug piholeLogFlush setupLCD update version gravity uninstall webpage)
++ PI_HOLE_INSTALL_DIR=/opt/pihole
++ PI_HOLE_CONFIG_DIR=/etc/pihole
++ PI_HOLE_BIN_DIR=/usr/local/bin
++ PI_HOLE_BLOCKPAGE_DIR=/var/www/html/pihole
++ useUpdateVars=false
++ adlistFile=/etc/pihole/adlists.list
++ IPV4_ADDRESS=
++ IPV6_ADDRESS=
++ QUERY_LOGGING=true
++ INSTALL_WEB_INTERFACE=true
++ PRIVACY_LEVEL=0
++ '[' -z root ']'
++ '[' -t 0 ']'
+++ stty size
++ screen_size='74 100'
++ printf -v rows %d 74
++ printf -v columns %d 100
++ r=37
++ c=50
++ r=37
++ c=70
++ skipSpaceCheck=false
++ reconfigure=false
++ runUnattended=false
++ INSTALL_WEB_SERVER=true
++ [[ -f /opt/pihole/COL_TABLE ]]
++ source /opt/pihole/COL_TABLE
+++ [[ -t 1 ]]
++++ tput colors
+++ [[ 8 -ge 8 ]]
+++ COL_BOLD=''
+++ COL_ULINE=''
+++ COL_NC=''
+++ COL_GRAY=''
+++ COL_RED=''
+++ COL_GREEN=''
+++ COL_YELLOW=''
+++ COL_BLUE=''
+++ COL_PURPLE=''
+++ COL_CYAN=''
+++ COL_WHITE=''
+++ COL_BLACK=''
+++ COL_LIGHT_BLUE=''
+++ COL_LIGHT_GREEN=''
+++ COL_LIGHT_CYAN=''
+++ COL_LIGHT_RED=''
+++ COL_URG_RED=''
+++ COL_LIGHT_PURPLE=''
+++ COL_BROWN=''
+++ COL_LIGHT_GRAY=''
+++ COL_DARK_GRAY=''
+++ TICK='[✓]'
+++ CROSS='[✗]'
+++ INFO='[i]'
+++ QST='[?]'
+++ DONE=' done!'
+++ OVER='\r'
++ counter=0
++ [[ true != true ]]
+ source /opt/pihole/COL_TABLE
++ [[ -t 1 ]]
+++ tput colors
++ [[ 8 -ge 8 ]]
++ COL_BOLD=''
++ COL_ULINE=''
++ COL_NC=''
++ COL_GRAY=''
++ COL_RED=''
++ COL_GREEN=''
++ COL_YELLOW=''
++ COL_BLUE=''
++ COL_PURPLE=''
++ COL_CYAN=''
++ COL_WHITE=''
++ COL_BLACK=''
++ COL_LIGHT_BLUE=''
++ COL_LIGHT_GREEN=''
++ COL_LIGHT_CYAN=''
++ COL_LIGHT_RED=''
++ COL_URG_RED=''
++ COL_LIGHT_PURPLE=''
++ COL_BROWN=''
++ COL_LIGHT_GRAY=''
++ COL_DARK_GRAY=''
++ TICK='[✓]'
++ CROSS='[✗]'
++ INFO='[i]'
++ QST='[?]'
++ DONE=' done!'
++ OVER='\r'
+ [[ '' == \-\-\c\h\e\c\k\-\o\n\l\y ]]
+ main
+ local 'basicError=\n Unable to complete update, please contact Pi-hole Support'
+ local core_update
+ local web_update
+ local FTL_update
+ core_update=false
+ web_update=false
+ FTL_update=false
+ source /etc/pihole/setupVars.conf
++ PIHOLE_INTERFACE=eth0
++ IPV4_ADDRESS=10.11.1.195/24
++ IPV6_ADDRESS=
++ QUERY_LOGGING=true
++ INSTALL_WEB_SERVER=true
++ INSTALL_WEB_INTERFACE=true
++ LIGHTTPD_ENABLED=true
++ BLOCKING_ENABLED=true
++ WEBPASSWORD=3ec0e63459d98b7ac5ceda2a74cdb126d636f6eca307ecf7c2f2ea5d15a75ff5
++ DNSMASQ_LISTENING=single
++ PIHOLE_DNS_1=193.138.218.74#53
++ DNS_FQDN_REQUIRED=true
++ DNS_BOGUS_PRIV=true
++ DNSSEC=false
++ CONDITIONAL_FORWARDING=false
+ is_repo /etc/.pihole
+ local directory=/etc/.pihole
+ local rc
+ [[ -d /etc/.pihole ]]
+ pushd /etc/.pihole
+ git status --short
+ popd
+ return 0
+ echo -e ' [i] Checking for updates...'
[i] Checking for updates...
+ GitCheckUpdateAvail /etc/.pihole
+ local directory
+ directory=/etc/.pihole
+ curdir='/etc/.pihole/automated install'
+ cd /etc/.pihole
+ git fetch --quiet origin
++ git rev-parse '@{0}'
+ LOCAL=56cd7c4d59ceb629a2170cd1c8ab78ef26366019
++ git rev-parse '@{upstream}'
+ REMOTE=56cd7c4d59ceb629a2170cd1c8ab78ef26366019
+ [[ 40 == 0 ]]
+ [[ 40 == 0 ]]
+ cd '/etc/.pihole/automated install'
+ [[ 56cd7c4d59ceb629a2170cd1c8ab78ef26366019 != \5\6\c\d\7\c\4\d\5\9\c\e\b\6\2\9\a\2\1\7\0\c\d\1\c\8\a\b\7\8\e\f\2\6\3\6\6\0\1\9 ]]
+ return 1
+ core_update=false
+ echo -e ' [i] Pi-hole Core:\tup to date'
[i] Pi-hole Core: up to date
+ [[ true == true ]]
+ is_repo /var/www/html/admin
+ local directory=/var/www/html/admin
+ local rc
+ [[ -d /var/www/html/admin ]]
+ pushd /var/www/html/admin
+ git status --short
+ popd
+ return 0
+ GitCheckUpdateAvail /var/www/html/admin
+ local directory
+ directory=/var/www/html/admin
+ curdir='/etc/.pihole/automated install'
+ cd /var/www/html/admin
+ git fetch --quiet origin
++ git rev-parse '@{0}'
+ LOCAL=d8d3f316061ba60e0b1dfc6a11f6e917380aca5f
++ git rev-parse '@{upstream}'
+ REMOTE=d8d3f316061ba60e0b1dfc6a11f6e917380aca5f
+ [[ 40 == 0 ]]
+ [[ 40 == 0 ]]
+ cd '/etc/.pihole/automated install'
+ [[ d8d3f316061ba60e0b1dfc6a11f6e917380aca5f != \d\8\d\3\f\3\1\6\0\6\1\b\a\6\0\e\0\b\1\d\f\c\6\a\1\1\f\6\e\9\1\7\3\8\0\a\c\a\5\f ]]
+ return 1
+ web_update=false
+ echo -e ' [i] Web Interface:\tup to date'
[i] Web Interface: up to date
+ local funcOutput
++ get_binary_name
++ local machine
+++ uname -m
++ machine=x86_64
++ local l_binary
++ local 'str=Detecting architecture'
++ printf ' %b %s...' '[i]' 'Detecting architecture'
++ [[ x86_64 == \a\r\m* ]]
++ [[ x86_64 == *\a\a\r\c\h* ]]
++ [[ x86_64 == \x\8\6\_\6\4 ]]
++ local dpkgarch
+++ dpkg --print-architecture
++ dpkgarch=amd64
++ [[ amd64 == \i\3\8\6 ]]
++ printf '%b %b Detected x86_64 architecture\n' '\r' '[✓]'
++ l_binary=pihole-FTL-linux-x86_64
++ echo pihole-FTL-linux-x86_64
[✓] Detected x86_64 architecture
pihole-FTL-linux-x86_64'
+ local binary
+ binary=pihole-FTL-linux-x86_64
+ FTLcheckUpdate pihole-FTL-linux-x86_64
+ printf ' %b Checking for existing FTL binary...\n' '[i]'
+ local ftlLoc
++ which pihole-FTL
+ ftlLoc=/usr/bin/pihole-FTL
+ local ftlBranch
+ [[ -f /etc/pihole/ftlbranch ]]
+ ftlBranch=master
+ local binary
+ binary=pihole-FTL-linux-x86_64
+ local remoteSha1
+ local localSha1
+ which dnsmasq
+ check_service_active dnsmasq
+ is_command systemctl
+ local check_command=systemctl
+ command -v systemctl
+ systemctl is-enabled dnsmasq
+ [[ ! master == \m\a\s\t\e\r ]]
+ [[ -n /usr/bin/pihole-FTL ]]
+ local FTLversion
++ /usr/bin/pihole-FTL tag
+ FTLversion=v5.0
+ local FTLlatesttag
++ curl -sI https://github.com/pi-hole/FTL/releases/latest
++ grep --color=never -i Location
++ awk -F / '{print $NF}'
++ tr -d '[:cntrl:]'
+ FTLlatesttag=v5.1
+ [[ v5.0 != \v\5\.\1 ]]
+ return 0
+ FTL_update=true
+ echo -e ' [i] FTL:\t\tupdate available'
[i] FTL: update available
+ local ftlBranch
+ [[ -f /etc/pihole/ftlbranch ]]
+ ftlBranch=master
+ [[ ! master == \m\a\s\t\e\r ]]
+ [[ false == false ]]
+ [[ false == false ]]
+ [[ true == false ]]
+ [[ false == true ]]
+ [[ false == true ]]
+ [[ false == true ]]
+ [[ true == true ]]
+ echo ''
+ echo -e ' [i] FTL out of date, it will be updated by the installer.'
[i] FTL out of date, it will be updated by the installer.
+ [[ true == true ]]
+ '/etc/.pihole/automated install/basic-install.sh' --reconfigure --unattended
++ cat
+ DNS_SERVERS='Google (ECS);8.8.8.8;8.8.4.4;2001:4860:4860:0:0:0:0:8888;2001:4860:4860:0:0:0:0:8844
OpenDNS (ECS);208.67.222.222;208.67.220.220;2620:119:35::35;2620:119:53::53
Level3;4.2.2.1;4.2.2.2;;
Comodo;8.26.56.26;8.20.247.20;;
DNS.WATCH;84.200.69.80;84.200.70.40;2001:1608:10:25:0:0:1c04:b12f;2001:1608:10:25:0:0:9249:d69b
Quad9 (filtered, DNSSEC);9.9.9.9;149.112.112.112;2620:fe::fe;2620:fe::9
Quad9 (unfiltered, no DNSSEC);9.9.9.10;149.112.112.10;2620:fe::10;2620:fe::fe:10
Quad9 (filtered + ECS);9.9.9.11;149.112.112.11;2620:fe::11;
Cloudflare;1.1.1.1;1.0.0.1;2606:4700:4700::1111;2606:4700:4700::1001'
+ installLogLoc=/etc/pihole/install.log
+ setupVars=/etc/pihole/setupVars.conf
+ lighttpdConfig=/etc/lighttpd/lighttpd.conf
+ coltable=/opt/pihole/COL_TABLE
+ webroot=/var/www/html
+ webInterfaceGitUrl=https://github.com/pi-hole/AdminLTE.git
+ webInterfaceDir=/var/www/html/admin
+ piholeGitUrl=https://github.com/pi-hole/pi-hole.git
+ PI_HOLE_LOCAL_REPO=/etc/.pihole
+ PI_HOLE_FILES=(chronometer list piholeDebug piholeLogFlush setupLCD update version gravity uninstall webpage)
+ PI_HOLE_INSTALL_DIR=/opt/pihole
+ PI_HOLE_CONFIG_DIR=/etc/pihole
+ PI_HOLE_BIN_DIR=/usr/local/bin
+ PI_HOLE_BLOCKPAGE_DIR=/var/www/html/pihole
+ useUpdateVars=false
+ adlistFile=/etc/pihole/adlists.list
+ IPV4_ADDRESS=
+ IPV6_ADDRESS=
+ QUERY_LOGGING=true
+ INSTALL_WEB_INTERFACE=true
+ PRIVACY_LEVEL=0
+ '[' -z root ']'
+ '[' -t 0 ']'
++ stty size
+ screen_size='74 100'
+ printf -v rows %d 74
+ printf -v columns %d 100
+ r=37
+ c=50
+ r=37
+ c=70
+ skipSpaceCheck=false
+ reconfigure=false
+ runUnattended=false
+ INSTALL_WEB_SERVER=true
+ for var in "$@"
+ case "$var" in
+ reconfigure=true
+ for var in "$@"
+ case "$var" in
+ runUnattended=true
+ [[ -f /opt/pihole/COL_TABLE ]]
+ source /opt/pihole/COL_TABLE
++ [[ -t 1 ]]
+++ tput colors
++ [[ 8 -ge 8 ]]
++ COL_BOLD=''
++ COL_ULINE=''
++ COL_NC=''
++ COL_GRAY=''
++ COL_RED=''
++ COL_GREEN=''
++ COL_YELLOW=''
++ COL_BLUE=''
++ COL_PURPLE=''
++ COL_CYAN=''
++ COL_WHITE=''
++ COL_BLACK=''
++ COL_LIGHT_BLUE=''
++ COL_LIGHT_GREEN=''
++ COL_LIGHT_CYAN=''
++ COL_LIGHT_RED=''
++ COL_URG_RED=''
++ COL_LIGHT_PURPLE=''
++ COL_BROWN=''
++ COL_LIGHT_GRAY=''
++ COL_DARK_GRAY=''
++ TICK='[✓]'
++ CROSS='[✗]'
++ INFO='[i]'
++ QST='[?]'
++ DONE=' done!'
++ OVER='\r'
+ counter=0
+ [[ '' != true ]]
+ main --reconfigure --unattended
+ local 'str=Root user check'
+ printf '\n'
+ [[ 0 -eq 0 ]]
+ printf ' %b %s\n' '[✓]' 'Root user check'
[✓] Root user check
+ show_ascii_berry
+ echo -e '
.;;,.
.ccccc:,.
:cccclll:. ..,,
:ccccclll. ;ooodc
'\''ccll:;ll .oooodc
.;cll.;;looo:.
.. '\'','\''.
.'\'',,,,,,'\''.
.'\'',,,,,,,,,,.
.'\'',,,,,,,,,,,,....
....'\'''\'''\'',,,,,,,'\''.......
......... .... .........
.......... ..........
.......... ..........
......... .... .........
........,,,,,,,'\''......
....'\'',,,,,,,,,,,,.
.'\'',,,,,,,,,'\''.
.'\'',,,,,,'\''.
..'\'''\'''\''.
'
.;;,.
.ccccc:,.
:cccclll:. ..,,
:ccccclll. ;ooodc
'ccll:;ll .oooodc
.;cll.;;looo:.
.. ','.
.',,,,,,'.
.',,,,,,,,,,.
.',,,,,,,,,,,,....
....''',,,,,,,'.......
......... .... .........
.......... ..........
.......... ..........
......... .... .........
........,,,,,,,'......
....',,,,,,,,,,,,.
.',,,,,,,,,'.
.',,,,,,'.
..'''.
+ make_temporary_log
++ mktemp /tmp/pihole_temp.XXXXXX
+ TEMPLOG=/tmp/pihole_temp.DJAtuZ
+ exec
+ rm /tmp/pihole_temp.DJAtuZ
+ distro_check
+ is_command apt-get
+ local check_command=apt-get
+ command -v apt-get
+ PKG_MANAGER=apt-get
+ UPDATE_PKG_CACHE='apt-get update'
+ PKG_INSTALL=("${PKG_MANAGER}" -qq --no-install-recommends install)
+ PKG_COUNT='apt-get -s -o Debug::NoLocking=true upgrade | grep -c ^Inst || true'
+ APT_SOURCES=/etc/apt/sources.list
+ awk 'BEGIN{a=1;b=0}/bionic main/{a=0}/bionic.*universe/{b=1}END{exit a + b}' /etc/apt/sources.list
+ update_package_cache
+ local 'str=Update local cache of available packages'
+ printf ' %b %s...' '[i]' 'Update local cache of available packages'
[i] Update local cache of available packages...+ eval 'apt-get update'
+ printf '%b %b %s\n' '\r' '[✓]' 'Update local cache of available packages'
[✓] Update local cache of available packages
+ apt-cache show iproute2
+ iproute_pkg=iproute2
+ is_command php
+ local check_command=php
+ command -v php
++ php
+ printf ' %b Existing PHP installation detected : PHP version %s\n' '[i]' 7.2.24-0ubuntu0.18.04.6
[i] Existing PHP installation detected : PHP version 7.2.24-0ubuntu0.18.04.6
++ php
+ printf -v phpInsMajor %d 7
++ php
+ printf -v phpInsMinor %d 2
+ '[' 7 -ge 7 ']'
+ phpInsNewer=true
+ [[ true != true ]]
+ phpVer=php7.2
+ apt-cache show php7.2-sqlite3
+ phpSqlite=sqlite3
+ INSTALLER_DEPS=(dhcpcd5 git "${iproute_pkg}" whiptail dnsutils)
+ PIHOLE_DEPS=(cron curl iputils-ping lsof netcat psmisc sudo unzip wget idn2 sqlite3 libcap2-bin dns-root-data libcap2)
+ PIHOLE_WEB_DEPS=(lighttpd "${phpVer}-common" "${phpVer}-cgi" "${phpVer}-${phpSqlite}" "${phpVer}-xml" "${phpVer}-intl")
+ LIGHTTPD_USER=www-data
+ LIGHTTPD_GROUP=www-data
+ LIGHTTPD_CFG=lighttpd.conf.debian
+ [[ -f /etc/pihole/setupVars.conf ]]
+ [[ true == true ]]
+ printf ' %b Performing unattended setup, no whiptail dialogs will be displayed\n' '[i]'
[i] Performing unattended setup, no whiptail dialogs will be displayed
+ useUpdateVars=true
+ export DEBIAN_FRONTEND=noninteractive
+ DEBIAN_FRONTEND=noninteractive
+ [[ false == true ]]
+ verifyFreeDiskSpace
+ local 'str=Disk space check'
+ local required_free_kilobytes=51200
+ local existing_free_kilobytes
++ df -Pk
++ grep -m1 '\/$'
++ awk '{print $4}'
+ existing_free_kilobytes=119447564
+ [[ 119447564 =~ ^([0-9])+$ ]]
+ [[ 119447564 -lt 51200 ]]
+ printf ' %b %s\n' '[✓]' 'Disk space check'
[✓] Disk space check
+ notify_package_updates_available
+ local 'str=Checking apt-get for upgraded packages'
+ printf '\n %b %s...' '[i]' 'Checking apt-get for upgraded packages'
[i] Checking apt-get for upgraded packages...++ eval 'apt-get -s -o Debug::NoLocking=true upgrade | grep -c ^Inst || true'
+++ apt-get -s -o Debug::NoLocking=true upgrade
+++ grep -c '^Inst'
+++ true
+ updatesToInstall=0
++ uname -r
+ [[ -d /lib/modules/5.3.0-51-generic ]]
+ [[ 0 -eq 0 ]]
+ printf '%b %b %s... up to date!\n\n' '\r' '[✓]' 'Checking apt-get for upgraded packages'
[✓] Checking apt-get for upgraded packages... up to date!
+ install_dependent_packages dhcpcd5 git iproute2 whiptail dnsutils
+ counter=1
+ [[ 1 == 1 ]]
+ printf ' %b Installer Dependency checks...\n' '[i]'
[i] Installer Dependency checks...
+ declare -a installArray
+ is_command apt-get
+ local check_command=apt-get
+ command -v apt-get
+ for i in "$@"
+ printf ' %b Checking for %s...' '[i]' dhcpcd5
[i] Checking for dhcpcd5...+ dpkg-query -W '-f=${Status}' dhcpcd5
+ grep 'ok installed'
+ printf '%b %b Checking for %s\n' '\r' '[✓]' dhcpcd5
[✓] Checking for dhcpcd5
+ for i in "$@"
+ printf ' %b Checking for %s...' '[i]' git
[i] Checking for git...+ grep 'ok installed'
+ dpkg-query -W '-f=${Status}' git
+ printf '%b %b Checking for %s\n' '\r' '[✓]' git
[✓] Checking for git
+ for i in "$@"
+ printf ' %b Checking for %s...' '[i]' iproute2
[i] Checking for iproute2...+ grep 'ok installed'
+ dpkg-query -W '-f=${Status}' iproute2
+ printf '%b %b Checking for %s\n' '\r' '[✓]' iproute2
[✓] Checking for iproute2
+ for i in "$@"
+ printf ' %b Checking for %s...' '[i]' whiptail
[i] Checking for whiptail...+ grep 'ok installed'
+ dpkg-query -W '-f=${Status}' whiptail
+ printf '%b %b Checking for %s\n' '\r' '[✓]' whiptail
[✓] Checking for whiptail
+ for i in "$@"
+ printf ' %b Checking for %s...' '[i]' dnsutils
[i] Checking for dnsutils...+ dpkg-query -W '-f=${Status}' dnsutils
+ grep 'ok installed'
+ printf '%b %b Checking for %s\n' '\r' '[✓]' dnsutils
[✓] Checking for dnsutils
+ [[ 0 -gt 0 ]]
+ printf '\n'
+ return 0
+ os_check
+ local remote_os_domain valid_os valid_version detected_os_pretty detected_os detected_version display_warning
+ remote_os_domain=versions.pi-hole.net
+ valid_os=false
+ valid_version=false
+ display_warning=true
++ cat /etc/lsb-release /etc/os-release
++ tr -d '"'
++ grep PRETTY_NAME
++ cut -d = -f2-
+ detected_os_pretty='Ubuntu 18.04.4 LTS'
+ detected_os=Ubuntu
++ cat /etc/lsb-release /etc/os-release
++ grep VERSION_ID
++ cut -d = -f2-
++ tr -d '"'
+ detected_version=18.04
+ IFS=' '
+ read -r -a supportedOS
++ dig +short -t txt versions.pi-hole.net
++ tr -d '"'
+ '[' false = true ']'
+ '[' true = true ']'
+ '[' '' '!=' true ']'
+ printf ' %b %bUnsupported OS detected%b\n' '[✗]' '' ''
[✗] Unsupported OS detected
+ printf ' https://docs.pi-hole.net/main/prerequesites/#supported-operating-systems\n'
https://docs.pi-hole.net/main/prerequesites/#supported-operating-systems
+ printf '\n'
+ printf ' This check can be skipped by setting the environment variable %bPIHOLE_SKIP_OS_CHECK%b to %btrue%b\n' '' '' '' ''
This check can be skipped by setting the environment variable PIHOLE_SKIP_OS_CHECK to true
+ printf ' e.g: export PIHOLE_SKIP_OS_CHECK=true\n'
e.g: export PIHOLE_SKIP_OS_CHECK=true
+ printf ' By setting this variable to true you acknowledge there may be issues with Pi-hole during or after the install\n'
By setting this variable to true you acknowledge there may be issues with Pi-hole during or after the install
+ printf ' If that is the case, you can feel free to ask the community on Discourse with the %bCommunity Help%b category:\n' '' ''
If that is the case, you can feel free to ask the community on Discourse with the Community Help category:
+ printf ' https://discourse.pi-hole.net/c/bugs-problems-issues/community-help/\n'
https://discourse.pi-hole.net/c/bugs-problems-issues/community-help/
+ exit 1
+ echo -e '\n Unable to complete update, please contact Pi-hole Support'
Unable to complete update, please contact Pi-hole Support
+ exit 1
This seems to indicate that my version of Ubuntu is unsupported, which is clearly wrong. Setting PIHOLE_SKIP_OS_CHECK=true and running pihole -up again doesn't work either:
% PIHOLE_SKIP_OS_CHECK=true pihole -up
[i] Checking for updates...
[i] Pi-hole Core: up to date
[i] Web Interface: up to date
[i] FTL: update available
[i] FTL out of date, it will be updated by the installer.
[✓] Root user check
.;;,.
.ccccc:,.
:cccclll:. ..,,
:ccccclll. ;ooodc
'ccll:;ll .oooodc
.;cll.;;looo:.
.. ','.
.',,,,,,'.
.',,,,,,,,,,.
.',,,,,,,,,,,,....
....''',,,,,,,'.......
......... .... .........
.......... ..........
.......... ..........
......... .... .........
........,,,,,,,'......
....',,,,,,,,,,,,.
.',,,,,,,,,'.
.',,,,,,'.
..'''.
[✓] Update local cache of available packages
[i] Existing PHP installation detected : PHP version 7.2.24-0ubuntu0.18.04.6
[i] Performing unattended setup, no whiptail dialogs will be displayed
[✓] Disk space check
[✓] Checking apt-get for upgraded packages... up to date!
[i] Installer Dependency checks...
[✓] Checking for dhcpcd5
[✓] Checking for git
[✓] Checking for iproute2
[✓] Checking for whiptail
[✓] Checking for dnsutils
Any insight? Any logs I can check or further debug symbols to turn on?