Problem upgrading from buster to bullseye

Creating a bug report/issue

Required Information

  • DietPi version | G_DIETPI_VERSION_CORE=8 G_DIETPI_VERSION_SUB=16 G_DIETPI_VERSION_RC=2 G_GITBRANCH='master' G_GITOWNER='MichaIng' G_LIVE_PATCH_STATUS[0]='not applicable'

  • Distro version | buster 1

  • Kernel version | Linux DietPi 5.10.103-v7l+ #1529 SMP Tue Mar 8 12:24:00 GMT 2022 armv7l GNU/Linux

  • Architecture | RPi 4 Model B (armv7l)

  • SBC model | armhf

  • Power supply used | the one that came together with the raspberry 15W usb-c i think

  • SD card used | SanDisk ultra

Additional Information (if applicable)

  • Pi hole
  • i was following the instructions at DietPi - How to upgrade to "Bullseye" - DietPi blog and trying to upgrade/migrate from buster to bullseye
  • Can this issue be replicated on a fresh installation of DietPi? I honestly haven’t tried a fresh installation of DietPi…
    ← If you sent a β€œdietpi-bugreport”, please paste the ID here β†’
  • Bug report ID | 8b0ab0e9-5226-4cf5-a446-22b2567fbf74

Steps to reproduce

Following the procedure in DietPi - How to upgrade to "Bullseye" - DietPi blog in point β€œ2.2.3 Upgrade the system” I use the following command

dietpi-services stop
apt upgrade

Expected behaviour

the migration from buster to bullseye

Actual behaviour

after apt upgrade it shows me a list of packages that will be removed/upgraded/will be upgraded
But when he shows me the question β€œDo you want to continue? [Y/n]” I am unable to answer because it is immediately followed by an β€œabort” and everything stops from there. One thing that happened is that now the Pi hole web page is not reachable even if it works (I tried to do pihole status and it replies with
[βœ“] FTL is listening on port 53
[βœ“] UDP (IPv4)
[βœ“] TCP (IPv4)
[βœ“] UDP (IPv6)
[βœ“] TCP (IPv6)

[βœ“] Pi-hole blocking is enabled

so i think it works)

this afternoon I tried various solutions but I only had a big headache

I hope someone can help me! Thank you!!

It would be helpful if you could share the entire log/error message.

how do i do it? because I don’t know if you understand but I’m not from this sector :slight_smile:

You could copy/past the content from SSH terminal directly. Or simply do a screen shot.

ok, thanks for the support.
I will try to reproduce the scenario that is shown.
Well, I already did the backup yesterday, so I skip this step
Following the guide, it says I have to do dietpi-services stop apt upgrade but no matter any answer I give it tells me β€œAbort” and if I try to ignore it and tell it β€œy” it gives me an error like -Bash: y: command not found

I’m stuck here because I don’t understand what to do. I am attaching a series of screenshots
Thanks again

for some reason I can’t upload more than 1 files so I’ll try to be concise

Try following

apt upgrade -y

it works! Thank you!!

Now if I do the cat command /etc/os-release it shows me

PRETTY_NAME=β€œRaspbian GNU/Linux 11 (bullseye)”
NAME=β€œRaspbian GNU/Linux”
VERSION_ID=β€œ11”
VERSION=β€œ11 (bullseye)”
VERSION_CODENAME=bullseye
ID=raspbian
ID_LIKE=debian
HOME_URL=β€œhttp://www.raspbian.org/”
SUPPORT_URL=β€œRaspbianForums - Raspbian”
BUG_REPORT_URL=β€œβ€¦β€

I think I succeeded, or did I miss something?

You would need to complete all other steps from the guide. Especially software reinstallation part.

Ok I verified the pihole is on and working Along with unbound. The Pihole webpage is back up as well so I think it was mostly okay.
The only thing I am unable to update is GitHub - jacklul/pihole-updatelists: Update Pi-hole's lists from remote sources easily. Specifically it is a customization to update all pihole lists from remote sources.
When I issue the command β€œsudo pihole-updatelists --update” to see if there are any updates, it gives me the error Missing required PHP extension: pdo_sqlite
You can install it using apt-get install php-pdo-sqlite
So I put the command β€œapt-get install php-pdo-sqlite” and it says: Package php-pdo-sqlite is a virtual package provided by:
php8.0-sqlite3 8.0.1-1
php7.4-sqlite3 7.4.33-1+deb11u3
You should explicitly select one to install.

E: Package β€˜php-pdo-sqlite’ has no installation candidate

Which of the 2 should I select? What command do I use to install them?

Excuse me but I’m a newbie. I try to get by myself but sometimes it’s really incomprehensible

Thanks for now

