Problem upgrading from buster to bullseye

Looks like all packages are updated now. Can you reboot your system and remove not needed packages

reboot 
apt update
apt autoremove

And let’s check installed PHP modules again

dpkg -l *php*

I have a terrible doubt :sweat_smile: when you say to give the command like this:

reboot 
apt update
apt autoremove

can I copy / paste all 3 commands directly and press enter or one by one?

Pls do them one by one, to be able to watch the output. Especially the reboot command will not allow anything else :wink:

1 Like

Ok after reboot, this is what it shows:

 apt update
Hit:1 http://raspbian.raspberrypi.org/raspbian bullseye InRelease
Hit:2 https://archive.raspberrypi.org/debian bullseye InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
root@DietPi:~# apt autoremove
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

And let’s check installed PHP modules again

dpkg -l *php*

this is the result:

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.4+76         all          server-side, HTML-embedded
scripting language (CGI binary) (default)
ii  php-cli            2:7.4+76         all          command-line interpreter fo
r the PHP scripting language (default)
ii  php-common         2:76             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.4+76         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 [def
ault]
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.1-common      <none>           <none>       (no description available)
un  php7.2-common      <none>           <none>       (no description available)
un  php7.2-sodium      <none>           <none>       (no description available)
un  php7.3-calendar    <none>           <none>       (no description available)
rc  php7.3-cgi         7.3.31-1~deb10u3 armhf        server-side, HTML-embedded
scripting language (CGI binary)
rc  php7.3-cli         7.3.31-1~deb10u3 armhf        command-line interpreter fo
r the PHP scripting language
rc  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)
rc  php7.3-intl        7.3.31-1~deb10u3 armhf        Internationalisation module
 for PHP
rc  php7.3-json        7.3.31-1~deb10u3 armhf        JSON module for PHP
rc  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)
rc  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-cgi         7.4.33-1+deb11u3 armhf        server-side, HTML-embedded
scripting language (CGI binary)
ii  php7.4-cli         7.4.33-1+deb11u3 armhf        command-line interpreter fo
r the PHP scripting language
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)
ii  php7.4-intl        7.4.33-1+deb11u3 armhf        Internationalisation module
 for PHP
ii  php7.4-json        7.4.33-1+deb11u3 armhf        JSON module for PHP
ii  php7.4-opcache     7.4.33-1+deb11u3 armhf        Zend OpCache module for PHP
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)
ii  php7.4-readline    7.4.33-1+deb11u3 armhf        readline module for PHP
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 XS
L 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)
un  phpapi-20190902    <none>           <none>       (no description available)

Ok let’s try to purge PHP7.3 packages completely

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

Purge the obsolete gcc-8 development headers first (I added this to our upgrade guide as well now, since this appeared already a few times):

apt autopurge libgcc-8-dev

It still looks for PHP 7.3 modules. After purging the above package, purge PHP 7.3 as shown by Joulinar above. Then retry enabling the missing module:

phpenmod pdo_sqlite

this command apt autopurge libgcc-8-dev show me:

root@DietPi:~# apt autopurge libgcc-8-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package 'libgcc-8-dev' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Okay, looks like it was somehow purged already with another command today. Then go on purging all PHP 7.3 packages. There are only config files left of it, but it may have an effect as well.

Btw a nicer overview of installed PHP packages, excluding ones which are not installed, can be obtained like this:

dpkg -l | grep php

ok, I try to summarize what I did:

  1. I used this command: apt autopurge $(dpkg --get-selections ‘php7.3*’ | mawk ‘{print $1}’) " as suggested by joulinar and it showed me this:
root@DietPi:~# apt autopurge $(dpkg --get-selections 'php7.3*' | mawk '{print $1}')
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be REMOVED:
   php7.3-cgi* php7.3-cli* php7.3-common* php7.3-intl* php7.3-json*
   php7.3-opcache* php7.3-readline*
0 upgraded, 0 newly installed, 7 to remove and 0 not upgraded.
After this operation, 0B of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 34709 files and directories currently installed.)
Purging configuration files for php7.3-cgi (7.3.31-1~deb10u3) ...
Purging configuration files for php7.3-json (7.3.31-1~deb10u3) ...
Purging configuration files for php7.3-readline (7.3.31-1~deb10u3) ...
Purging configuration files for php7.3-common (7.3.31-1~deb10u3) ...
Purging configuration files for php7.3-intl (7.3.31-1~deb10u3) ...
Purging configuration files for php7.3-cli (7.3.31-1~deb10u3) ...
Purging configuration files for php7.3-opcache (7.3.31-1~deb10u3) ...
  1. Then I used this command to re-enable the missing modules " phpenmod pdo_sqlite "

but when I press Enter it doesn’t show me anything on the screen

  1. I used this command " dpkg -l | grep php " and it showed me this:
root@DietPi:~# dpkg -l | grep php
ii php-cgi 2:7.4+76 all server-side, HTML-embedded scripting language (CGI binary) (default)
ii php-cli 2:7.4+76 all command-line interpreter for the PHP scripting language (default)
ii php-common 2:76 all Common files for PHP packages
ii php-curl 2:7.4+76 all C URL module for PHP [default]
ii php-intl 2:7.4+76 all Internationalization module for PHP [default]
ii php-sqlite3 2:7.4+76 all S QLite3 module for PHP [default]
ii php-xml 2:7.4+76 all D OM, SimpleXML, WDDX, XML, and XSL module for PHP [default]
ii php7.4-cgi 7.4.33-1+deb11u3 armhf server-side, HTML-embedded scripting language (CGI binary)
ii php7.4-cli 7.4.33-1+deb11u3 armhf command-line interpreter for the PHP scripting language
ii php7.4-common 7.4.33-1+deb11u3 armhf d

tell me if i’m doing something wrong, so i can correct it! Thank you

That’s totally fine. It will simply activate the module. Usually there is no feedback on Linux based systems if command has been executed successfully.

ok so the case is closed? Or wait for @MichaIng’s verdict? what’s your verdict @Joulinar? in sympathy, of course :smiley:

Question is if PiHole update as well as pihole-updatelists are working fine now.

You are right.
And yes it’s working again!

Thank you!!

Edit:and pihole is working flawlessly!!! Thank you Thank you Thank you

For completeness, our guide also contained purging those PHP 7.3 packages as one of the migration steps: DietPi - How to upgrade to "Bullseye" - DietPi blog
I added libgcc-8-dev, which I think is what blocked that for your at first?

I guess problem was that some apt upgrade task required a confirmation by hitting Y. Due to whatever reason this cancelled apt. At the end apt full-upgrade did not run, leading to the incomplete upgrade status.

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

But this is indeed a known error. Same happened in several other cases:

So worth it if it prevents users from some upgrade trouble. It is definitely a Buster package, and development headers, so safe to purge.