Modifications entre les versions 8 et 51 (s'étendant sur 43 versions)
Version 8 à la date du 2011-06-02 15:45:09
Taille: 4977
Éditeur: CalinDordia
Commentaire:
Version 51 à la date du 2015-12-18 10:48:07
Taille: 10599
Éditeur: MassambaGaye
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 1: Ligne 1:
<<TableOfContents()>>
Ligne 3: Ligne 4:
Cette page présente la migration de Debian Lenny (5.0) vers Debian Squeeze (6.0). Cette page présente la migration de Debian Squeeze (6.0) vers Debian Wheezy (7.x).

||<#ff0000> /!\ '''ATTENTION :''' Cette page concerne la migration d'un serveur Debian déjà en 64 bits. /!\ <<BR>> <<BR>> L'ARI demande maintenant à ce que tous les serveurs Debian soient installés en 64 bits (`amd64`). <<BR>> Or '''il n'est pas possible de changer d'architecture via une mise à jour standard'''. <<BR>> Si votre système est encore en 32 bits (`i386`), vous devriez plutôt envisager de le réinstaller. ||
Ligne 7: Ligne 10:
= Migration de Lenny vers Squeeze = = Migration de Squeeze vers Wheezy =
Ligne 12: Ligne 15:
 * lisez la section « Problèmes rencontrés lors de migrations » ci-dessous, /* en particulier les sections sur GIT et Asterisk qui sont */ à vérifier '''avant''' la migration  * lisez la section « Problèmes rencontrés lors de migrations » ci-dessous, à vérifier '''avant''' la migration
Ligne 18: Ligne 21:
 . /!\ Il faut '''absolument''' lire [[http://www.debian.org/releases/squeeze/i386/release-notes/ch-upgrading.fr|les notes de publications]]. Cela vous évitera la plupart des problèmes possibles. Si vous hésitez à mettre à jour un serveur en production, contactez d'abord la liste Tech@Auf afin que nous étudions ensemble les problèmes potentiels.  . /!\ Il faut '''absolument''' lire [[http://www.debian.org/releases/wheezy/amd64/release-notes/ch-upgrading.fr.html|les notes de publications]]. Cela vous évitera la plupart des problèmes possibles. Si vous hésitez à mettre à jour un serveur en production, contactez d'abord la liste Tech@Auf afin que nous étudions ensemble les problèmes potentiels.
Ligne 26: Ligne 29:
 * si ce n'est pas encore fait, ajoutez la nouvelle section `wheezy-updates` qui succède à `debian-volatile` à partir de Squeeze (voir la page [[Debian]]), puis lancez une mise à jour du système
Ligne 28: Ligne 32:
## == Suivi des modifications avec git ==
## * Étant donné les différences importantes entre git 1.4 et 1.5, le paquet `auf-git-etc` fixe maintenant des variables d'environnement `GIT_DIR` et `GIT_WORK_TREE` pour tous les utilisateurs dans le groupe `admin`.
## * Cela n'a en principe aucune conséquence pour la migration mais pourrait en avoir pour des utilisateurs ou scripts dans le groupe `admin` qui gérerait des dépôts autres que celui servant à suivre la racine. Mais a priori on ne devrait pas trouver ce cas particulier à l'AuF.
Ligne 34: Ligne 35:
== sudoers (pas vraiment un soucis, mais y faire attention) ==
Le fichier `/etc/sudoers` sera modifié, profitez-en pour mettre vos paramètres dans un fichier séparé, plutôt que dans `/etc/sudoers` : {{{
visudo -f /etc/sudoers.d/local
}}}
Ligne 36: Ligne 42:
''' /!\ ATTENTION /!\ ''' Ne surtout pas migrer un serveur asterisk, la configuration AuF n'est '''pas encore prête''' pour la version 1.6 qui vient avec Squeeze et '''le service VoIP ne fonctionnera plus du tout''' ! /!\ '''ATTENTION :''' Ne surtout pas migrer un serveur asterisk, la configuration AuF d'origine ayant été faite pour la version 1.4, '''le service VoIP ne fonctionnerait plus du tout''' !
Ligne 38: Ligne 44:
Cette page sera mise à jour quand la configuration AuF pour asterisk 1.6 sera disponible. En revanche, vous pouvez passer votre serveur VoIP sous Wheezy en le '''réinstallant'''.
Pour cela, contactez [[MoussaNombré]] pour l'informer de votre migration VoIP et suivez la procédure sur [[Projet/Asterisk1.8/ProcedureMiseEnPlace]].
Ligne 40: Ligne 47:
== snmpd == == MySQL ==
Ligne 42: Ligne 49:
Impossible de démarrer le service SNMP dans un conteneur OpenVZ ?!

Les journaux système indiquent ceci : {{{
Apr 19 23:02:25 jabber snmpd[709]: Turning on AgentX master support.
Apr 19 23:02:25 jabber snmpd[709]: Error opening specified endpoint "udp:161"
Apr 19 23:02:25 jabber snmpd[709]: Server Exiting with code 1
Il faut retirer la ligne suivante de la section `[mysqld]` du fichier `/etc/mysql/conf.d/local.cnf` '''avant''' de faire la mise à niveau : {{{
default-character-set = utf8
Ligne 50: Ligne 53:
== syslog-ng == Si vous avez oublié de le faire avant, la retirer puis lancer `apt-get install mysql-server` pour terminer son installation (qui aura été interrompue).
Ligne 52: Ligne 55:
Il vaut mieux passer à `rsyslog` qui est le nouveau standard. Mais si vous devez utiliser malgré tout `syslog-ng`, dans un environnement virtualisé, pensez à dé-commenter la ligne suivante dans `/etc/default/syslog-ng` : {{{
SYSLOGNG_OPTS="--no-caps"
== phpMyAdmin ==

/!\ Rappel : '''cet outil est fait pour les développeurs et ne devrait pas être installé sur un serveur web public en production'''. Si c'est le cas, le plus simple est de le désinstaller avant la migration.

phpMyAdmin utilise une base de données pour stocker ses infos. Lors de la migration, une option de mise à niveau (création de la base, etc.) est proposée, mais n'aboutit pas.
 * continuer la migration jusqu'au bout
 * la suite est bien expliquée sur votre interface web phpMyAdmin : ex. chez moi http://new-dev.auf/phpmyadmin/Documentation.html#linked-tables

== Dovecot ==

Il y a eu beaucoup de changements entre la version 1.2 (''squeeze'') et 2.0 (''wheezy'') . Il est recommandé de lire au préalable le fichier `/usr/share/doc/dovecot-core/README.Debian.gz` de la version 2.x.
 *MassambaGaye
 Pour dovecot, il faut d'abord sauvegarder l'ancien fichier dovecot.conf, puis la nouvelle version du fichier venant avec le paquet wheezy . Après quoi, vous restaurer le fichier dovecot.conf et relancer le service dovecot. Au redemarrage du servive vous aurez des warning concernant la nouvelle syntaxe mais il faudra juste recuperer la config avec la commande
{{{
doveconf -n > dovecot-new.conf
cp dovecot-new.conf dovecot.conf
}}}
== Calamaris ==

La génération des graphiques ne se fixe plus dans `/etc/cron.daily/calamaris` mais dans `/usr/lib/calamaris/calamaris-cron-script`, cf [[Squid#Statistiques_avec_calamaris|la config' de calamaris]].

== Munin ==

La config' Apache de Munin n'est plus automatiquement chargée via un lien dans `/etc/apache2/conf.d/munin`. Il faut maintenant faire un `Include /etc/munin/apache.conf` dans son !VirtualHost.

== Lshell ==

Erreur après passage à Wheezy : {{{
/etc/cron.daily/logrotate:
error: skipping "/var/log/lshell/*.log" because parent directory has insecure permissions (It's world writable or writable by group which is not "root") Set "su" directive in config file to tell logrotate which user/group should be used for rotation.
Ligne 56: Ligne 87:
= Notes à propos de auf-django-users =
Sur Squeeze, la version de python-django est la 1.2 et s'accompagne de quelques changements dans l'organisation des fichiers du paquet correspondant. Ainsi, pour permettre le chargement des fichiers statiques (js, css et html) permettant l'affichage correcte des pages web de auf-django-users, il faut modifier le fichier /etc/auf-django-users en remplacant les lignes
En attendant la correction du [[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=668776|bug]], ajouter la ligne `su nobody lshell` au fichier `/etc/logrotate.d/lshell`.

== Libvirt ==

L'activation de l'option `Activer le menu de démarrage` (catégorie `Boot Options` dans `virt-manager`) perturbe l'ordre des disques au démarrage : les disques IDE passent en premier, avant les VirtIO. Il peut alors arriver que la machine virtuelle ne démarre plus sur le bon disque (par exemple elle démarre sur l'image ISO d'installation).

'''Veiller à décocher cette option''' dans le cas de configuration comportant des disques IDE et VirtIO.

== Noyau OpenVZ ==

 * '''À CONFIRMER''' : possiblement des soucis avec libvirt et aussi avec certains drivers (DRM, firmware)
  * serveurs virtuels KVM qui ne s'arrêtent/démarrent pas correctement
  * plantage du noyau au démarrage

 * À chaque redémarrage le `resolv.conf` des CT est changé ; pour éviter cela, ajouter `exit 0` au début du fichier `/etc/vz/dists/scripts/set_dns.sh`, juste après la ligne `#!/bin/sh`

== Fusioninventory ==

 * lors de la mise à jour accepter le nouveau fichier du mainteneur
 * après la mise à jour, reconfigurer votre agent avec la commande suivante : `auf-inventaire-config`
 * supprimer l'ancien fichier : `rm /etc/fusioninventory/agent.cfg.ucf-old`

== Module Suhosin de PHP ==
Ligne 59: Ligne 112:
Alias /admin/media /usr/share/python-support/python-django/django/contrib/admin/media
<Directory /usr/share/python-support/python-django/django/contrib/admin/media/>
}}}
par
{{{
Alias /admin/media /usr/share/pyshared/django/contrib/admin/media
<Directory /usr/share/pyshared/django/contrib/admin/media/>
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525+lfs/suhosin.so' - /usr/lib/php5/20100525+lfs/suhosin.so: cannot open shared object file: No such file or directory in Unknown on line 0
Ligne 68: Ligne 115:
== mysql == Problème connu et mentionné dans [[http://www.debian.org/releases/wheezy/amd64/release-notes/ch-upgrading.fr.html#package-specific-issues|la section 4.5.8.3 des notes de publication]] : lancer `dpkg --purge php5-suhosin` pour nettoyer les restes de configuration du paquet supprimé.
Ligne 70: Ligne 117:
Dans la version 5.1 du mysql-server il n'est plus supporté BDB ou BerkeleyDB storage, donc il faut juste commenter la ligne skip-dbd dans /etc/mysql/my.cnf {i} Cette opération de purge est normalement à faire lors de la finalisation de la migration, donc ce problème ne devrait pas arriver.

== Paquet libapache2-mod-auth-mellon pour id.auf ==

Ce paquet n'est pas dans `wheezy` sur `apt.auf.org` mais plutôt dans `wheezy-backport`. Du coup il apparaît dans les paquets obsolètes/"sans source". Il faut juste ajouter la source suivante : `deb http://apt.auf.org/ wheezy-backports auf`

== Python, IPv6 et Postfix ==

Un script Python utilisant `smtplib.SMTP('localhost').sendmail(from, to, body)` ne fonctionnait plus suite à la migration. Le problème venait du fait que `localhost` était résolu en IPv6 et que Postfix n'autorisait pas le relais de message via l'adresse `[::1]`. Pour résoudre ce problème il a suffit de corriger le `master.cf` en y mettant `-o mynetworks=127.0.0.1,[::1]` là où c'était nécessaire.

== auf-django-users ==

En attendant la mise à jour de notre paquet `auf-django-user` pour Wheezy, il faut geler `python-django` à sa version de Squeeze '''1.2''' : {{{
auth-nfs:~# apt-mark hold python-django
}}}
Il arrive souvent que la commande ci-dessous ne marche pas, vous pouvez utiliser celle ci : {{{
echo "python-django hold" | dpkg --set-selections
}}}

Pour ceux qui n'auront pas fait ceci avant la migration, l'interface web de a-d-u ne sera plus accessible avec un message "internal error" et des traceback dans error.log d'Apache.
On est passé de `python-django` '''1.2''' à '''1.4''' avec notamment des [[https://docs.djangoproject.com/en/dev/internals/deprecation/#deprecation-removed-in-1-4|fonctions qui sont devenues obsolètes]].
La solution consiste à re-installer la version python-django de Squeeze (la 1.2) et à la geler en attendant la mise à jour de auf-django-user : {{{
auth-nfs:~# wget http://ftp.debian.org/debian/pool/main/p/python-django/python-django_1.2.3-3+squeeze10_all.deb
auth-nfs:~# dpkg -i python-django_1.2.3-3+squeeze10_all.deb
auth-nfs:~# apt-mark hold python-django
auth-nfs:~# service apache2 restart
}}}

== spamassassin ==

Il n'y a aucun problème connu dans la migration de `spamassassin`, s'il est bien installé « à la sauce Debian » dès le départ.

S'il avait été installé manuellement (typiquement dans `/usr/local/`) alors il faut le migrer (ou simplement le réinstaller) vers une installation basée sur les paquets Debian.

Merci de bien vouloir compléter ces informations avec vos Problèmes rencontrés lors de migrations en fin de page !

Cette page présente la migration de Debian Squeeze (6.0) vers Debian Wheezy (7.x).

/!\ ATTENTION : Cette page concerne la migration d'un serveur Debian déjà en 64 bits. /!\

L'ARI demande maintenant à ce que tous les serveurs Debian soient installés en 64 bits (amd64).
Or il n'est pas possible de changer d'architecture via une mise à jour standard.
Si votre système est encore en 32 bits (i386), vous devriez plutôt envisager de le réinstaller.

Pour connaître la technique conseillée pour installer Debian à l'AUF, consultez la page Debian.

Migration de Squeeze vers Wheezy

Commencez par vérifier que votre système est à jour !

  • vérifiez vos sources apt dans /etc/apt/sources.list

  • lancez apt-get update ; apt-get upgrade

  • intégrez les éventuels changements que vous trouverez avec find /etc -name "*.dpkg*" -o -name "*.ucf*"

  • lisez la section « Problèmes rencontrés lors de migrations » ci-dessous, à vérifier avant la migration

Suivez la procédure officielle de mise à jour !

  • /!\ Il faut absolument lire les notes de publications. Cela vous évitera la plupart des problèmes possibles. Si vous hésitez à mettre à jour un serveur en production, contactez d'abord la liste Tech@Auf afin que nous étudions ensemble les problèmes potentiels.

  • (!) Quand on vous propose de choisir entre votre ancienne configuration et celle proposée par Debian, dans la plupart des cas il est préférable de choisir cette dernière (celle de Debian) pour éviter une interruption de la mise à jour faute de configuration valide. Vous pourrez de toutes façons ré-intégrer vos modifications ensuite à partir des fichier .dpkg-old ou .ucf-old (ou de votre dernière sauvegarde).

  • /!\ Attention : il s'agit d'intégrer les modifications de l'ancienne configuration et non pas simplement recopier l'ancien fichier de configuration !

Finalisez la mise à jour

  • une nouvelle fois, intégrez les éventuels changements que vous trouverez avec find /etc -name "*.dpkg*" -o -name "*.ucf*"

  • cherchez s'il reste des paquets non-Debian : aptitude search ~i\!~Odebian

  • aptitude affichera la liste des paquets installés qui ne sont pas originels d'une archive Debian officielle

  • si ce n'est pas encore fait, ajoutez la nouvelle section wheezy-updates qui succède à debian-volatile à partir de Squeeze (voir la page Debian), puis lancez une mise à jour du système

Problèmes rencontrés lors de migrations : À LIRE AVANT DE MIGRER !!

sudoers (pas vraiment un soucis, mais y faire attention)

Le fichier /etc/sudoers sera modifié, profitez-en pour mettre vos paramètres dans un fichier séparé, plutôt que dans /etc/sudoers :

visudo -f /etc/sudoers.d/local

asterisk

/!\ ATTENTION : Ne surtout pas migrer un serveur asterisk, la configuration AuF d'origine ayant été faite pour la version 1.4, le service VoIP ne fonctionnerait plus du tout !

En revanche, vous pouvez passer votre serveur VoIP sous Wheezy en le réinstallant. Pour cela, contactez MoussaNombré pour l'informer de votre migration VoIP et suivez la procédure sur Projet/Asterisk1.8/ProcedureMiseEnPlace.

MySQL

Il faut retirer la ligne suivante de la section [mysqld] du fichier /etc/mysql/conf.d/local.cnf avant de faire la mise à niveau :

default-character-set = utf8

Si vous avez oublié de le faire avant, la retirer puis lancer apt-get install mysql-server pour terminer son installation (qui aura été interrompue).

phpMyAdmin

/!\ Rappel : cet outil est fait pour les développeurs et ne devrait pas être installé sur un serveur web public en production. Si c'est le cas, le plus simple est de le désinstaller avant la migration.

phpMyAdmin utilise une base de données pour stocker ses infos. Lors de la migration, une option de mise à niveau (création de la base, etc.) est proposée, mais n'aboutit pas.

Dovecot

Il y a eu beaucoup de changements entre la version 1.2 (squeeze) et 2.0 (wheezy) . Il est recommandé de lire au préalable le fichier /usr/share/doc/dovecot-core/README.Debian.gz de la version 2.x.

  • MassambaGaye Pour dovecot, il faut d'abord sauvegarder l'ancien fichier dovecot.conf, puis la nouvelle version du fichier venant avec le paquet wheezy . Après quoi, vous restaurer le fichier dovecot.conf et relancer le service dovecot. Au redemarrage du servive vous aurez des warning concernant la nouvelle syntaxe mais il faudra juste recuperer la config avec la commande

doveconf -n > dovecot-new.conf
cp dovecot-new.conf dovecot.conf

Calamaris

La génération des graphiques ne se fixe plus dans /etc/cron.daily/calamaris mais dans /usr/lib/calamaris/calamaris-cron-script, cf la config' de calamaris.

Munin

La config' Apache de Munin n'est plus automatiquement chargée via un lien dans /etc/apache2/conf.d/munin. Il faut maintenant faire un Include /etc/munin/apache.conf dans son VirtualHost.

Lshell

Erreur après passage à Wheezy :

/etc/cron.daily/logrotate:
error: skipping "/var/log/lshell/*.log" because parent directory has insecure permissions (It's world writable or writable by group which is not "root") Set "su" directive in config file to tell logrotate which user/group should be used for rotation.

En attendant la correction du bug, ajouter la ligne su nobody lshell au fichier /etc/logrotate.d/lshell.

Libvirt

L'activation de l'option Activer le menu de démarrage (catégorie Boot Options dans virt-manager) perturbe l'ordre des disques au démarrage : les disques IDE passent en premier, avant les VirtIO. Il peut alors arriver que la machine virtuelle ne démarre plus sur le bon disque (par exemple elle démarre sur l'image ISO d'installation).

Veiller à décocher cette option dans le cas de configuration comportant des disques IDE et VirtIO.

Noyau OpenVZ

  • À CONFIRMER : possiblement des soucis avec libvirt et aussi avec certains drivers (DRM, firmware)

    • serveurs virtuels KVM qui ne s'arrêtent/démarrent pas correctement
    • plantage du noyau au démarrage
  • À chaque redémarrage le resolv.conf des CT est changé ; pour éviter cela, ajouter exit 0 au début du fichier /etc/vz/dists/scripts/set_dns.sh, juste après la ligne #!/bin/sh

Fusioninventory

  • lors de la mise à jour accepter le nouveau fichier du mainteneur
  • après la mise à jour, reconfigurer votre agent avec la commande suivante : auf-inventaire-config

  • supprimer l'ancien fichier : rm /etc/fusioninventory/agent.cfg.ucf-old

Module Suhosin de PHP

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525+lfs/suhosin.so' - /usr/lib/php5/20100525+lfs/suhosin.so: cannot open shared object file: No such file or directory in Unknown on line 0

Problème connu et mentionné dans la section 4.5.8.3 des notes de publication : lancer dpkg --purge php5-suhosin pour nettoyer les restes de configuration du paquet supprimé.

{i} Cette opération de purge est normalement à faire lors de la finalisation de la migration, donc ce problème ne devrait pas arriver.

Paquet libapache2-mod-auth-mellon pour id.auf

Ce paquet n'est pas dans wheezy sur apt.auf.org mais plutôt dans wheezy-backport. Du coup il apparaît dans les paquets obsolètes/"sans source". Il faut juste ajouter la source suivante : deb http://apt.auf.org/ wheezy-backports auf

Python, IPv6 et Postfix

Un script Python utilisant smtplib.SMTP('localhost').sendmail(from, to, body) ne fonctionnait plus suite à la migration. Le problème venait du fait que localhost était résolu en IPv6 et que Postfix n'autorisait pas le relais de message via l'adresse [::1]. Pour résoudre ce problème il a suffit de corriger le master.cf en y mettant -o mynetworks=127.0.0.1,[::1] là où c'était nécessaire.

auf-django-users

En attendant la mise à jour de notre paquet auf-django-user pour Wheezy, il faut geler python-django à sa version de Squeeze 1.2 :

auth-nfs:~# apt-mark hold python-django

Il arrive souvent que la commande ci-dessous ne marche pas, vous pouvez utiliser celle ci :

echo "python-django hold" | dpkg --set-selections

Pour ceux qui n'auront pas fait ceci avant la migration, l'interface web de a-d-u ne sera plus accessible avec un message "internal error" et des traceback dans error.log d'Apache. On est passé de python-django 1.2 à 1.4 avec notamment des fonctions qui sont devenues obsolètes. La solution consiste à re-installer la version python-django de Squeeze (la 1.2) et à la geler en attendant la mise à jour de auf-django-user :

auth-nfs:~# wget http://ftp.debian.org/debian/pool/main/p/python-django/python-django_1.2.3-3+squeeze10_all.deb
auth-nfs:~# dpkg -i python-django_1.2.3-3+squeeze10_all.deb
auth-nfs:~# apt-mark hold python-django
auth-nfs:~# service apache2  restart

spamassassin

Il n'y a aucun problème connu dans la migration de spamassassin, s'il est bien installé « à la sauce Debian » dès le départ.

S'il avait été installé manuellement (typiquement dans /usr/local/) alors il faut le migrer (ou simplement le réinstaller) vers une installation basée sur les paquets Debian.


Debian/Wheezy (dernière édition le 2018-12-16 02:19:32 par JeanChristopheAndré)