Edit: now that I’ve checked better I tried to do a pihole -up --check-only to see if there were any updates to do… Well yes I would have to update FTL but when I go to update this is what show me

something seems to be wrong with your PHP version as it still seems to be version 7.3. But it should be 7.4 on Bullseye.

Can you check installed version

dpkg -l *php*

If possible try to copy the output directly from SSH command line.

This is what it shows

root@DietPi:~# dpkg -l *php*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name               Version          Architecture Description
+++-==================-================-============-===========================
=========================================
un  php-amqp           <none>           <none>       (no description available)
un  php-apcu           <none>           <none>       (no description available)
un  php-apcu-bc        <none>           <none>       (no description available)
un  php-ast            <none>           <none>       (no description available)
un  php-calendar       <none>           <none>       (no description available)
ii  php-cgi            2:7.3+69         all          server-side, HTML-embedded
scripting language (CGI binary) (default)
ii  php-cli            2:7.3+69         all          command-line interpreter fo
r the PHP scripting language (default)
ii  php-common         2:69             all          Common files for PHP packag
es
un  php-crypt-gpg      <none>           <none>       (no description available)
un  php-ctype          <none>           <none>       (no description available)
ii  php-curl           2:7.4+76         all          CURL module for PHP [defaul
t]
un  php-dom            <none>           <none>       (no description available)
un  php-exif           <none>           <none>       (no description available)
un  php-ffi            <none>           <none>       (no description available)
un  php-fileinfo       <none>           <none>       (no description available)
un  php-fpm            <none>           <none>       (no description available)
un  php-ftp            <none>           <none>       (no description available)
un  php-geoip          <none>           <none>       (no description available)
un  php-gmagick        <none>           <none>       (no description available)
un  php-iconv          <none>           <none>       (no description available)
un  php-igbinary       <none>           <none>       (no description available)
un  php-imagick        <none>           <none>       (no description available)
ii  php-intl           2:7.3+69         all          Internationalisation module for PHP [default]
un  php-json           <none>           <none>       (no description available)
un  php-memcache       <none>           <none>       (no description available)
un  php-memcached      <none>           <none>       (no description available)
un  php-mongodb        <none>           <none>       (no description available)
un  php-msgpack        <none>           <none>       (no description available)
un  php-opcache        <none>           <none>       (no description available)
un  php-pdo            <none>           <none>       (no description available)
un  php-pdo-sqlite     <none>           <none>       (no description available)
un  php-pear           <none>           <none>       (no description available)
un  php-phar           <none>           <none>       (no description available)
un  php-posix          <none>           <none>       (no description available)
un  php-radius         <none>           <none>       (no description available)
un  php-readline       <none>           <none>       (no description available)
un  php-redis          <none>           <none>       (no description available)
un  php-rrd            <none>           <none>       (no description available)
un  php-shmop          <none>           <none>       (no description available)
un  php-simplexml      <none>           <none>       (no description available)
un  php-smbclient      <none>           <none>       (no description available)
un  php-sockets        <none>           <none>       (no description available)
ii  php-sqlite3        2:7.4+76         all          SQLite3 module for PHP [default]
un  php-ssh2           <none>           <none>       (no description available)
un  php-sysvmsg        <none>           <none>       (no description available)
un  php-sysvsem        <none>           <none>       (no description available)
un  php-sysvshm        <none>           <none>       (no description available)
un  php-tokenizer      <none>           <none>       (no description available)
un  php-uploadprogress <none>           <none>       (no description available)
un  php-uuid           <none>           <none>       (no description available)
un  php-xdebug         <none>           <none>       (no description available)
ii  php-xml            2:7.4+76         all          DOM, SimpleXML, WDDX, XML, and XSL module for PHP [default]
un  php-xmlreader      <none>           <none>       (no description available)
un  php-xmlwriter      <none>           <none>       (no description available)
un  php-xsl            <none>           <none>       (no description available)
un  php-zmq            <none>           <none>       (no description available)
un  php5.6-common      <none>           <none>       (no description available)
un  php5.6-json        <none>           <none>       (no description available)
un  php7.0-common      <none>           <none>       (no description available)
un  php7.0-curl        <none>           <none>       (no description available)
un  php7.2-sodium      <none>           <none>       (no description available)
un  php7.3-calendar    <none>           <none>       (no description available)
ii  php7.3-cgi         7.3.31-1~deb10u3 armhf        server-side, HTML-embedded scripting language (CGI binary)
ii  php7.3-cli         7.3.31-1~deb10u3 armhf        command-line interpreter for the PHP scripting language
ii  php7.3-common      7.3.31-1~deb10u3 armhf        documentation, examples and common module for PHP
un  php7.3-ctype       <none>           <none>       (no description available)
un  php7.3-exif        <none>           <none>       (no description available)
un  php7.3-fileinfo    <none>           <none>       (no description available)
un  php7.3-ftp         <none>           <none>       (no description available)
un  php7.3-gettext     <none>           <none>       (no description available)
un  php7.3-iconv       <none>           <none>       (no description available)
ii  php7.3-intl        7.3.31-1~deb10u3 armhf        Internationalisation module for PHP
ii  php7.3-json        7.3.31-1~deb10u3 armhf        JSON module for PHP
ii  php7.3-opcache     7.3.31-1~deb10u3 armhf        Zend OpCache module for PHP
un  php7.3-pdo         <none>           <none>       (no description available)
un  php7.3-phar        <none>           <none>       (no description available)
un  php7.3-posix       <none>           <none>       (no description available)
ii  php7.3-readline    7.3.31-1~deb10u3 armhf        readline module for PHP
un  php7.3-shmop       <none>           <none>       (no description available)
un  php7.3-sockets     <none>           <none>       (no description available)
un  php7.3-sysvmsg     <none>           <none>       (no description available)
un  php7.3-sysvsem     <none>           <none>       (no description available)
un  php7.3-sysvshm     <none>           <none>       (no description available)
un  php7.3-tokenizer   <none>           <none>       (no description available)
un  php7.4-calendar    <none>           <none>       (no description available)
ii  php7.4-common      7.4.33-1+deb11u3 armhf        documentation, examples and common module for PHP
un  php7.4-ctype       <none>           <none>       (no description available)
ii  php7.4-curl        7.4.33-1+deb11u3 armhf        CURL module for PHP
un  php7.4-dom         <none>           <none>       (no description available)
un  php7.4-exif        <none>           <none>       (no description available)
un  php7.4-ffi         <none>           <none>       (no description available)
un  php7.4-fileinfo    <none>           <none>       (no description available)
un  php7.4-ftp         <none>           <none>       (no description available)
un  php7.4-gettext     <none>           <none>       (no description available)
un  php7.4-iconv       <none>           <none>       (no description available)
un  php7.4-pdo         <none>           <none>       (no description available)
un  php7.4-pdo-sqlite  <none>           <none>       (no description available)
un  php7.4-phar        <none>           <none>       (no description available)
un  php7.4-posix       <none>           <none>       (no description available)
un  php7.4-shmop       <none>           <none>       (no description available)
un  php7.4-simplexml   <none>           <none>       (no description available)
un  php7.4-sockets     <none>           <none>       (no description available)
ii  php7.4-sqlite3     7.4.33-1+deb11u3 armhf        SQLite3 module for PHP
un  php7.4-sysvmsg     <none>           <none>       (no description available)
un  php7.4-sysvsem     <none>           <none>       (no description available)
un  php7.4-sysvshm     <none>           <none>       (no description available)
un  php7.4-tokenizer   <none>           <none>       (no description available)
ii  php7.4-xml         7.4.33-1+deb11u3 armhf        DOM, SimpleXML, XML, and XSL module for PHP
un  php7.4-xmlreader   <none>           <none>       (no description available)
un  php7.4-xmlwriter   <none>           <none>       (no description available)
un  php7.4-xsl         <none>           <none>       (no description available)
un  phpapi-20180731    <none>           <none>       (no description available)

