Page suivante Page précédente Table des matières

10. Maintenance

C'est le travail de l'ingénieur système de garder un oeil sur les disques et les partitions. Si une partition est pleine, le système aura des dysfonctionnements, quelle que soit la place libre sur les autres partitions.

Pour voir la liste des partitions actuellement montées, avec le point de montage et le pourcentage de place libre, taper df. Cela doit être fait régulièrement, par exemple avec une crontab.

Les partitions de swap peuvent être surveillées avec les outils de statistique de la mémoire comme free, procinfo ou top.

Surveiller l'usage des disques est plus délicat mais c'est important pour les performances. Il faut éviter que le même disque soit sollicité tout le temps quand d'autres sont inactifs.

Il est important quand on installe un logiciel de savoir précisément où vont les fichiers. Ainsi, pour des raisons historiques, GCC qui met des exécutables dans les répertoires de librairie. On peut aussi mentionner X11 dont la structure est très complexe.

Lorsque votre système est au bord de l'asphyxie il est temps de faire la chasse aux fichiers temporaires, fichiers de log, fichiers core et autres. Un bon usage de ulimit dans les paramètres globaux du shell peut vous aider à éviter d'avoir des fichiers core un peu partout.

10.1 Sauvegarde

Le lecteur attentif aura remarqué les allusions répétés à l'utilité des sauvegardes. Les films d'horreur sont nombreux où l'on parle d'accidents et de ce qui est arrivé aux personnes responsables quand la sauvegarde s'est avérée inutilisable, voire inexistante. Il est en général plus simple d'investir dans des moyens de sauvegarde décents que de se trouver une seconde identité ...

Il y a de nombreuses possibilités, et un mini-HOWTO ( Backup-With-MSDOS ) détaille tout ce que vous devez savoir, en plus d'informations spécifiques à MSDOS.

En plus de faire des sauvegardes, vous devez vous assurer que vous pouvez retrouver les données. Les données écrites ne sont pas toujours correctes, et de nombreux administrateurs systèmes ont un jour commencé à restaurer le système après un accident, joyeux à la pensée que tout marchait, lorsqu'ils découvrirent avec horreur que les sauvegardes n'étaient pas utilisables. Soyez prudents.

10.2 Défragmentation

Cela varie beaucoup selon le système de fichiers. Certains souffrent d'une défragmentation rapide et presque paralysante. Heureusement ce n'est pas le cas de ext2fs et c'est pourquoi on a très peu parlé des outils de défragmentation. En fait, il en existe, mais il est rare qu'on en aie même le besoin.

Si vous voulez le faire pour une raison ou pour une autre, le moyen simple et rapide est de faire une sauvegarde puis une récupération. Si cela ne concerne qu'une petite partie des fichiers, pas exemple les répertoires utilisateurs, vous pouvez le tar-er dans une zone temporaire sur une autre partition, vérifier l'archive, effacer l'orignial et le dé-tar-er.

10.3 Effacement

Le plus souvent le manque de place est résolu par l'effacement des fichiers inutiles qui s'accumulent. Les programmes qui ne terminent pas normalement laissent toutes sortes de trucs traîner aux endroits les plus bizarres. Normalement un fichier appelé core est créé en cas de plantage d'un programme. Il ne sert qu'à deboguer, donc vous pouvez l'effacer si vous ne comptez pas déboguer. Ces fichiers peuvent se trouver n'importe où dont il est recommandé de les chercher de façon globale. (ndT: find / -name core devrait marcher)

L'arrêt prématuré des programmes laisse aussi des fichiers temporaires dans des répertoires comme /tmp ou /var/tmp, fichiers qui auraient été effacés si le programme avait terminé normalement. Ces répertoires sont en général nettoyés au démarrage, mais si vous ne redémarrez jamais ils peuvent finir par être plein de vieux trucs. N'effacez pas les fichiers aveuglément. Des utilitaires comme find et file peuvent vous servir à localiser les fichiers plus vieux que telle date et à connaître le type d'un fichier.

Beaucoup de choses sont archivés lorsque le système fonctionne, en particulier dans le répertoire /var/log. Les messages du noyau sont mis dans /var/log/messages qui a une certaine tendance à grossir avec le temps. Il peut être bon d'avoir une petite archive de ce fichier pour pouvoir le comparer avec les messages du noyau si le système commence à se comporter bizarrement.

