Upgrade from Debian 8 to 9 failed

Discussion in 'Installation/Configuration' started by TheRudy, Oct 2, 2019.

  1. TheRudy

    TheRudy ISPConfig Developer ISPConfig Developer

    Hi there,
    Been a long time since I needed a bit of help and as usual you guys are the best at solving my problems ;)
    So, I've had a debian 8 installed using perfect setup guide!
    Decided it is time to move to version 10.. So first I went and followed the steps in https://www.howtoforge.com/tutorial/how-to-upgrade-debian-8-jessie-to-9-stretch/
    All good until the last part: apt-get dist-upgrade

    Here are the last few lines before dist-upgrade failed:
    Code:
    Setting up debhelper (10.2.5) ...
    Setting up dh-strip-nondeterminism (0.034-1) ...
    Setting up pkg-php-tools (1.35) ...
    Processing triggers for ufw (0.35-4) ...
    Processing triggers for python-support (1.0.15) ...
    Processing triggers for libc-bin (2.24-11+deb9u4) ...
    Processing triggers for spamassassin (3.4.2-1~deb9u1) ...
    OK, restarting spamd due to trigger
    Processing triggers for sa-compile (3.4.2-1~deb9u1) ...
    Running sa-compile (may take a long time)
    Processing triggers for systemd (232-25+deb9u12) ...
    Processing triggers for libapache2-mod-php7.0 (7.0.33-0+deb9u5) ...
    Processing triggers for dictionaries-common (1.27.2) ...
    Processing triggers for rsyslog (8.24.0-1) ...
    Processing triggers for dovecot-core (1:2.2.27-3+deb9u5) ...
    Processing triggers for initramfs-tools (0.130) ...
    update-initramfs: Generating /boot/initrd.img-4.9.0-11-amd64
    Processing triggers for rkhunter (1.4.2-6+deb9u1) ...
    [ Rootkit Hunter version 1.4.2 ]
    File updated: searched for 177 files, found 148
    Errors were encountered while processing:
     roundcube-core
     roundcube-plugins
     roundcube
     fail2ban
    N: Ignoring file '50unattended-upgrades.ucf-dist' in directory '/etc/apt/apt.conf.d/' as it has an invalid filename extension
    E: Sub-process /usr/bin/dpkg returned an error code (1)
    
    I've purged the fail2ban before doing dist-upgrade as I saw it usually crashes the upgrade.. Still there.. Did not know that about the roundcube..

    Now to the stupid question, should the upgrade do anything else after that error or this it? How can I continue with it and finish it as it should be?
    While os-release says its debian 9, should it not update to php7 and mariadb? Or did I read this wrong?

    I had to reboot as the server needs to be online so pretty much everything is working but with php5 and mysql instead of 7 and mariadb? Well, phpmyadmin URL is also dead..

    Code:
    [email protected]:/etc# cat /etc/os-release
    PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
    NAME="Debian GNU/Linux"
    VERSION_ID="9"
    VERSION="9 (stretch)"
    VERSION_CODENAME=stretch
    ID=debian
    HOME_URL="https://www.debian.org/"
    SUPPORT_URL="https://www.debian.org/support"
    BUG_REPORT_URL="https://bugs.debian.org/"
    
    Edit: Seems like php7 is used as default in console.. There is no FPM version of it however.. Follow the perfect setup for 9 where FPM is installed? :)

    Also, apt-get upgrade returns this:

    Code:
    Reading package lists... Done
    Building dependency tree      
    Reading state information... Done
    Calculating upgrade... Done
    The following packages were automatically installed and are no longer required:
      docutils-common docutils-doc euca2ools g++-4.9 imagemagick-common iproute libalgorithm-c3-perl libarchive-extract-perl libb-hooks-endofscope-perl
      libbind9-90 libclamav7 libclass-c3-perl libclass-c3-xs-perl libcpan-changes-perl libcpan-meta-perl libdata-optlist-perl libdata-perl-perl
      libdata-section-perl libdevel-caller-perl libdevel-lexalias-perl libdns100 libev4 libexporter-tiny-perl libfile-slurp-perl
      libgetopt-long-descriptive-perl libilmbase6 libintl-perl libintl-xs-perl libisc95 libisccc90 libisccfg90 libjasper1 libjsoncpp0 liblinear1
      liblist-moreutils-perl libllvm3.5 liblog-message-perl liblog-message-simple-perl liblua5.1-0 liblwres90 libmodule-build-perl
      libmodule-implementation-perl libmodule-load-conditional-perl libmodule-pluggable-perl libmodule-signature-perl libmoox-handlesvia-perl
      libmro-compat-perl libnamespace-autoclean-perl libnamespace-clean-perl libopenexr6 libpackage-constants-perl libpackage-stash-perl
      libpackage-stash-xs-perl libpadwalker-perl libparams-util-perl libparams-validate-perl libpath-tiny-perl libperl4-corelibs-perl libpod-latex-perl
      libpod-markdown-perl libpod-readme-perl libpth20 libregexp-common-perl libsoftware-license-perl libstdc++-4.9-dev libsub-exporter-perl
      libsub-identify-perl libsub-install-perl libterm-ui-perl libtext-template-perl libtry-tiny-perl libtype-tiny-perl libtype-tiny-xs-perl
      libunicode-utf8-perl libvariable-magic-perl libwebp5 libwebpdemux1 libwebpdemux2 libwebpmux1 libwebpmux2 libxapian22 linux-image-3.16.0-9-amd64
      lockfile-progs php-http-request php-net-dime php-net-url php-net-url2 php-patchwork-utf8 python-cffi python-cheetah python-configobj python-crypto
      python-defusedxml python-distro-info python-docutils python-ecdsa python-json-pointer python-jsonpatch python-ndg-httpsclient python-oauth
      python-paramiko python-pil python-ply python-prettytable python-pycparser python-pygments python-pyinotify python-requestbuilder python-roman
      python-serial python-soappy python-software-properties python-wstools python-yaml python3-pyinotify python3-systemd ruby-passenger ttf-dejavu-core
      unattended-upgrades zlib1g-dev
    Use 'apt autoremove' to remove them.
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    
    
    /var/cache/apt/archives contains a lot of files..

    Anyway to continue with dist-upgrade? If it did not go through in full..
     
    Last edited: Oct 2, 2019
  2. Taleman

    Taleman Well-Known Member HowtoForge Supporter

    Was Roundcube installed from outside of Debian repositories? You should follow the Official Debian upgrade instructions:
    https://www.debian.org/releases/stretch/amd64/release-notes/ch-upgrading.en.html#unofficial-sources
    If you had mysql-server installed, it gets upgraded to mysql-server from Debian 9. Debian Upgrade does not force you to change database application. You can remove mysql-server etc and install mariadb-server if you so desire.
    What is working with PHP 5? The upgrade should have installed PHP 7, but I think it may not remove PHP 5. Did you install additional PHP versions or compile PHP yourself?
    What shows
    Code:
    update-alternatives --config php
    update-alternatives --config php-cgi
    Upgrade has not finished correctly. You have to repair errors and solve problems that prevent upgrade from completing. Depending on what the problem is, it may work if you remove roundcube and then do apt-get dist-upgrade again.
    When upgrade finishes without errors, you have to follow ISPConfig Perfect Server Guide for Debian 9. Check all packages are installed and configurations are according to that manual. Then force ISPConfig to do reconfigure services. All this should get you a working ISPConfig setup.
    Then do everything a second time to upgrade to Debian 10.
    It might be easier to go back to your Debian 8 setup, install a new server with Debian 10 and ISPConfig 3.1.15, then use ISPConfig Migration Tool to migrate the setup from old to new.
     
  3. TheRudy

    TheRudy ISPConfig Developer ISPConfig Developer

    Code:
    [email protected]:/var/cache/apt/archives# update-alternatives --config php
    There are 2 choices for the alternative php (providing /usr/bin/php).
    
      Selection    Path             Priority   Status
    ------------------------------------------------------------
    * 0            /usr/bin/php7.0   70        auto mode
      1            /usr/bin/php5     50        manual mode
      2            /usr/bin/php7.0   70        manual mode
    
    Press <enter> to keep the current choice[*], or type selection number:
    Code:
    [email protected]:/var/cache/apt/archives# update-alternatives --config php-cgi
    There is only one alternative in link group php-cgi (providing /usr/bin/php-cgi): /usr/bin/php5-cgi
    Nothing to configure.
    
    Okay, so that's what I wanted to hear that the dist-upgrade did not finish.. Don't really care about fail2ban and roundcube as I can reinstall those.. Just want the upgrade to be done as it should be.

    apt-get dist-upgrade returns just this:
    Code:
    [email protected]:/var/cache/apt/archives# apt-get dist-upgrade
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    Calculating upgrade... Done
    The following packages were automatically installed and are no longer required:
      docutils-common docutils-doc euca2ools g++-4.9 imagemagick-common iproute libalgorithm-c3-perl libarchive-extract-perl libb-hooks-endofscope-perl
      libbind9-90 libclamav7 libclass-c3-perl libclass-c3-xs-perl libcpan-changes-perl libcpan-meta-perl libdata-optlist-perl libdata-perl-perl
      libdata-section-perl libdevel-caller-perl libdevel-lexalias-perl libdns100 libev4 libexporter-tiny-perl libfile-slurp-perl
      libgetopt-long-descriptive-perl libilmbase6 libintl-perl libintl-xs-perl libisc95 libisccc90 libisccfg90 libjasper1 libjsoncpp0 liblinear1
      liblist-moreutils-perl libllvm3.5 liblog-message-perl liblog-message-simple-perl liblua5.1-0 liblwres90 libmodule-build-perl
      libmodule-implementation-perl libmodule-load-conditional-perl libmodule-pluggable-perl libmodule-signature-perl libmoox-handlesvia-perl
      libmro-compat-perl libnamespace-autoclean-perl libnamespace-clean-perl libopenexr6 libpackage-constants-perl libpackage-stash-perl
      libpackage-stash-xs-perl libpadwalker-perl libparams-util-perl libparams-validate-perl libpath-tiny-perl libperl4-corelibs-perl libpod-latex-perl
      libpod-markdown-perl libpod-readme-perl libpth20 libregexp-common-perl libsoftware-license-perl libstdc++-4.9-dev libsub-exporter-perl
      libsub-identify-perl libsub-install-perl libterm-ui-perl libtext-template-perl libtry-tiny-perl libtype-tiny-perl libtype-tiny-xs-perl
      libunicode-utf8-perl libvariable-magic-perl libwebp5 libwebpdemux1 libwebpdemux2 libwebpmux1 libwebpmux2 libxapian22 linux-image-3.16.0-9-amd64
      lockfile-progs php-http-request php-net-dime php-net-url php-net-url2 php-patchwork-utf8 python-cffi python-cheetah python-configobj python-crypto
      python-defusedxml python-distro-info python-docutils python-ecdsa python-json-pointer python-jsonpatch python-ndg-httpsclient python-oauth
      python-paramiko python-pil python-ply python-prettytable python-pycparser python-pygments python-pyinotify python-requestbuilder python-roman
      python-serial python-soappy python-software-properties python-wstools python-yaml python3-pyinotify python3-systemd ruby-passenger ttf-dejavu-core
      unattended-upgrades zlib1g-dev
    Use 'apt autoremove' to remove them.
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    
     
  4. TheRudy

    TheRudy ISPConfig Developer ISPConfig Developer

    I believe not, it was part of Perfect setup. Been a long time ago.. But if I do any custom things I usually write them down so there's no mention of custom roundcube in my notes..

    Ah okay, see, I read this too quickly and I thought it would do the switch while upgrading.

    Everything is working as before. The upgrade did install php 7 and like you said below, I just need to follow the setup guide to install the missing components. No PHP version were compiled, only what the setup guide had..

    Yeah, that's the thing, remove the errors and then run the dist-upgrade again.. Let's see what happens then :)
     

Share This Page