Soucis suite à mise à jour vers Ubuntu 16.10

Ayant décidé de passer mes PC de Ubuntu 16.04 à 16.10, j'ai été confronté à quelques petits problèmes, voici comment les résoudre si vous les rencontrez aussi.

Unités SystemD ne démarrant pas

Une fois la mise à jour terminée et le redémarrage effectué, l'heure dans Unity est affiché au format UTC, et les paramètres ne sont pas prit en compte quand ceux-ci sont modifiés, par contre, la commande date dans un terminal affiche l'heure correcte. De plus, le service Bluetooth ne démarrait pas.
Après recherche, un nouveau paramètre de configuration des unités SytemD, ProtectHome ne semble pas aimer ma configuration dans laquelle le répertoire /home est un lien symbolique vers /var/home, toutes les unitées utilisant ce paramètre échouant à démarer.

Pour corriger cela, allez dans le dossier /lib/systemd/system/ et éditez le fichier de l'unité SystemD concernée. Changez la valeur ProtectHome de yes (ou true) à read-only, puis, rechargez SystemD via sudo systemctl daemon-reload et redémarrer les unités concernées.

Dans mon cas, les unités SystemD suivantes posaient problème :

  • bluetooth.service
  • systemd-hostnamed.service
  • systemd-localed.service
  • systemd-resolved.service
  • systemd-timedated.service

Postfix n'arrive plus à envoyer de mail

Suite au passage à Ubuntu 16.10, il semble que Postfix fonctionne en mode chrooté. Si c'est un avantage de sécurité, cela impose que Postfix dispose d'un copie de certains fichiers système dans son environnement chrooté, sans quoi, il ne peut fonctionner correctement.
Postfix démarrant avant que le réseau ne soit fonctionnel, mais après que les interfaces réseau soit activées, il est actif avant resolvconf, et fait donc une copie de /etc/resolv.conf vierge dans sans environnement chrooté et ne peu de fait envoyer de mails à un serveur SMTP tiers.

Editez le fichier /usr/lib/postfix/configure-instance.sh et aux alentours de la ligne 116, remplacez :

        FILES="etc/localtime etc/services etc/resolv.conf etc/hosts \\
            etc/host.conf etc/nsswitch.conf etc/nss_mdns.config"
        for file in $FILES; do
            [ -d ${file%/*} ] || mkdir -p ${file%/*}
            if [ -f /${file} ]; then rm -f ${file} && cp /${file} ${file}; fi
            if [ -f  ${file} ]; then chmod a+rX ${file}; fi
        done
Par :
        FILES="etc/localtime etc/services etc/resolv.conf etc/hosts \\
            etc/host.conf etc/nsswitch.conf etc/nss_mdns.config"
        for file in $FILES; do
            [ -d ${file%/*} ] || mkdir -p ${file%/*}
            if [ -f /${file} ]; then rm -f ${file} && cp /${file} ${file}; fi
            if [ -f  ${file} ]; then chmod a+rX ${file}; fi
        done
        # an empty resolv.conf is useless. ubuntu bug 1519331
        grep -q nameserver etc/resolv.conf || echo nameserver 127.0.1.1 >> etc/resolv.conf
Vus : 1148
Publié par Zergy : 41