Taille: 3808
Commentaire:
|
Taille: 3845
Commentaire:
|
Texte supprimé. | Texte ajouté. |
Ligne 9: | Ligne 9: |
{i} Depuis la mise à jour de '''sudo''' de janvier 2006, les variables d'environement ne passent plus, on peut passer le CVSROOT et le EDITOR dans les arguments de cvs : '''cvs -d /var/lib/cvs -e jed''' (on peut mettre la commande '''alias cvs="sudo cvs -d /var/lib/cvs -e jed"''' dans les fichiers de conf du shell pour ne pas tapper ces arguments à chaque fois) | {i} Depuis la mise à jour de '''sudo''' de janvier 2006, les variables d'environnement ne passent plus, on peut passer le CVSROOT et le EDITOR dans les arguments de cvs : '''cvs -d /var/lib/cvs -e jed''' (on peut mettre la commande '''alias cvs="sudo cvs -d /var/lib/cvs -e jed"''' dans les fichiers de conf du shell pour ne pas taper ces arguments à chaque fois). |
Ligne 13: | Ligne 13: |
* "Commiter" un fichier, c'est à dire enregister ses modifications '''cvs commit <fichier>''' * Supprimer un fichier de l'archive : supprimer le fichier puis '''cvs remove <fichier>''' et enfin "commiter". |
* "Commiter" un fichier, c'est à dire enregistrer ses modifications : '''cvs commit <fichier>''' * Supprimer un fichier de l'archive : supprimer le fichier, puis '''cvs remove <fichier>''', et enfin "commiter". |
Ligne 18: | Ligne 18: |
Il faut tout d'abord un repository (lieu de stoquage des fichiers) sur la machine (exemple dans /var/cvsroot) {{{mkdir /var/cvsroot cvs -d /var/cvsroot init}}} |
Il faut tout d'abord un repository (lieu de stockage des fichiers) sur la machine (exemple dans /var/cvsroot) {{{ mkdir /var/cvsroot cvs -d /var/cvsroot init }}} |
Ligne 22: | Ligne 24: |
Pour simplifier il est ensuite conseillé d'utiliser la variable d'environnement CVSROOT=/var/cvsroot | Pour simplifier il est ensuite conseillé d'utiliser la variable d'environnement {{{CVSROOT=/var/cvsroot}}}. |
Ligne 24: | Ligne 26: |
Pour sauvegarder les fichiers interessants d'un répertoire (et sous répertoires) (/etc par exemple) : {{{mkdir /tmp/etc |
Pour sauvegarder les fichiers intéressants d'un répertoire (et sous-répertoires) (/etc par exemple) : {{{ mkdir /tmp/etc |
Ligne 39: | Ligne 42: |
{{{cvs add le_nouveau_truc_à_gerer_par_cvs | {{{ cvs add le_nouveau_truc_à_gérer_par_cvs |
Ligne 42: | Ligne 46: |
On n'oublie pas ensuire de faire un premier commit comme indiqué ci-aprés. | On n'oublie pas ensuite de faire un premier commit comme indiqué ci-après. |
Ligne 48: | Ligne 52: |
Il faut récupérer le script syncmail (http://sourceforge.net/projects/cvs-syncmail/), il est diponible en paquet debian. Il est necssaire d'avoir python sur la machine. | Il faut récupérer le script syncmail (http://sourceforge.net/projects/cvs-syncmail/), il est disponible en paquet Debian. Il est nécessaire d'avoir python sur la machine. |
Ligne 50: | Ligne 54: |
Une version patchée (attachment:syncmail_linux attachment:syncmail_openBSD) est utilisée sur nos serveurs de manière à indiquer le véritable auteur des commit dans le from du mail au lieu de root. | Une version patchée (attachment:syncmail_linux attachment:syncmail_openBSD) est utilisée sur nos serveurs de manière à indiquer le véritable auteur des commits dans le from du mail au lieu de root. |
Ligne 55: | Ligne 59: |
Il faut alors modifier le fichier '''/tmp/CVSROOT/loginfo''' et ajouter la ligne (lancer syncmail sans arguments pour voir les différentes options disponibles) | Il faut alors modifier le fichier '''/tmp/CVSROOT/loginfo''' et ajouter la ligne (lancer syncmail sans arguments pour voir les différentes options disponibles). |
Ligne 59: | Ligne 63: |
Editer si necessaire le fichier '''/tmp/CVSROOT/config''' de manière à ce qu'il contienne | Éditer si nécessaire le fichier '''/tmp/CVSROOT/config''' de manière à ce qu'il contienne : |
Ligne 61: | Ligne 65: |
{{{UseNewInfoFmtStrings=yes}}} | {{{ UseNewInfoFmtStrings=yes }}} |
Ligne 63: | Ligne 69: |
Cette opération permet d'éviter des déprecation warnings. | Cette opération permet d'éviter des deprecation warnings. |
Ligne 66: | Ligne 72: |
{{{sudo cvs commit /tmp/CVSROOT/loginfo sudo cvs commit /tmp/CVSROOT/config }}} |
{{{ sudo cvs commit /tmp/CVSROOT/loginfo sudo cvs commit /tmp/CVSROOT/config }}} |
Ligne 72: | Ligne 80: |
Il suffi de lancer le script attachment:mailWarn_dirtyEtc.sh ou attachment:mailWarn_dirtyEtc.py (ce dernier permet de choisir son serveur de mail) | Il suffi de lancer le script attachment:mailWarn_dirtyEtc.sh ou attachment:mailWarn_dirtyEtc.py (ce dernier permet de choisir son serveur de mail). |
Plusieurs personnes travaillant sur les serveurs, il est pratique de savoir qui modifie quoi et pourquoi. De plus garder un historique des configs est très utile.
Ces tâches seront gérées par CVS.
Le site web du Crans est également géré pas CVS. Plus de détails sur /CvsWeb.
Point de vue utilisateur
Depuis la mise à jour de sudo de janvier 2006, les variables d'environnement ne passent plus, on peut passer le CVSROOT et le EDITOR dans les arguments de cvs : cvs -d /var/lib/cvs -e jed (on peut mettre la commande alias cvs="sudo cvs -d /var/lib/cvs -e jed" dans les fichiers de conf du shell pour ne pas taper ces arguments à chaque fois).
Rajouter un sous-répertoire dans l'archive (seulement le répertoire, pas son contenu) : cvs add <rep>
Ajouter un fichier dans l'archive (le fichier doit se trouver dans un répertoire déja ajouté à l'archive) : cvs add <fichier> puis "commiter" le fichier.
"Commiter" un fichier, c'est à dire enregistrer ses modifications : cvs commit <fichier>
Supprimer un fichier de l'archive : supprimer le fichier, puis cvs remove <fichier>, et enfin "commiter".
Mise en place
Base
Il faut tout d'abord un repository (lieu de stockage des fichiers) sur la machine (exemple dans /var/cvsroot)
mkdir /var/cvsroot cvs -d /var/cvsroot init
Pour simplifier il est ensuite conseillé d'utiliser la variable d'environnement CVSROOT=/var/cvsroot.
Pour sauvegarder les fichiers intéressants d'un répertoire (et sous-répertoires) (/etc par exemple) :
mkdir /tmp/etc cd /tmp/etc cvs import nectaris_etc 'Crans' 'Nectaris' # Il est possible de mettre ce que l'on veut à la place de Crans et Nectaris cd / rm -rf /tmp/etc cvs checkout nectaris_etc # Un répertoire CVS sera alors créé dans /nectaris_etc mv nectaris_etc/CVS etc rm -rf nectaris_etc
C'est prêt, il n'y a plus qu'à ajouter et commiter les fichiers ou répertoires de son choix dans /etc
Ajouter des documents à CVS
cvs add le_nouveau_truc_à_gérer_par_cvs
On n'oublie pas ensuite de faire un premier commit comme indiqué ci-après.
Avertissement pour les commits : cvs-syncmail
A chaque commit un mail sera envoyé à (aux) adresses de son choix.
Il faut récupérer le script syncmail (http://sourceforge.net/projects/cvs-syncmail/), il est disponible en paquet Debian. Il est nécessaire d'avoir python sur la machine.
Une version patchée (attachment:syncmail_linux attachment:syncmail_openBSD) est utilisée sur nos serveurs de manière à indiquer le véritable auteur des commits dans le from du mail au lieu de root.
Il faut maintenant configurer CVS : {{{ cd /tmp cvs checkout CVSROOT}}} Il faut alors modifier le fichier /tmp/CVSROOT/loginfo et ajouter la ligne (lancer syncmail sans arguments pour voir les différentes options disponibles).
ALL /usr/scripts/syncmail -f <machin.crans.org> -m <serveur de mail> -qu "%s %V %v" <addresse@mail.org>
Éditer si nécessaire le fichier /tmp/CVSROOT/config de manière à ce qu'il contienne :
UseNewInfoFmtStrings=yes
Cette opération permet d'éviter des deprecation warnings.
Enfin, il faut commiter ces 2 fichiers modifiés :
sudo cvs commit /tmp/CVSROOT/loginfo sudo cvs commit /tmp/CVSROOT/config
Vérification si les fichiers sont synchros
Il suffi de lancer le script attachment:mailWarn_dirtyEtc.sh ou attachment:mailWarn_dirtyEtc.py (ce dernier permet de choisir son serveur de mail).
Il est astucieux de le croner tous les jours.
Lien utile
http://www.lifl.fr/~boulet/formation/syst-dist/exposes2003-2004/cvs/index.html (en français)