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.
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.
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.
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 ..
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