still old buster packages installed. I guess they would need to be purged. Correct @MichaIng

Can you share as well status on running services.

dietpi-services status

ok

root@DietPi:~# dietpi-services status

 DietPi-Services
─────────────────────────────────────────────────────
 Mode: status

[  OK  ] DietPi-Services | lighttpd             active (running) since Sat 2023-04-22 11:37:09 BST; 4h 40min ago
[  OK  ] DietPi-Services | cron                 active (running) since Sat 2023-04-22 11:37:07 BST; 4h 40min ago
[  OK  ] DietPi-Services | dropbear             active (running) since Sat 2023-04-22 11:37:08 BST; 4h 40min ago
[ INFO ] DietPi-Services | dietpi-vpn           inactive (dead)
[  OK  ] DietPi-Services | pihole-FTL           active (running) since Sat 2023-04-22 11:37:08 BST; 4h 40min ago
[  OK  ] DietPi-Services | unbound              active (running) since Sat 2023-04-22 11:37:13 BST; 4h 40min ago
[ INFO ] DietPi-Services | dietpi-cloudshell    inactive (dead)
[  OK  ] DietPi-Services | dietpi-ramlog        active (exited) since Sat 2023-04-22 11:37:08 BST; 4h 40min ago
[  OK  ] DietPi-Services | dietpi-preboot       active (exited) since Sat 2023-04-22 11:37:08 BST; 4h 40min ago
Warning: The unit file, source configuration file or drop-ins of dietpi-postboot.service changed on disk. Run 'systemctl daemon-reload' to reload units.
[  OK  ] DietPi-Services | dietpi-postboot      active (exited) since Sat 2023-04-22 11:37:08 BST; 4h 40min ago
[ INFO ] DietPi-Services | dietpi-wifi-monitor  inactive (dead)