Si le courrier ou les news ne fonctionnent pas correctement, c'est peut-être dû à une croissance excessive de /var/spool/mail et /var/spool/news. Faites attention aux fichiers dont le nom commence par ".", il ne sont pas affichés par ls -l, c'est pourquoi on recommande d'utiliser plutôt ls -Al.

Le dépassement de capacité des répertoires utilisateurs est une question délicate. De véritables guerres ont déjà eu lieu entre utilisateurs et administrateurs à ce sujet. Le tact, la diplomatie et un budget généreux pour de nouveaux disques sont les solutions. En utilisant le mot-du-jour, un petit message dans le fichier /etc/motd qui est affiché chaque fois qu'un utilisateur se loggue, on peut sensibiliser les utilisateurs. Mettre les bonnes valeurs par défaut pour empêcher les fichiers core d'être produits épargne bien du travail.

Certaines personnes essayent de cacher les fichiers, en utilisant le fait que les fichiers dont le nom commence par un point ne sont pas visibles pour la comande ls. Un exemple classique est ... qui n'est donc pas vu par ls et passe inaperçu à côté de . et .. si on fait ls -al. La solution est de faire ls -Al qui affiche tous les fichiers sauf . et ..

10.4 Mises à jour

Quelle que soit la taille de vos disque, ce sera un jour trop petit. Actuellement ce sont les disques de 6.4 Go qui offrent le meilleur rapport place/prix.

Avec des disques IDE vous aurez peut-être à enlever un vieux disque, le nombre total étant limité à 2 ou 4. Avec le SCSI vous pouvez avoir jusqu'à 7 disques en 8-bit et 15 en 16-bit (wide SCSI) par canal. Mais certains adaptateurs ont plusieurs canaux et qu'on peut mettre plusieurs adaptateurs. Mon point de vue est qu'avec le SCSI on est plus content sur le long terme.

Et maintenant la question bateau, que faire de ce nouveau disque ? Souvent c'est pour étendre les queues qu'on a dû étendre, donc la solution simple est de monter les nouveaux disques dans /var/spool. D'un autre côté les nouveaux disques étant plus rapides, c'est peut-être l'occasion de revoir tout en profondeur.

Si la mise à jour est rendue indispensable par le manque de place dans /usr ou /var elle est un peu plus complexe. Vous pouvez envisager la réinstallation complète de la toute dernière version de votre distribution préférée. Dans ce cas faites très attention à ne pas écraser vos réglages essentiels. Les fichiers de configuration sont pour la plupart dans le répertoire /etc. Procéder avec soin, avec une sauvegarde récente et des disquettes de sauvetage qui marchent. Une autre possibilité que la réinstallation est de simplement copier le vieux répertoire vers le nouveau, qui est monté sur un point de montage provisoire. Puis éditer le fichier /etc/fstab pour que le chemin du répertoire pointe vers la nouveau, et redémarrez. Si le démarrage échoue, vous pouvez redémarrer avec une disquette de secours, éditer à nouveau /etc/fstab et réessayer.

Tant qu'il n'y aura pas de logiciel de gestion de volume pour Linux ça restera à la fois complexe et dangereux. Ne soyez pas surpris si vous découvrez que vous devez restaurer le système d'après une sauvegarde.

Le Tips-HOWTO donne l'exemple suivant pour déplacer toute une structure de répertoire:


(cd /source/directory; tar cf - . ) | (cd /dest/directory; tar xvfp -)

Ça marchera sur la plupart des systèmes Unix. Attention aux répertoires dont la structure arborescente est trop profonde, elle peut faire échouer un tar autre que GNU tar.

Si vous avez accès à GNU cp (c'est toujours le cas sous Linux) vous pouvez aussi bien utiliser


cp -av /source/directory /dest/directory

GNU cp sait se débrouiller avec les liens symboliques, les FIFO et les fichiers de périphériques et les copier correctement.

Rappelez-vous que ce n'est jamais une bonne idée de transférer /dev ou /proc


Page suivante Page précédente Table des matières