Ubuntu Update Version 18.04

De EjnTricks

Cet article présente la mise à jour de la version 18.04, pour laquelle quels problèmes ont été rencontrés.


Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


System-Install-icon.png Installation

L'installation s'effectue de façon classique avec la commande do-release-upgrade.

#sudo do-release-upgrade

Des choix peuvent être demandés au cours de la mise à jour, pour conserver des fichiers de configuration ou utiliser ceux fournis par les mises à jour.


Unzip-icon.png Module php

Sur cette mise à jour, la version 7.2 de php est installée. Dans le cadre de cette mise à jour, cette version n'est pas activée sous Apache. L'activation du module s'effectue à l'aide de l'outil a2enmode.

#sudo a2enmod php7.2
Considering dependency mpm_prefork for php7.2:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled
Considering conflict php5 for php7.2:
Enabling module php7.2.
To activate the new configuration, you need to run:
  systemctl restart apache2

Warning-icon.png Attention, tous les modules php n'ont pas été mis à jour. Dans le cadre de l'utilisation de OwnCloud, le module php_curl est nécessaire, or celui-ci n'est plus disponible comme indiqué sur la page d'accueil.


Il suffit de l'installer.

#sudo apt-get install php-curl

Puis, il faut recharger l'instance Apache.

#sudo apache2ctl graceful


Java format icon.png Open JDK

La version est mise à jour et prend en compte l'organisation en module de Java. Or les scripts de démarrage de Tomcat, fichier /etc/init.d/tomcat8, contient le code suivant.

# this is a work-around until there is a suitable runtime replacement
# for dpkg-architecture for arch:all packages
# this function sets the variable JDK_DIRS
find_jdks()
{
    for java_version in 9 8
    do
        for jvmdir in /usr/lib/jvm/java-${java_version}-openjdk-* \
                      /usr/lib/jvm/jdk-${java_version}-oracle-* \
                      /usr/lib/jvm/jre-${java_version}-oracle-* \
                      /usr/lib/jvm/java-${java_version}-oracle
        do
            if [ -d "${jvmdir}" ]
            then
                JDK_DIRS="${JDK_DIRS} ${jvmdir}"
            fi
        done
    done
}

# The first existing directory is used for JAVA_HOME (if JAVA_HOME is not
# defined in $DEFAULT)
JDK_DIRS="/usr/lib/jvm/default-java"
find_jdks

Or sur le répertoire /usr/lib/jvm contient les installations suivantes.

#ll /usr/lib/jvm
total 108
drwxr-xr-x   6 root root  4096 mai   13 10:49 ./
drwxr-xr-x 110 root root 69632 juin  15 17:14 ../
lrwxrwxrwx   1 root root    25 avril  8 15:16 default-java -> java-1.11.0-openjdk-amd64/
lrwxrwxrwx   1 root root    21 avril 21 15:41 java-1.11.0-openjdk-amd64 -> java-11-openjdk-amd64/
-rw-r--r--   1 root root  2619 avril 21 15:41 .java-1.11.0-openjdk-amd64.jinfo
drwxr-xr-x   7 root root  4096 mai    6 18:25 java-11-openjdk-amd64/
lrwxrwxrwx   1 root root    20 avril 13  2016 java-1.8.0-openjdk-amd64 -> java-8-openjdk-amd64/
-rw-r--r--   1 root root  2600 avril 26 17:59 .java-1.8.0-openjdk-amd64.jinfo
drwxr-xr-x   8 root root  4096 mai   11  2016 java-7-oracle/
-rw-r--r--   1 root root  2543 mai   11  2016 .java-7-oracle.jinfo
drwxr-xr-x   5 root root  4096 avril 24  2016 java-8-openjdk-amd64/
drwxr-xr-x   8 root root  4096 avril 24  2017 java-8-oracle/
-rw-r--r--   1 root root  2643 avril 24  2017 .java-8-oracle.jinfo

Donc d'après le script de démarrage c'est /usr/lib/jvm/default-java, lien sur /usr/lib/jvm/java-1.11.0-openjdk-amd64/, qui est utilisé.

Certaine applications peuvent entraîner des erreurs lors du démarrage si elles nécessitent des classes disponibles dans des modules non activés, comme c'est le cas pour Jenkins ou Wisemapping.

Afin d'activer les modules nécessaires, il suffit d'ajouter l'argument --add-modules avec les noms des modules nécessaires en modifiant le script /var/lib/tomcat8/bin/setenv.sh comme expliqué dans l'article suivant. Dans l'exemple suivant les deux modules java.xml.bind et java.xml.ws sont ajoutés.

#!/bin/sh

export CATALINA_OPTS="-Xms256m -Xmx512m"

export MAVEN_OPTS="-Xmx512m"

export JAVA_OPTS="$JAVA_OPTS --add-modules java.xml.bind,java.xml.ws"


Examples-icon.png Cependant, toutes les applications déployées sur Tomcat ne sont pas forcément compatibles avec une telle version de Java. Dans ce cas, il est plus simple de rester sur une "ancienne" version de Java, nécessitant uniquement de changer le lien default-java.

#sudo rm /usr/lib/jvm/default-java
#sudo ln -s /usr/lib/jvm/java-8-openjdk-amd64 /usr/lib/jvm/default-java