after β€œsystemctl daemon-reload” this is what is shows

root@DietPi:~# dietpi-services status

 DietPi-Services
─────────────────────────────────────────────────────
 Mode: status

[  OK  ] DietPi-Services | lighttpd             active (running) since Sat 2023-04-22 11:37:09 BST; 6h ago
[  OK  ] DietPi-Services | cron                 active (running) since Sat 2023-04-22 11:37:07 BST; 6h ago
[  OK  ] DietPi-Services | dropbear             active (running) since Sat 2023-04-22 11:37:08 BST; 6h ago
[ INFO ] DietPi-Services | dietpi-vpn           inactive (dead)
[  OK  ] DietPi-Services | pihole-FTL           active (running) since Sat 2023-04-22 11:37:08 BST; 6h ago
[  OK  ] DietPi-Services | unbound              active (running) since Sat 2023-04-22 11:37:13 BST; 6h ago
[ INFO ] DietPi-Services | dietpi-cloudshell    inactive (dead)
[  OK  ] DietPi-Services | dietpi-ramlog        active (exited) since Sat 2023-04-22 11:37:08 BST; 6h ago
[  OK  ] DietPi-Services | dietpi-preboot       active (exited) since Sat 2023-04-22 11:37:08 BST; 6h ago
[  OK  ] DietPi-Services | dietpi-postboot      active (exited) since Sat 2023-04-22 11:37:08 BST; 6h ago
[ INFO ] DietPi-Services | dietpi-wifi-monitor  inactive (dead)

You installed Pi-hole via official installer instead of dietpi-software, as there is no PHP-FPM service, right?

Yes, PHP 7.3 should be removed:

apt autopurge $(dpkg --get-selections 'php7.3*' | mawk '{print $1}')
apt install php7.4-sqlite3
phpenmod pdo_sqlite

This command β€œapt autopurge $(dpkg --get-selections β€˜php7.3*’ | mawk β€˜{print $1}’)” gives me an error

root@DietPi:~# apt autopurge $(dpkg --get-selections 'php7.3*' | mawk '{print $1}')
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libc6-dev : Breaks: libgcc-8-dev (< 8.4.0-2~) but 8.3.0-6+rpi1 is to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

And the second one says:

root@DietPi:~# apt install php7.4-sqlite3 phpenmod pdo_sqlite
Reading package lists... Done
Building dependency tree
Reading state information... Done
php7.4-sqlite3 is already the newest version (7.4.33-1+deb11u3).
php7.4-sqlite3 set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 64 not upgraded.
WARNING: Module pdo_sqlite ini file doesn't exist under /etc/php/7.3/mods-available
WARNING: Module pdo_sqlite ini file doesn't exist under /etc/php/7.3/mods-available

and I’m always at the previous point, i.e.:

sudo pihole-updatelists --update
Missing required PHP extension: pdo_sqlite
You can install it using `apt-get install php-pdo-sqlite`
root@DietPi:~# apt-get install php-pdo-sqlite
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package php-pdo-sqlite is a virtual package provided by:
   php8.0-sqlite3 8.0.1-1
   php7.4-sqlite3 7.4.33-1+deb11u3
You should explicitly select one to install.

E: Package 'php-pdo-sqlite' has no installation candidate

thanks for the support

These seems to be something stuck within apt package manager. 64 packages not upgraded. Something that would need to be fixed first before doing anything else.

libgcc-8-dev seems to be installed from Buster package source still

Strange that there is a PHP8 package availabe. Can you share your soure file configuration

for i in /etc/apt/sources.list{,.d/*.list}; do echo "$i:"; cat "$i"; done

sure, here it is

root@DietPi:~# for i in /etc/apt/sources.list{,.d/*.list}; do echo "$i:"; cat "$i"; done
/etc/apt/sources.list:
deb http://raspbian.raspberrypi.org/raspbian/ bullseye main contrib non-free
/etc/apt/sources.list.d/raspi.list:
deb https://archive.raspberrypi.org/debian/ bullseye main

can you run following and share output in case of issues

apt update
apt upgrade
apt full-upgrade

you missed to complete apt full-upgrade

apt upgrade -y
apt full-upgrade -y

edited above, sorry, I messed up a bit