PiHole funktioniert nicht mehr nach Update

So, jetzt habe ich mal die schmutzige Lösung versucht. Jetzt wirds spannend.
Hier der Output:

root@DietPi:~# pihole -g -r
/opt/pihole/gravity.sh: line 21: /etc/.pihole/advanced/Scripts/database_migration/gravity-db.sh: No such file or directory
[i] Restoring from migration backup...cp: cannot stat 'migration_backup/*': No such file or directory
  [✓] Restoring from migration backup
  [i] Creating new gravity database
/opt/pihole/gravity.sh: line 85: /etc/.pihole/advanced/Templates/gravity.db.sql: No such file or directory
/opt/pihole/gravity.sh: line 221: upgrade_gravityDB: command not found
  [i] Migrating content of /etc/pihole/adlists.list into new database

  [✗] Unable to fill table adlist in database /etc/pihole/gravity.db
  CREATE TABLE adlist(...) failed: duplicate column name: 1
  [✓] Cleaning up stray matter
  [✓] DNS service is running
  [✓] Pi-hole blocking is Enabled
root@DietPi:~# 

Okay da scheint mehr zu fehlen, e.g. https://github.com/pi-hole/pi-hole/tree/master/advanced/Templates sollte definitiv da sein. ls -Al /opt/pihole /etc/.pihole mit kleinem "l" zeigt übrigens die Dateien in einer Liste an, sodass man Größe, Erstellungs/Änderungsdatum etc auch sehen kann. Aber aufgrund der Fehlermeldungen können wir recht sicher sein, dass das Update nicht vollständig durch lief oder Schritte übersprungen wurden.

Versuch mal:

# Verhindern dass der Installer wieder PHP7.4 installiert:
sed -i 's/INSTALL_WEB_SERVER=true/INSTALL_WEB_SERVER=false/' /etc/pihole/setupVars.conf
# Vollständige Befehlsausgabe im Installer aktivieren:
sed -i '/^set -e/a\set -x' '/etc/.pihole/automated install/basic-install.sh'
# Reparatur durchführen:
pihole -r

OK, habe ich so gemacht. MIt folgender Ausgabe:

+ printf '%b  %b %s\n' '\r' '[✗]' 'Downloading and Installing FTL'
  [✗] Downloading and Installing FTL
+ printf '  %bError: Unable to get latest release location from GitHub%b\n' '' ''
  Error: Unable to get latest release location from GitHub
+ return 1
+ return 1
+ printf '  %b FTL Engine not installed\n' '[✗]'
  [✗] FTL Engine not installed
+ exit 1

Kannst du ein paar mehr Zeilen vor dem Ende zeigen? FTL installation ist in der Tat fehlgeschlagen, aber man sieht nicht mehr woran es liegt.

aber klar. Hier ist die komplette Ausgabe:

[i] Existing PHP installation detected : PHP version 7.3.18-1+0~20200514.58+debian9~1.gbp12fa4f
  [i] Repair option selected
  [✓] Disk space check
  [✓] Update local cache of available packages

  [✓] Checking apt-get for upgraded packages... 14 updates available
  [i] It is recommended to update your OS after installing the Pi-hole!

  [i] Installer Dependency checks...
  [✓] Checking for apt-utils
  [✓] Checking for dialog
  [✓] Checking for debconf
  [✓] Checking for dhcpcd5
  [✓] Checking for git
  [✓] Checking for iproute2
  [✓] Checking for whiptail

  [i] Performing reconfiguration, skipping download of local repos
  [✓] Resetting repository within /etc/.pihole...
  [✓] Resetting repository within /var/www/html/admin...
  [i] Main Dependency checks...
  [✓] Checking for cron
  [✓] Checking for curl
  [✓] Checking for dnsutils
  [✓] Checking for iputils-ping
  [✓] Checking for lsof
  [✓] Checking for netcat
  [✓] Checking for psmisc
  [✓] Checking for sudo
  [✓] Checking for unzip
  [✓] Checking for wget
  [✓] Checking for idn2
  [✓] Checking for sqlite3
  [✓] Checking for libcap2-bin
  [✓] Checking for dns-root-data
  [✓] Checking for resolvconf
  [✓] Checking for libcap2


  [i] FTL Checks...

  [✓] Detected x86_64 architecture
  [i] Checking for existing FTL binary...
  [✗] Downloading and Installing FTL
  Error: Unable to get latest release location from GitHub
  [✗] FTL Engine not installed

