wiki/HowtoDebian/MigrationJessieStretch.md

152 lines
5.4 KiB
Markdown
Raw Normal View History

2017-07-19 01:45:54 +02:00
---
categories: web
2017-09-12 14:18:42 +02:00
title: Howto Migration Jessie vers Stretch
2017-07-19 01:45:54 +02:00
...
Release Notes amd64 : <http://www.debian.org/releases/stretch/amd64/release-notes/>
2017-07-19 08:30:03 +02:00
## Actions préalables
Nous conseillons quelques actions qui aideront en cas de problème.
Sauvegarder localement certaines ressources (dans `/home/backup/jessie` par exemple)
~~~
# 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
2017-07-19 01:45:54 +02:00
É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) :
~~~
2017-09-12 19:44:24 +02:00
# apt-key adv --keyserver keyserver.ubuntu.com --recv 44975278B8612B5D
2017-07-19 01:45:54 +02:00
~~~
2017-09-12 19:44:24 +02:00
> *Note* : si cela ne semble pas suffisant, faire :
>
> ~~~
> # wget -O- "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x44975278B8612B5D" | apt-key add -
> ~~~
2017-07-19 01:45:54 +02:00
Puis mettre à jour le cache APT avec la commande :
~~~
# apt update
~~~
2017-05-18 16:52:36 +02:00
2017-07-19 08:11:15 +02:00
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
~~~
2017-08-23 14:09:44 +02:00
## Apt
2017-08-23 09:29:02 +02:00
2017-08-23 14:09:44 +02:00
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 :
2017-08-23 09:29:02 +02:00
~~~
2017-08-23 14:09:44 +02:00
chmod 755 /etc/apt /var/cache/apt
2017-08-23 09:29:02 +02:00
~~~
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é.
2017-09-12 17:29:25 +02:00
## Apache
Pour passer a PHP7, il faut désactiver le module php5 et activer le module php7 :
~~~
2017-09-12 17:31:59 +02:00
# a2dismod php5
# a2enmod php7.0
# service apache2 restart
2017-09-12 17:29:25 +02:00
~~~
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_.
2017-09-12 17:31:59 +02:00
## PHPMyAdmin
Il faut rajouter /usr/share/php/php-php-gettext a la directive open_basedir de /etc/phpmyadmin/apache.conf.
2017-08-23 14:09:44 +02:00
## Xorg
2017-05-18 16:52:36 +02:00
2017-07-19 08:48:50 +02:00
`startx` ou `startxfce4` donne : `parse_vt_settings /dev/tty0 (permission denied)`
2017-05-18 16:52:36 +02:00
2017-07-19 08:48:50 +02:00
Un contournement : `startxfce4 -- :1 vt1`
2017-05-18 16:52:36 +02:00
## Vim
2017-07-19 08:43:15 +02:00
par défaut, si pas de `~/.vimrc` Vim charge plein de features moisies (mouse, etc.)
2017-05-18 16:52:36 +02:00
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_.
## 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_.
## 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.