--- categories: web title: Howto Migration Jessie vers Stretch ... Release Notes amd64 : ## Actions préalables Nous conseillons quelques actions qui aideront en cas de problème. Sauvegarder localement certaines ressources (dans `/home/backup/jessie` par exemple) ~~~ # cd /etc # git add . # git commit -am "Commit balai avant upgrade en Stretch" # mkdir -p /home/backup/jessie/ # cd /home/backup/jessie # cp -r /etc ./ # mkdir -p var/lib/apt # cp -r /var/lib/dpkg ./var/lib/ # cp -r /var/lib/apt/extended_states ./var/lib/apt/ # dpkg --get-selections "*" > ./current_packages.txt # uptime > uptime.txt # ps auwx > ps.out # pstree -pan > pstree.out # ss -tanpul > listen.out ~~~ ## Mise à jour du système Éditer les dépôts dans `/etc/apt/sources.list` et `/etc/apt/sources.list.d/*.list` pour remplacer _jessie_ par _stretch_. ~~~ # cat /etc/apt/sources.list deb http://mirror.evolix.org/debian stretch main deb http://mirror.evolix.org/debian/ stretch-updates main deb http://security.debian.org/debian-security stretch/updates main # cat /etc/apt/sources.list.d/evolix_public.list deb http://pub.evolix.net/ stretch/ ~~~ Il faut importer la clé GPG du dépôt pub.evolix.net (attention au firewall et/ou proxy pour cette action) : ~~~ # apt-key adv --keyserver keyserver.ubuntu.com --recv 44975278B8612B5D ~~~ > *Note* : si cela ne semble pas suffisant, faire : > > ~~~ > # wget -O- "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x44975278B8612B5D" | apt-key add - > ~~~ Puis mettre à jour le cache APT avec la commande : ~~~ # apt update ~~~ Commencer par télécharger l'ensemble des paquets qui devront être installés (afin de limiter le temps effectif d'installation). ~~~ # apt dist-upgrade --download-only ~~~ Faire ensuite une mise à niveau "simple", pour appliquer les mises à jour triviales : ~~~ # apt upgrade ~~~ Enfin, appliquer les mises à jour non triviales (nécessitant des changements de paquets dépendants, des suppressions…) afin d'avoir un œil plus précis sur ce qui sera fait, avant de valider : ~~~ # apt dist-upgrade ~~~ ## Apt Apt utilise maintenant l'utilisateur "_apt" pour certaines de ses fonctionnalités (ex. téléchargement des paquets), les dossiers /etc/apt et /var/cache/apt doivent donc être en 755 : ~~~ chmod 755 /etc/apt /var/cache/apt ~~~ Les fichiers _/etc/apt/apt.conf.d/10evolix_ et _/etc/apt/apt.conf.d/80evolinux_ ont été concaténés en un seul fichier _/etc/apt/apt.conf.d/z-evolinux.conf_. `apt-listchanges` n'est plus utilisé et le paquet du même nom doit être désinstallé. Le dépôt backports doit être dans son propre fichier _/etc/apt/sources.list.d/backports.list_ et avoir un fichier _/etc/apt/preferences.d/0-backports-defaults_ associé. ## Apache Pour passer a PHP7, il faut désactiver le module php5 et activer le module php7 : ~~~ # a2dismod php5 # a2enmod php7.0 # service apache2 restart ~~~ La configuration spécifique d'Apache est maintenant faite dans les 2 fichiers _/etc/apache2/conf-available/z-evolinux-defaults.conf_ et _/etc/apache2/conf-available/zzz-evolinux-custom.conf_. Les fichiers de configuration standards tel que _apache.conf_ doivent donc être ceux de l'_upstream_ et les modifications éventuelles ajoutées dans _/etc/apache2/conf-available/zzz-evolinux-custom.conf_. ## PHPMyAdmin Il faut rajouter /usr/share/php/php-php-gettext a la directive open_basedir de /etc/phpmyadmin/apache.conf. ## Xorg `startx` ou `startxfce4` donne : `parse_vt_settings /dev/tty0 (permission denied)` Un contournement : `startxfce4 -- :1 vt1` ## Vim par défaut, si pas de `~/.vimrc` Vim charge plein de features moisies (mouse, etc.) décommenter dans `/etc/vim/vimrc` : `let g:skip_defaults_vim = 1` ## log2mail La configuration de `log2mail` est maintenant répartie dans plusieurs fichier dépendamment des services surveillés : _/etc/log2mail/config/mysql.conf_, _/etc/log2mail/config/apache_ et _/etc/log2mail/config/squid.conf_ `log2mail` est lancé par une unité systemd et non plus par un script sysV init, à mettre dans _/etc/systemd/system/log2mail.service_. ## sudo L'attribution des droits sudo des utilisateurs admin se fait à travers le groupe _evolinux-sudo_ (à créer). Le fichier _/etc/sudoers.d/evolinux_ est à mettre à jour en conséquence. Les utilisateurs admin sont aussi à ajouter au groupe _adm_. ## MySQL/MariaDB MariaDB est la version utilisée par défaut au lieu de Oracle MySQL. La configuration spécifique doit être faite dans les 2 fichiers de configuration _/etc/mysql/mariadb.conf.d/z-evolinux-defaults.cnf_ et _/etc/mysql/mariadb.conf.d/zzz-evolinux-custom.cnf_. Il faut également surcharger l'unité systemd de MariaDB, dans _/etc/systemd/system/mariadb.service.d/evolinux.conf_. > **Note** : C'est très important, notamment si vous avez un paramétrage qui utilise un chemin dans /home. ## PHP La configuration spécifique doit être faite dans les 2 fichiers de configuration _/etc/php/7.0/cli/conf.d/z-evolinux-defaults.ini_ et _/etc/php/7.0/cli/conf.d/zzz-evolinux-custom.ini_. Pour récupérer les anciennes configurations des pool FPM, il suffit simplement de les copier et de redémarrer le service `php7.0-fpm`. ~~~ # cp /etc/php5/fpm/pool.d/* /etc/php/7.0/fpm/pool.d/ ~~~ ## Squid La configuration est éclatée dans plusieurs fichier de configuration : _/etc/squid/evolinux-defaults.conf_, _/etc/squid/evolinux-defaults.conf_, _/etc/squid/evolinux-acl.conf_, _/etc/squid/evolinux-httpaccess.conf_ et _/etc/squid/evolinux-custom.conf_. La liste blanche des sites se trouve dans _/etc/squid/evolinux-whitelist-defaults.conf_ et _/etc/squid/evolinux-whitelist-custom.conf_. Il faut mettre à jour le fichier _/etc/default/squid_ pour que la directive _CONFIG_ pointe sur _/etc/squid/evolinux-defaults.conf_. Le fichier _squid.conf_ n'est plus utilisé du tout. ## OpenDKIM Le fichier `/etc/default/opendkim` n'est désormais plus pris en compte puisqu'OpenDKIM a son unité systemd. Les éventuelles directives présentent dans ce fichier, et notamment la socket, doivent se retrouver dans `/etc/opendkim.conf` : Par exemple, `SOCKET="inet:8889@127.0.0.1"` dans le fichier _default_ devient `Socket inet:8889@[127.0.0.1]` dans le fichier de conf. Pour les autres options, voir `opendkim.conf(5)`. L'option `PidFile` doit obligatoirement être présente dans la conf (ce n'est pas le cas par défaut), car l'unité systemd telle que fournie par Debian s'attend à ce que le fichier `/var/run/opendkim/opendkim.pid` soit présent. Autrement un `systemctl start opendkim` (ou équivalent sysV init) reste bloqué et finit par générer un timeout, bien que le process soit bien lancé : ``` PidFile /var/run/opendkim/opendkim.pid ``` ## Xchat -> hexchat Xchat2 est remplacé par hexchat. Pour conserver la configuration, **avant** de lancer hexchat, faire quelques manipulations du type : ~~~ $ cp -pr .xchat2/ .config/hexchat/ $ mv .config/hexchat/xchat.conf .config/hexchat/hexchat.conf $ mv .config/hexchat/xchat2logs .config/hexchat/logs ~~~ ## Evoadmin-web Pour mettre à jour vers la nouvelle version d'evoadmin-web, il faut se mettre sur la branche master et faire un git pull, avec l'utilisateur evoadmin: ~~~ $ su - evoadmin evoadmin@hostname:~$ git checkout master evoadmin@hostname:~$ git pull ~~~ Ensuite il faut ajouter un utilisateur, en éditant le fichier */home/evoadmin/www/conf/config.local.php*, avec la configuration suivante : ~~~ $localconf['logins']['foo'] = 'd5d3c723fb82cb0078f399888af7820d02e52751bb64597a8c20ebaba8ba4303'; ~~~ Il faut généré un sha256 pour le mot de passe avec la commande suivante : ~~~ $ echo -n password |sha256sum ~~~