Wir haben hier in den letzten Tagen mehrere Iterationen und manuelle Anpassungsversuche durchlaufen.

Es wäre vielleicht klüger, einen Neuanfang samt neuen OS zu starten. Wenn das immer noch zu Fehlern führt, dann können wir uns an diese von einer besser bekannten Ausgangslage herantasten.

Wäre das eine Option, oder betreibst Du noch weitere Dienste auf demselben Rechner wie Pi-Hole, die zu schwierig nachzubauen wären?

Das ist natürlich die - letzte - option. Ich habe auch schon versucht PiHole zu deinstalieren und neu zu installieren. Das hat leider nicht geklappt. Möglicherweise aber auch wegen der zwei PHP-Versionen.
Ich versuche es jetzt nochmal mit de- und Installation. Wenn das nicht klappt, hast Du recht, macht eine Neuinstallation Sinn...

Die vorherige Reparatur hat den flag für die volle Befehlsausgabe wieder entfernt. Wenn du es noch mal probieren möchtest:

sed -i '/^set -e/a\set -x' '/etc/.pihole/automated install/basic-install.sh'
pihole -r

Und am besten die vollständige Ausgabe hier posten.

gerne probieren wir es noch mal. Hier die vollständige Ausgabe:

root@DietPi:~# sed -i '/^set -e/a\set -x' '/etc/.pihole/automated install/basic-install.sh'
root@DietPi:~# pihole -r
++ 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
+ regexFile=/etc/pihole/regex.list
+ IPV4_ADDRESS=
+ IPV6_ADDRESS=
+ QUERY_LOGGING=true
+ INSTALL_WEB_INTERFACE=true
+ PRIVACY_LEVEL=0
+ '[' -z root ']'
+ '[' -t 0 ']'
++ stty size
+ screen_size='39 137'
+ printf -v rows %d 39
+ printf -v columns %d 137
+ r=19
+ c=68
+ r=20
+ c=70
+ skipSpaceCheck=false
+ reconfigure=false
+ runUnattended=false
+ INSTALL_WEB_SERVER=true
+ for var in "$@"
+ case "$var" in
+ reconfigure=true
+ [[ -f /opt/pihole/COL_TABLE ]]
+ source /opt/pihole/COL_TABLE
++ [[ -t 1 ]]
+++ tput colors
++ [[ 256 -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'
+ binary=tbd
+ counter=0
+ [[ '' != true ]]
+ main --reconfigure
+ 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.1qRLAu
+ exec
+ rm /tmp/pihole_temp.1qRLAu
+ 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} --yes --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
+ apt-get install --dry-run 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.3.18-1+0~20200514.58+debian9~1.gbp12fa4f
  [i] Existing PHP installation detected : PHP version 7.3.18-1+0~20200514.58+debian9~1.gbp12fa4f
++ php
+ printf -v phpInsMajor %d 7
++ php
+ printf -v phpInsMinor %d 3
+ '[' 7 -ge 7 ']'
+ phpInsNewer=true
+ [[ true != true ]]
+ phpVer=php7.3
+ apt-get install --dry-run php7.3-sqlite3
+ phpSqlite=sqlite3
+ INSTALLER_DEPS=(apt-utils dialog debconf dhcpcd5 git ${iproute_pkg} whiptail)
+ PIHOLE_DEPS=(cron curl dnsutils iputils-ping lsof netcat psmisc sudo unzip wget idn2 sqlite3 libcap2-bin dns-root-data resolvconf libcap2)
+ PIHOLE_WEB_DEPS=(lighttpd ${phpVer}-common ${phpVer}-cgi ${phpVer}-${phpSqlite})
+ LIGHTTPD_USER=www-data
+ LIGHTTPD_GROUP=www-data
+ LIGHTTPD_CFG=lighttpd.conf.debian
+ [[ -f /etc/pihole/setupVars.conf ]]
+ [[ false == true ]]
+ update_dialogs
+ [[ true = true ]]
+ opt1a=Repair
+ opt1b='This will retain existing settings'
+ strAdd='You will remain on the same version'
+ opt2a=Reconfigure
+ opt2b='This will reset your Pi-hole and allow you to enter new settings.'
++ whiptail --title 'Existing Install Detected!' --menu '\n\nWe have detected an existing install.\n\nPlease choose from the following options: \n(You will remain on the same version)' 20 70 2 Repair 'This will retain existing settings' Reconfigure 'This will reset your Pi-hole and allow you to enter new settings.'
+ UpdateCmd=Repair
+ case ${UpdateCmd} in
+ printf '  %b %s option selected\n' '[i]' Repair
  [i] Repair option selected
+ useUpdateVars=true
+ [[ false == true ]]
+ verifyFreeDiskSpace
+ local 'str=Disk space check'
+ local required_free_kilobytes=51200
+ local existing_free_kilobytes
++ grep -m1 '\/$'
++ awk '{print $4}'
++ df -Pk
+ existing_free_kilobytes=3957168
+ [[ 3957168 =~ ^([0-9])+$ ]]
+ [[ 3957168 -lt 51200 ]]
+ printf '  %b %s\n' '[✓]' 'Disk space check'
  [✓] Disk space check
+ 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
+ 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'
+++ grep -c '^Inst'
+++ apt-get -s -o Debug::NoLocking=true upgrade
+ updatesToInstall=15
++ uname -r
+ [[ -d /lib/modules/4.9.0-12-amd64 ]]
+ [[ 15 -eq 0 ]]
+ printf '%b  %b %s... %s updates available\n' '\r' '[✓]' 'Checking apt-get for upgraded packages' 15
  [✓] Checking apt-get for upgraded packages... 15 updates available
+ printf '  %b %bIt is recommended to update your OS after installing the Pi-hole!%b\n\n' '[i]' '' ''
  [i] It is recommended to update your OS after installing the Pi-hole!

+ install_dependent_packages apt-utils dialog debconf dhcpcd5 git iproute2 whiptail
+ counter=1
+ [[ 1 == 1 ]]
+ printf '  %b Installer Dependency checks...\n' '[i]'
  [i] Installer Dependency checks...
+ declare -a installArray
+ is_command debconf-apt-progress
+ local check_command=debconf-apt-progress
+ command -v debconf-apt-progress
+ for i in "$@"
+ printf '  %b Checking for %s...' '[i]' apt-utils
  [i] Checking for apt-utils...+ grep 'ok installed'
+ dpkg-query -W '-f=${Status}' apt-utils
+ printf '%b  %b Checking for %s\n' '\r' '[✓]' apt-utils
  [✓] Checking for apt-utils
+ for i in "$@"
+ printf '  %b Checking for %s...' '[i]' dialog
  [i] Checking for dialog...+ grep 'ok installed'
+ dpkg-query -W '-f=${Status}' dialog
+ printf '%b  %b Checking for %s\n' '\r' '[✓]' dialog
  [✓] Checking for dialog
+ for i in "$@"
+ printf '  %b Checking for %s...' '[i]' debconf
  [i] Checking for debconf...+ dpkg-query -W '-f=${Status}' debconf
+ grep 'ok installed'
+ printf '%b  %b Checking for %s\n' '\r' '[✓]' debconf
  [✓] Checking for debconf
+ 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...+ dpkg-query -W '-f=${Status}' git
+ grep 'ok installed'
+ 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
+ [[ 0 -gt 0 ]]
+ printf '\n'

+ return 0
+ checkSelinux
+ is_command getenforce
+ local check_command=getenforce
+ command -v getenforce
+ [[ true == false ]]
+ installDefaultBlocklists
+ [[ -f /etc/pihole/adlists.list ]]
+ return
+ source /etc/pihole/setupVars.conf
++ WEBPASSWORD=d9e7195b0addd870f836c6d89f957a68293e539573527dff4104d5897ae4c813
++ DNSMASQ_LISTENING=single
++ PIHOLE_DNS_3=77.109.148.136#53
++ PIHOLE_DNS_4=213.73.91.35#53
++ DNS_FQDN_REQUIRED=true
++ DNS_BOGUS_PRIV=true
++ DNSSEC=false
++ CONDITIONAL_FORWARDING=true
++ CONDITIONAL_FORWARDING_IP=172.17.1.1
++ CONDITIONAL_FORWARDING_DOMAIN=fritz.box
++ CONDITIONAL_FORWARDING_REVERSE=1.17.172.in-addr.arpa
++ PIHOLE_INTERFACE=eth0
++ IPV4_ADDRESS=200.200.200.88/24
++ IPV6_ADDRESS=
++ PIHOLE_DNS_1=84.200.69.80
++ PIHOLE_DNS_2=84.200.70.40
++ QUERY_LOGGING=false
++ INSTALL_WEB_SERVER=true
++ INSTALL_WEB_INTERFACE=true
++ LIGHTTPD_ENABLED=true
++ BLOCKING_ENABLED=true
+ [[ -f /etc/pihole/pihole-FTL.conf ]]
++ sed -ne 's/PRIVACYLEVEL=\(.*\)/\1/p' /etc/pihole/pihole-FTL.conf
+ PRIVACY_LEVEL=0
+ PRIVACY_LEVEL=0
+ clone_or_update_repos
+ [[ true == true ]]
+ printf '  %b Performing reconfiguration, skipping download of local repos\n' '[i]'
  [i] Performing reconfiguration, skipping download of local repos
+ resetRepo /etc/.pihole
+ local directory=/etc/.pihole
+ cd /etc/.pihole
+ str='Resetting repository within /etc/.pihole...'
+ printf '  %b %s...' '[i]' 'Resetting repository within /etc/.pihole...'
  [i] Resetting repository within /etc/.pihole......+ git reset --hard
+ printf '%b  %b %s\n' '\r' '[✓]' 'Resetting repository within /etc/.pihole...'
  [✓] Resetting repository within /etc/.pihole...
+ return 0
+ [[ true == true ]]
+ resetRepo /var/www/html/admin
+ local directory=/var/www/html/admin
+ cd /var/www/html/admin
+ str='Resetting repository within /var/www/html/admin...'
+ printf '  %b %s...' '[i]' 'Resetting repository within /var/www/html/admin...'
  [i] Resetting repository within /var/www/html/admin......+ git reset --hard
+ printf '%b  %b %s\n' '\r' '[✓]' 'Resetting repository within /var/www/html/admin...'
  [✓] Resetting repository within /var/www/html/admin...
+ return 0
+ dep_install_list=("${PIHOLE_DEPS[@]}")
+ local dep_install_list
+ [[ true == true ]]
+ dep_install_list+=("${PIHOLE_WEB_DEPS[@]}")
+ install_dependent_packages cron curl dnsutils iputils-ping lsof netcat psmisc sudo unzip wget idn2 sqlite3 libcap2-bin dns-root-data resolvconf libcap2 lighttpd php7.3-common php7.3-cgi php7.3-sqlite3
+ counter=2
+ [[ 2 == 1 ]]
+ printf '  %b Main Dependency checks...\n' '[i]'
  [i] Main Dependency checks...
+ declare -a installArray
+ is_command debconf-apt-progress
+ local check_command=debconf-apt-progress
+ command -v debconf-apt-progress
+ for i in "$@"
+ printf '  %b Checking for %s...' '[i]' cron
  [i] Checking for cron...+ grep 'ok installed'
+ dpkg-query -W '-f=${Status}' cron
+ printf '%b  %b Checking for %s\n' '\r' '[✓]' cron
  [✓] Checking for cron
+ for i in "$@"
+ printf '  %b Checking for %s...' '[i]' curl
  [i] Checking for curl...+ grep 'ok installed'
+ dpkg-query -W '-f=${Status}' curl
+ printf '%b  %b Checking for %s\n' '\r' '[✓]' curl
  [✓] Checking for curl
+ 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
+ for i in "$@"
+ printf '  %b Checking for %s...' '[i]' iputils-ping
  [i] Checking for iputils-ping...+ grep 'ok installed'
+ dpkg-query -W '-f=${Status}' iputils-ping
+ printf '%b  %b Checking for %s\n' '\r' '[✓]' iputils-ping
  [✓] Checking for iputils-ping
+ for i in "$@"
+ printf '  %b Checking for %s...' '[i]' lsof
  [i] Checking for lsof...+ grep 'ok installed'
+ dpkg-query -W '-f=${Status}' lsof
+ printf '%b  %b Checking for %s\n' '\r' '[✓]' lsof
  [✓] Checking for lsof
+ for i in "$@"
+ printf '  %b Checking for %s...' '[i]' netcat
  [i] Checking for netcat...+ grep 'ok installed'
+ dpkg-query -W '-f=${Status}' netcat
+ printf '%b  %b Checking for %s\n' '\r' '[✓]' netcat
  [✓] Checking for netcat
+ for i in "$@"
+ printf '  %b Checking for %s...' '[i]' psmisc
  [i] Checking for psmisc...+ grep 'ok installed'
+ dpkg-query -W '-f=${Status}' psmisc
+ printf '%b  %b Checking for %s\n' '\r' '[✓]' psmisc
  [✓] Checking for psmisc
+ for i in "$@"
+ printf '  %b Checking for %s...' '[i]' sudo
  [i] Checking for sudo...+ grep 'ok installed'
+ dpkg-query -W '-f=${Status}' sudo
+ printf '%b  %b Checking for %s\n' '\r' '[✓]' sudo
  [✓] Checking for sudo
+ for i in "$@"
+ printf '  %b Checking for %s...' '[i]' unzip
  [i] Checking for unzip...+ dpkg-query -W '-f=${Status}' unzip
+ grep 'ok installed'
+ printf '%b  %b Checking for %s\n' '\r' '[✓]' unzip
  [✓] Checking for unzip
+ for i in "$@"
+ printf '  %b Checking for %s...' '[i]' wget
  [i] Checking for wget...+ grep 'ok installed'
+ dpkg-query -W '-f=${Status}' wget
+ printf '%b  %b Checking for %s\n' '\r' '[✓]' wget
  [✓] Checking for wget
+ for i in "$@"
+ printf '  %b Checking for %s...' '[i]' idn2
  [i] Checking for idn2...+ dpkg-query -W '-f=${Status}' idn2
+ grep 'ok installed'
+ printf '%b  %b Checking for %s\n' '\r' '[✓]' idn2
  [✓] Checking for idn2
+ for i in "$@"
+ printf '  %b Checking for %s...' '[i]' sqlite3
  [i] Checking for sqlite3...+ dpkg-query -W '-f=${Status}' sqlite3
+ grep 'ok installed'
+ printf '%b  %b Checking for %s\n' '\r' '[✓]' sqlite3
  [✓] Checking for sqlite3
+ for i in "$@"
+ printf '  %b Checking for %s...' '[i]' libcap2-bin
  [i] Checking for libcap2-bin...+ dpkg-query -W '-f=${Status}' libcap2-bin
+ grep 'ok installed'
+ printf '%b  %b Checking for %s\n' '\r' '[✓]' libcap2-bin
  [✓] Checking for libcap2-bin
+ for i in "$@"
+ printf '  %b Checking for %s...' '[i]' dns-root-data
  [i] Checking for dns-root-data...+ dpkg-query -W '-f=${Status}' dns-root-data
+ grep 'ok installed'
+ printf '%b  %b Checking for %s\n' '\r' '[✓]' dns-root-data
  [✓] Checking for dns-root-data
+ for i in "$@"
+ printf '  %b Checking for %s...' '[i]' resolvconf
  [i] Checking for resolvconf...+ grep 'ok installed'
+ dpkg-query -W '-f=${Status}' resolvconf
+ printf '%b  %b Checking for %s\n' '\r' '[✓]' resolvconf
  [✓] Checking for resolvconf
+ for i in "$@"
+ printf '  %b Checking for %s...' '[i]' libcap2
  [i] Checking for libcap2...+ grep 'ok installed'
+ dpkg-query -W '-f=${Status}' libcap2
+ printf '%b  %b Checking for %s\n' '\r' '[✓]' libcap2
  [✓] Checking for libcap2
+ for i in "$@"
+ printf '  %b Checking for %s...' '[i]' lighttpd
  [i] Checking for lighttpd...+ grep 'ok installed'
+ dpkg-query -W '-f=${Status}' lighttpd
+ printf '%b  %b Checking for %s\n' '\r' '[✓]' lighttpd
  [✓] Checking for lighttpd
+ for i in "$@"
+ printf '  %b Checking for %s...' '[i]' php7.3-common
  [i] Checking for php7.3-common...+ grep 'ok installed'
+ dpkg-query -W '-f=${Status}' php7.3-common
+ printf '%b  %b Checking for %s\n' '\r' '[✓]' php7.3-common
  [✓] Checking for php7.3-common
+ for i in "$@"
+ printf '  %b Checking for %s...' '[i]' php7.3-cgi
  [i] Checking for php7.3-cgi...+ dpkg-query -W '-f=${Status}' php7.3-cgi
+ grep 'ok installed'
+ printf '%b  %b Checking for %s\n' '\r' '[✓]' php7.3-cgi
  [✓] Checking for php7.3-cgi
+ for i in "$@"
+ printf '  %b Checking for %s...' '[i]' php7.3-sqlite3
  [i] Checking for php7.3-sqlite3...+ dpkg-query -W '-f=${Status}' php7.3-sqlite3
+ grep 'ok installed'
+ echo -e '\r  [i] Checking for php7.3-sqlite3 (will be installed)'
  [i] Checking for php7.3-sqlite3 (will be installed)
+ installArray+=("${i}")
+ [[ 1 -gt 0 ]]
+ test_dpkg_lock
+ i=0
+ fuser /var/lib/dpkg/lock
+ return 0
+ debconf-apt-progress -- apt-get --yes --no-install-recommends install php7.3-sqlite3

Ah das debconf-apt-progress Problem. Das führt bei einigen zum Abbruch, bei mir bsw beim installieren von resolvconf, keine Ahnung wieso ausgerechnet bei dem Paket und bei dir bei php7.3-sqlite3.

Installier das Paket mal vorher manuell:

apt install php7.3-sqlite3
pihole -up

Es zeigt ausserdem daas das Update nie richtig durch gelaufen ist. debconf-apt-progress wird seit v5 nicht mehr versendet: https://github.com/pi-hole/pi-hole/pull/2962

Hallelujah ! Es hat funktioniert ! Vielen Dank !!
sqlite3 war schon installiert. Vermutlich von einem der vorherigen Versuche.
However, das Update ist jetzt sauber durchgelaufen.
Nochmals ganz herzlichen Dank für alle die mit geholfen haben !

Great that it finally worked. Although the two issues you faced (multiple PHP versions, debconf-get-selection), are already fixed, what I got from this is that the installer/updater script would benefit from an exit trap, meaning to print a clear warning/error message whenever it exits before the expected end. I'll see if I can commit this :slightly_smiling_face:.

1 Like