196 lines
7 KiB
Markdown
196 lines
7 KiB
Markdown
---
|
||
categories: web
|
||
title: Howto Migration Jessie vers Stretch
|
||
...
|
||
|
||
Release Notes amd64 : <http://www.debian.org/releases/stretch/amd64/release-notes/>
|
||
|
||
## 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
|
||
~~~
|